diff --git a/src/main/java/com/syncleus/aparapi/Config.java b/src/main/java/com/syncleus/aparapi/Config.java
index 30bea6b53fd28b33925a96472f982a5499a80ec1..186d61a4fdf89b0502e4198a3ea8f0713c9b4a45 100644
--- a/src/main/java/com/syncleus/aparapi/Config.java
+++ b/src/main/java/com/syncleus/aparapi/Config.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 /*
 Copyright (c) 2010-2011, Advanced Micro Devices, Inc.
 All rights reserved.
diff --git a/src/main/java/com/syncleus/aparapi/Kernel.java b/src/main/java/com/syncleus/aparapi/Kernel.java
index 423261e030027c3a768cb6aa145235ea52059b7c..1d87e1c85bc29a29f688944e44d11248fac8e6cd 100644
--- a/src/main/java/com/syncleus/aparapi/Kernel.java
+++ b/src/main/java/com/syncleus/aparapi/Kernel.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 /*
 Copyright (c) 2010-2011, Advanced Micro Devices, Inc.
 All rights reserved.
diff --git a/src/main/java/com/syncleus/aparapi/ProfileInfo.java b/src/main/java/com/syncleus/aparapi/ProfileInfo.java
index 7d550d7a8d5da3f39d9351331325cea12d64f18d..fdb7ec8d0a5c96780904b724b144affed2c1e85c 100644
--- a/src/main/java/com/syncleus/aparapi/ProfileInfo.java
+++ b/src/main/java/com/syncleus/aparapi/ProfileInfo.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 /*
 Copyright (c) 2010-2011, Advanced Micro Devices, Inc.
 All rights reserved.
diff --git a/src/main/java/com/syncleus/aparapi/Range.java b/src/main/java/com/syncleus/aparapi/Range.java
index 20a0df32e46f0f8bd0f7efa950fc0e0824d97c1e..f451fad4c94cec00bef9a257e7bda22cada69c1f 100644
--- a/src/main/java/com/syncleus/aparapi/Range.java
+++ b/src/main/java/com/syncleus/aparapi/Range.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package com.syncleus.aparapi;
 
 import com.syncleus.aparapi.device.*;
diff --git a/src/main/java/com/syncleus/aparapi/annotation/Experimental.java b/src/main/java/com/syncleus/aparapi/annotation/Experimental.java
index c0445be43028133be80a9101b0a518fd77a9894a..4cfd4ad7b53a3e8518dcc242842c5b7fac92ecb3 100644
--- a/src/main/java/com/syncleus/aparapi/annotation/Experimental.java
+++ b/src/main/java/com/syncleus/aparapi/annotation/Experimental.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package com.syncleus.aparapi.annotation;
 
 /**
diff --git a/src/main/java/com/syncleus/aparapi/annotation/package-info.java b/src/main/java/com/syncleus/aparapi/annotation/package-info.java
index cffeddc2e60c91a5ff6a4d1d9395ead57f89a1ad..1265249a52584098568ddf0b550bbbadaec2891a 100644
--- a/src/main/java/com/syncleus/aparapi/annotation/package-info.java
+++ b/src/main/java/com/syncleus/aparapi/annotation/package-info.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 /**
  *
  */
diff --git a/src/main/java/com/syncleus/aparapi/device/Device.java b/src/main/java/com/syncleus/aparapi/device/Device.java
index 27c88dec1487db887beb049581a54d2f43a59da4..8a8eccb1e7ec00af3b3f8579967f44bc1a41cebe 100644
--- a/src/main/java/com/syncleus/aparapi/device/Device.java
+++ b/src/main/java/com/syncleus/aparapi/device/Device.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package com.syncleus.aparapi.device;
 
 import com.syncleus.aparapi.*;
diff --git a/src/main/java/com/syncleus/aparapi/device/JavaDevice.java b/src/main/java/com/syncleus/aparapi/device/JavaDevice.java
index 9bdf317de263a0f8738c830e5457ed7a8ca4c0fd..08e08ac67830d20df205806d546f0227ecd97757 100644
--- a/src/main/java/com/syncleus/aparapi/device/JavaDevice.java
+++ b/src/main/java/com/syncleus/aparapi/device/JavaDevice.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package com.syncleus.aparapi.device;
 
 public class JavaDevice extends Device {
diff --git a/src/main/java/com/syncleus/aparapi/device/OpenCLDevice.java b/src/main/java/com/syncleus/aparapi/device/OpenCLDevice.java
index 4448d9269c3de2223b0f613a267ce69467c2d27a..37ddf8b0bf6d677ced8f3d7a74fc9e5c50a3cb62 100644
--- a/src/main/java/com/syncleus/aparapi/device/OpenCLDevice.java
+++ b/src/main/java/com/syncleus/aparapi/device/OpenCLDevice.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package com.syncleus.aparapi.device;
 
 import com.syncleus.aparapi.*;
diff --git a/src/main/java/com/syncleus/aparapi/device/package-info.java b/src/main/java/com/syncleus/aparapi/device/package-info.java
index 019c5f056c8bb3f19fcbe000ca99b5eb3ea0df6a..c1bd31261a3ebcafded8919c2b1c6f4031a2c521 100644
--- a/src/main/java/com/syncleus/aparapi/device/package-info.java
+++ b/src/main/java/com/syncleus/aparapi/device/package-info.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 /**
  * Contains classes representing OpenCL-capable devices, and "virtual" (java) devices which execute kernels using java.
  *
diff --git a/src/main/java/com/syncleus/aparapi/exception/DeprecatedException.java b/src/main/java/com/syncleus/aparapi/exception/DeprecatedException.java
index 17087e3fee4d67e76530f0cc3c2bf682c6063c70..62db0f0a73171dd0e92ea0391e4469648853e56c 100644
--- a/src/main/java/com/syncleus/aparapi/exception/DeprecatedException.java
+++ b/src/main/java/com/syncleus/aparapi/exception/DeprecatedException.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 /*
 Copyright (c) 2010-2011, Advanced Micro Devices, Inc.
 All rights reserved.
diff --git a/src/main/java/com/syncleus/aparapi/exception/package-info.java b/src/main/java/com/syncleus/aparapi/exception/package-info.java
index d3947b90e2f25db9fb3e78a7ce957e77167bd761..c96396e15f60f3fd97be709a00e5684ad0cb8fb5 100644
--- a/src/main/java/com/syncleus/aparapi/exception/package-info.java
+++ b/src/main/java/com/syncleus/aparapi/exception/package-info.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 /**
  *
  */
diff --git a/src/main/java/com/syncleus/aparapi/internal/annotation/DocMe.java b/src/main/java/com/syncleus/aparapi/internal/annotation/DocMe.java
index b7666a6757665bd10f21b668ac761f62d86b69d4..2363c4db3c623d3e27ff3a9b148abe8b04f5116b 100644
--- a/src/main/java/com/syncleus/aparapi/internal/annotation/DocMe.java
+++ b/src/main/java/com/syncleus/aparapi/internal/annotation/DocMe.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package com.syncleus.aparapi.internal.annotation;
 
 /**
diff --git a/src/main/java/com/syncleus/aparapi/internal/annotation/RemoveMe.java b/src/main/java/com/syncleus/aparapi/internal/annotation/RemoveMe.java
index c81e7f6a2e086d40cbe5f36f3ef90379ebefb65b..451dac7b0c71a3b177e1b636dc14390bf043ad05 100644
--- a/src/main/java/com/syncleus/aparapi/internal/annotation/RemoveMe.java
+++ b/src/main/java/com/syncleus/aparapi/internal/annotation/RemoveMe.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package com.syncleus.aparapi.internal.annotation;
 
 /**
diff --git a/src/main/java/com/syncleus/aparapi/internal/annotation/Unused.java b/src/main/java/com/syncleus/aparapi/internal/annotation/Unused.java
index 218a8e69fa9e0b6fc7f88c2f8af5e12462afc4f5..00db9d7a9747333c8263ec7ae0e9492a8939700b 100644
--- a/src/main/java/com/syncleus/aparapi/internal/annotation/Unused.java
+++ b/src/main/java/com/syncleus/aparapi/internal/annotation/Unused.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package com.syncleus.aparapi.internal.annotation;
 
 /**
diff --git a/src/main/java/com/syncleus/aparapi/internal/annotation/UsedByJNICode.java b/src/main/java/com/syncleus/aparapi/internal/annotation/UsedByJNICode.java
index ffaa49260b5f6a1cdb9e250dd8ff0e9fa302328c..745726318e0bc05bf83ea891651600034223a009 100644
--- a/src/main/java/com/syncleus/aparapi/internal/annotation/UsedByJNICode.java
+++ b/src/main/java/com/syncleus/aparapi/internal/annotation/UsedByJNICode.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package com.syncleus.aparapi.internal.annotation;
 
 /**
diff --git a/src/main/java/com/syncleus/aparapi/internal/exception/AparapiException.java b/src/main/java/com/syncleus/aparapi/internal/exception/AparapiException.java
index 37ab954a983a94a0db0c90eb69bc1b146aa40e87..9e77d87368dd89c1b90289d69e688f1e53630f9c 100644
--- a/src/main/java/com/syncleus/aparapi/internal/exception/AparapiException.java
+++ b/src/main/java/com/syncleus/aparapi/internal/exception/AparapiException.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 /*
 Copyright (c) 2010-2011, Advanced Micro Devices, Inc.
 All rights reserved.
diff --git a/src/main/java/com/syncleus/aparapi/internal/exception/ClassParseException.java b/src/main/java/com/syncleus/aparapi/internal/exception/ClassParseException.java
index e360baf507862493f3ed315b3604890926379313..9114a3bf4070990db9cd4eb3afb901bdee11fcc2 100644
--- a/src/main/java/com/syncleus/aparapi/internal/exception/ClassParseException.java
+++ b/src/main/java/com/syncleus/aparapi/internal/exception/ClassParseException.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 /*
 Copyright (c) 2010-2011, Advanced Micro Devices, Inc.
 All rights reserved.
diff --git a/src/main/java/com/syncleus/aparapi/internal/exception/CodeGenException.java b/src/main/java/com/syncleus/aparapi/internal/exception/CodeGenException.java
index 16dea8be8d651124b08c2951dafb697f1baced93..f529d1335153fa61766d0ffed6ac2e2c62ef17b5 100644
--- a/src/main/java/com/syncleus/aparapi/internal/exception/CodeGenException.java
+++ b/src/main/java/com/syncleus/aparapi/internal/exception/CodeGenException.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 /*
 Copyright (c) 2010-2011, Advanced Micro Devices, Inc.
 All rights reserved.
diff --git a/src/main/java/com/syncleus/aparapi/internal/exception/RangeException.java b/src/main/java/com/syncleus/aparapi/internal/exception/RangeException.java
index 7ff8fe92b34dd3689059bedb49adc0a7a9367ce5..30633a02afd2fb9c9abff6e336a73900965c03b1 100644
--- a/src/main/java/com/syncleus/aparapi/internal/exception/RangeException.java
+++ b/src/main/java/com/syncleus/aparapi/internal/exception/RangeException.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 /*
 Copyright (c) 2010-2011, Advanced Micro Devices, Inc.
 All rights reserved.
diff --git a/src/main/java/com/syncleus/aparapi/internal/instruction/BranchSet.java b/src/main/java/com/syncleus/aparapi/internal/instruction/BranchSet.java
index 729ee4a7d789f1841367d38237b5b80223f739dd..46816933820b1d3ab67f5192d29ea857d99d0f5b 100644
--- a/src/main/java/com/syncleus/aparapi/internal/instruction/BranchSet.java
+++ b/src/main/java/com/syncleus/aparapi/internal/instruction/BranchSet.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 /*
 Copyright (c) 2010-2011, Advanced Micro Devices, Inc.
 All rights reserved.
diff --git a/src/main/java/com/syncleus/aparapi/internal/instruction/ExpressionList.java b/src/main/java/com/syncleus/aparapi/internal/instruction/ExpressionList.java
index 5750c7e6a9813de95d8700edd96980616ca1bdf4..2366e62c72589e9be651f578d731e2255731109e 100644
--- a/src/main/java/com/syncleus/aparapi/internal/instruction/ExpressionList.java
+++ b/src/main/java/com/syncleus/aparapi/internal/instruction/ExpressionList.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 /*
 Copyright (c) 2010-2011, Advanced Micro Devices, Inc.
 All rights reserved.
diff --git a/src/main/java/com/syncleus/aparapi/internal/instruction/Instruction.java b/src/main/java/com/syncleus/aparapi/internal/instruction/Instruction.java
index d61652cf4a144bca2001493304bf885c78c9d9d7..a04148a84442ff44a92456d1ab2af0810cae40f2 100644
--- a/src/main/java/com/syncleus/aparapi/internal/instruction/Instruction.java
+++ b/src/main/java/com/syncleus/aparapi/internal/instruction/Instruction.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 /*
 Copyright (c) 2010-2011, Advanced Micro Devices, Inc.
 All rights reserved.
diff --git a/src/main/java/com/syncleus/aparapi/internal/instruction/InstructionPattern.java b/src/main/java/com/syncleus/aparapi/internal/instruction/InstructionPattern.java
index f954b565d27650dcc9e7a90d3e5941bba96cee1a..646476231421f9e24fcfc25cf3d73d3f312e1ec3 100644
--- a/src/main/java/com/syncleus/aparapi/internal/instruction/InstructionPattern.java
+++ b/src/main/java/com/syncleus/aparapi/internal/instruction/InstructionPattern.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 /*
 Copyright (c) 2010-2011, Advanced Micro Devices, Inc.
 All rights reserved.
diff --git a/src/main/java/com/syncleus/aparapi/internal/instruction/InstructionSet.java b/src/main/java/com/syncleus/aparapi/internal/instruction/InstructionSet.java
index cbd84a90387cc2f0bf4fb286ab6d0fbd2f445737..e9bc0fccc4f0bc95d057f542dd5ef44455a38084 100644
--- a/src/main/java/com/syncleus/aparapi/internal/instruction/InstructionSet.java
+++ b/src/main/java/com/syncleus/aparapi/internal/instruction/InstructionSet.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 /*
 Copyright (c) 2010-2011, Advanced Micro Devices, Inc.
 All rights reserved.
diff --git a/src/main/java/com/syncleus/aparapi/internal/instruction/InstructionTransformer.java b/src/main/java/com/syncleus/aparapi/internal/instruction/InstructionTransformer.java
index d6f259fe872feeabe8c091f56eefa236a626ed24..3cc3a87cdcdde513b68e6aaf00f98648515c5785 100644
--- a/src/main/java/com/syncleus/aparapi/internal/instruction/InstructionTransformer.java
+++ b/src/main/java/com/syncleus/aparapi/internal/instruction/InstructionTransformer.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 /*
 Copyright (c) 2010-2011, Advanced Micro Devices, Inc.
 All rights reserved.
diff --git a/src/main/java/com/syncleus/aparapi/internal/jni/ConfigJNI.java b/src/main/java/com/syncleus/aparapi/internal/jni/ConfigJNI.java
index 9d6bd15f68130e8dfbc29a1ee7729ef4bdb6a145..9577ce7c2c489c0380b8ac23df47403200af3661 100644
--- a/src/main/java/com/syncleus/aparapi/internal/jni/ConfigJNI.java
+++ b/src/main/java/com/syncleus/aparapi/internal/jni/ConfigJNI.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package com.syncleus.aparapi.internal.jni;
 
 import com.syncleus.aparapi.Config;
diff --git a/src/main/java/com/syncleus/aparapi/internal/jni/KernelArgJNI.java b/src/main/java/com/syncleus/aparapi/internal/jni/KernelArgJNI.java
index 9b17bd7ebb4a6ed05be63ed6a9dd2bcfec24fed7..a576736e0b8f67fbb6871bc3835ad840c15075f6 100644
--- a/src/main/java/com/syncleus/aparapi/internal/jni/KernelArgJNI.java
+++ b/src/main/java/com/syncleus/aparapi/internal/jni/KernelArgJNI.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package com.syncleus.aparapi.internal.jni;
 
 import com.syncleus.aparapi.internal.annotation.*;
diff --git a/src/main/java/com/syncleus/aparapi/internal/jni/KernelRunnerJNI.java b/src/main/java/com/syncleus/aparapi/internal/jni/KernelRunnerJNI.java
index 1a40d8d48b68f89d86f3e11e6ba3e86b372b8020..1637632fd2616959013131d27ccf42577c6aa04b 100644
--- a/src/main/java/com/syncleus/aparapi/internal/jni/KernelRunnerJNI.java
+++ b/src/main/java/com/syncleus/aparapi/internal/jni/KernelRunnerJNI.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package com.syncleus.aparapi.internal.jni;
 
 import com.syncleus.aparapi.Kernel;
diff --git a/src/main/java/com/syncleus/aparapi/internal/jni/OpenCLJNI.java b/src/main/java/com/syncleus/aparapi/internal/jni/OpenCLJNI.java
index f546b6b2718289bacc36f198da02cf3ff3f7c3d6..02a34f08144e0f55b695b474cc741b270898ff3f 100644
--- a/src/main/java/com/syncleus/aparapi/internal/jni/OpenCLJNI.java
+++ b/src/main/java/com/syncleus/aparapi/internal/jni/OpenCLJNI.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package com.syncleus.aparapi.internal.jni;
 
 import com.syncleus.aparapi.ProfileInfo;
diff --git a/src/main/java/com/syncleus/aparapi/internal/jni/RangeJNI.java b/src/main/java/com/syncleus/aparapi/internal/jni/RangeJNI.java
index e2e24dc5d159c3c2664c28d94d97a3215ca21df6..03b07aab17dc92cf44588d342fcade707b643902 100644
--- a/src/main/java/com/syncleus/aparapi/internal/jni/RangeJNI.java
+++ b/src/main/java/com/syncleus/aparapi/internal/jni/RangeJNI.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package com.syncleus.aparapi.internal.jni;
 
 import com.syncleus.aparapi.internal.annotation.UsedByJNICode;
diff --git a/src/main/java/com/syncleus/aparapi/internal/kernel/KernelArg.java b/src/main/java/com/syncleus/aparapi/internal/kernel/KernelArg.java
index d9be092bad3c359e1ea245256bae4974bf9c07c1..c6746072f70695702ebfb0b77105bbe6822fb878 100644
--- a/src/main/java/com/syncleus/aparapi/internal/kernel/KernelArg.java
+++ b/src/main/java/com/syncleus/aparapi/internal/kernel/KernelArg.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package com.syncleus.aparapi.internal.kernel;
 
 import com.syncleus.aparapi.internal.jni.*;
diff --git a/src/main/java/com/syncleus/aparapi/internal/kernel/KernelDeviceProfile.java b/src/main/java/com/syncleus/aparapi/internal/kernel/KernelDeviceProfile.java
index 5c2cb7fa98b522594f2d3ab079c7a34dd1aa8e5c..f02c6c4ba809009fa1ce18227ba9c079fe827702 100644
--- a/src/main/java/com/syncleus/aparapi/internal/kernel/KernelDeviceProfile.java
+++ b/src/main/java/com/syncleus/aparapi/internal/kernel/KernelDeviceProfile.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package com.syncleus.aparapi.internal.kernel;
 
 import com.syncleus.aparapi.*;
diff --git a/src/main/java/com/syncleus/aparapi/internal/kernel/KernelManager.java b/src/main/java/com/syncleus/aparapi/internal/kernel/KernelManager.java
index 69b0cacf538efaf433d7662bc88082bca42f74d0..9fe27f0cf41f5d5b7d6e37c89c9fad1ebc0e165e 100644
--- a/src/main/java/com/syncleus/aparapi/internal/kernel/KernelManager.java
+++ b/src/main/java/com/syncleus/aparapi/internal/kernel/KernelManager.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package com.syncleus.aparapi.internal.kernel;
 
 import com.syncleus.aparapi.*;
diff --git a/src/main/java/com/syncleus/aparapi/internal/kernel/KernelManagers.java b/src/main/java/com/syncleus/aparapi/internal/kernel/KernelManagers.java
index 363c0d095cb89c92316b5156daf4a061f3656301..6d1343e28eb8895b4dab4fbce642d29c15c5719f 100644
--- a/src/main/java/com/syncleus/aparapi/internal/kernel/KernelManagers.java
+++ b/src/main/java/com/syncleus/aparapi/internal/kernel/KernelManagers.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package com.syncleus.aparapi.internal.kernel;
 
 import com.syncleus.aparapi.device.*;
diff --git a/src/main/java/com/syncleus/aparapi/internal/kernel/KernelPreferences.java b/src/main/java/com/syncleus/aparapi/internal/kernel/KernelPreferences.java
index 17b091ec047dc38a23ff25bf0fb895f35f1ef44a..a9940f2051f81a52883d3dda5d10d56c12b4379d 100644
--- a/src/main/java/com/syncleus/aparapi/internal/kernel/KernelPreferences.java
+++ b/src/main/java/com/syncleus/aparapi/internal/kernel/KernelPreferences.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package com.syncleus.aparapi.internal.kernel;
 
 import com.syncleus.aparapi.*;
diff --git a/src/main/java/com/syncleus/aparapi/internal/kernel/KernelProfile.java b/src/main/java/com/syncleus/aparapi/internal/kernel/KernelProfile.java
index 8a0f70267546300ae3ee41f89e6bebae9aab1a3c..d0841224589dd3b065ed3f0caa6ec807e9d9ddda 100644
--- a/src/main/java/com/syncleus/aparapi/internal/kernel/KernelProfile.java
+++ b/src/main/java/com/syncleus/aparapi/internal/kernel/KernelProfile.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package com.syncleus.aparapi.internal.kernel;
 
 import com.syncleus.aparapi.*;
diff --git a/src/main/java/com/syncleus/aparapi/internal/kernel/KernelRunner.java b/src/main/java/com/syncleus/aparapi/internal/kernel/KernelRunner.java
index ea1a8cb26d794a01998a3e03b1f02d09d2e24446..17b4584f11db7c555f965454cff7601fb4f85020 100644
--- a/src/main/java/com/syncleus/aparapi/internal/kernel/KernelRunner.java
+++ b/src/main/java/com/syncleus/aparapi/internal/kernel/KernelRunner.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 /*
 Copyright (c) 2010-2011, Advanced Micro Devices, Inc.
 All rights reserved.
diff --git a/src/main/java/com/syncleus/aparapi/internal/kernel/ProfilingEvent.java b/src/main/java/com/syncleus/aparapi/internal/kernel/ProfilingEvent.java
index 608b065bdc28b4d5e81c6722e831c3585cc7dc45..5ecd6d561734d1f7cf9689626671e34da27da6a1 100644
--- a/src/main/java/com/syncleus/aparapi/internal/kernel/ProfilingEvent.java
+++ b/src/main/java/com/syncleus/aparapi/internal/kernel/ProfilingEvent.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package com.syncleus.aparapi.internal.kernel;
 
 /**
diff --git a/src/main/java/com/syncleus/aparapi/internal/model/CacheEnabler.java b/src/main/java/com/syncleus/aparapi/internal/model/CacheEnabler.java
index bf17015007f194967df276f5cc8cf9efbb96fdc2..ec5abdc2611a33bdf7638d57ac181b6b09a47013 100644
--- a/src/main/java/com/syncleus/aparapi/internal/model/CacheEnabler.java
+++ b/src/main/java/com/syncleus/aparapi/internal/model/CacheEnabler.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package com.syncleus.aparapi.internal.model;
 
 import com.syncleus.aparapi.Kernel;
diff --git a/src/main/java/com/syncleus/aparapi/internal/model/ClassModel.java b/src/main/java/com/syncleus/aparapi/internal/model/ClassModel.java
index c3e73265f7173f9d158c8d93b36c1d0f561dcab6..6b4b597700045a2deeea4dd4929444f5d8cdd9d1 100644
--- a/src/main/java/com/syncleus/aparapi/internal/model/ClassModel.java
+++ b/src/main/java/com/syncleus/aparapi/internal/model/ClassModel.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 /*
 Copyright (c) 2010-2011, Advanced Micro Devices, Inc.
 All rights reserved.
diff --git a/src/main/java/com/syncleus/aparapi/internal/model/Entrypoint.java b/src/main/java/com/syncleus/aparapi/internal/model/Entrypoint.java
index 7c15463e823ab3ddaa33a74d61081dacc932d6a1..2405a64609f5dcb93ba241d9da0aa3620807b6e9 100644
--- a/src/main/java/com/syncleus/aparapi/internal/model/Entrypoint.java
+++ b/src/main/java/com/syncleus/aparapi/internal/model/Entrypoint.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 /*
 Copyright (c) 2010-2011, Advanced Micro Devices, Inc.
 All rights reserved.
diff --git a/src/main/java/com/syncleus/aparapi/internal/model/EntrypointKey.java b/src/main/java/com/syncleus/aparapi/internal/model/EntrypointKey.java
index b377e29f2207bf382183dad4ce54da70bd1664dc..d9caaf273390065bed8ad48b3040a1eebf0e3515 100644
--- a/src/main/java/com/syncleus/aparapi/internal/model/EntrypointKey.java
+++ b/src/main/java/com/syncleus/aparapi/internal/model/EntrypointKey.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package com.syncleus.aparapi.internal.model;
 
 final class EntrypointKey{
diff --git a/src/main/java/com/syncleus/aparapi/internal/model/Memoizer.java b/src/main/java/com/syncleus/aparapi/internal/model/Memoizer.java
index 693ad5a498a5cfd7fe567dbdc61da03a5689cd93..043d5ae0e8c76129d06005c0a040b24556776b6b 100644
--- a/src/main/java/com/syncleus/aparapi/internal/model/Memoizer.java
+++ b/src/main/java/com/syncleus/aparapi/internal/model/Memoizer.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package com.syncleus.aparapi.internal.model;
 
 import java.util.*;
diff --git a/src/main/java/com/syncleus/aparapi/internal/model/MethodKey.java b/src/main/java/com/syncleus/aparapi/internal/model/MethodKey.java
index 58c5cbcf84d9841c57b5930136836c89978e1e5d..69857b0ed07c7a2de04cb87a6df4e897066d7104 100644
--- a/src/main/java/com/syncleus/aparapi/internal/model/MethodKey.java
+++ b/src/main/java/com/syncleus/aparapi/internal/model/MethodKey.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package com.syncleus.aparapi.internal.model;
 
 final class MethodKey{
diff --git a/src/main/java/com/syncleus/aparapi/internal/model/MethodModel.java b/src/main/java/com/syncleus/aparapi/internal/model/MethodModel.java
index d0f6ebd9af1f2d81d491704f80fef5e87d44fe8e..6f3bafecbe6601651a84a9d0ff705dc8673324b9 100644
--- a/src/main/java/com/syncleus/aparapi/internal/model/MethodModel.java
+++ b/src/main/java/com/syncleus/aparapi/internal/model/MethodModel.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 /*
 Copyright (c) 2010-2011, Advanced Micro Devices, Inc.
 All rights reserved.
diff --git a/src/main/java/com/syncleus/aparapi/internal/model/Supplier.java b/src/main/java/com/syncleus/aparapi/internal/model/Supplier.java
index 4a552fe6bc79ce66ae5e4d63a55e4210019ab2e1..d110e6b679df12d3e821d5578c279c2f5e52c6bd 100644
--- a/src/main/java/com/syncleus/aparapi/internal/model/Supplier.java
+++ b/src/main/java/com/syncleus/aparapi/internal/model/Supplier.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package com.syncleus.aparapi.internal.model;
 
 /**
diff --git a/src/main/java/com/syncleus/aparapi/internal/model/ValueCache.java b/src/main/java/com/syncleus/aparapi/internal/model/ValueCache.java
index d8179cd24b3e755f3a72d677397cf0abf2594c7a..33e69e5669accdced10d30bca86b7c32a2a867eb 100644
--- a/src/main/java/com/syncleus/aparapi/internal/model/ValueCache.java
+++ b/src/main/java/com/syncleus/aparapi/internal/model/ValueCache.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package com.syncleus.aparapi.internal.model;
 
 import java.lang.ref.*;
diff --git a/src/main/java/com/syncleus/aparapi/internal/opencl/OpenCLArgDescriptor.java b/src/main/java/com/syncleus/aparapi/internal/opencl/OpenCLArgDescriptor.java
index 5f5c67e2b7d38341ddebb8a997b155bb49498c38..1b14921b65bb7fd4be0f9227cfd256dc8696230f 100644
--- a/src/main/java/com/syncleus/aparapi/internal/opencl/OpenCLArgDescriptor.java
+++ b/src/main/java/com/syncleus/aparapi/internal/opencl/OpenCLArgDescriptor.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 /**
  * 
  */
diff --git a/src/main/java/com/syncleus/aparapi/internal/opencl/OpenCLKernel.java b/src/main/java/com/syncleus/aparapi/internal/opencl/OpenCLKernel.java
index 402663731dc45344a9cbe319edfdc46ee8afe6ac..f540bef5734132df2be9d19366924d411a56c439 100644
--- a/src/main/java/com/syncleus/aparapi/internal/opencl/OpenCLKernel.java
+++ b/src/main/java/com/syncleus/aparapi/internal/opencl/OpenCLKernel.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package com.syncleus.aparapi.internal.opencl;
 
 import java.util.List;
diff --git a/src/main/java/com/syncleus/aparapi/internal/opencl/OpenCLLoader.java b/src/main/java/com/syncleus/aparapi/internal/opencl/OpenCLLoader.java
index 95ed1fc4710fa26e1324cb216327ce605a86f439..e2294f6fd00aec10368fee81a822cadeea4f526a 100644
--- a/src/main/java/com/syncleus/aparapi/internal/opencl/OpenCLLoader.java
+++ b/src/main/java/com/syncleus/aparapi/internal/opencl/OpenCLLoader.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package com.syncleus.aparapi.internal.opencl;
 
 import java.util.logging.Level;
diff --git a/src/main/java/com/syncleus/aparapi/internal/opencl/OpenCLMem.java b/src/main/java/com/syncleus/aparapi/internal/opencl/OpenCLMem.java
index 657b77d3f2ede1363356453fc0a4b23f9457f278..2088378b62f08e02e5ba05e45b1f31dfe528e5c6 100644
--- a/src/main/java/com/syncleus/aparapi/internal/opencl/OpenCLMem.java
+++ b/src/main/java/com/syncleus/aparapi/internal/opencl/OpenCLMem.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package com.syncleus.aparapi.internal.opencl;
 
 public class OpenCLMem{
diff --git a/src/main/java/com/syncleus/aparapi/internal/opencl/OpenCLPlatform.java b/src/main/java/com/syncleus/aparapi/internal/opencl/OpenCLPlatform.java
index 79a410827b1d410f8a611c3944138d90a5f1f7bb..9f746393c6e80b652900fcc57b39686119351333 100644
--- a/src/main/java/com/syncleus/aparapi/internal/opencl/OpenCLPlatform.java
+++ b/src/main/java/com/syncleus/aparapi/internal/opencl/OpenCLPlatform.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package com.syncleus.aparapi.internal.opencl;
 
 import com.syncleus.aparapi.device.*;
diff --git a/src/main/java/com/syncleus/aparapi/internal/opencl/OpenCLProgram.java b/src/main/java/com/syncleus/aparapi/internal/opencl/OpenCLProgram.java
index 44ad27b7f62b077efd018046b347d966e6e15b0c..3f29ce74dc6d4f1e8160694e46a033b73041064f 100644
--- a/src/main/java/com/syncleus/aparapi/internal/opencl/OpenCLProgram.java
+++ b/src/main/java/com/syncleus/aparapi/internal/opencl/OpenCLProgram.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package com.syncleus.aparapi.internal.opencl;
 
 import com.syncleus.aparapi.ProfileInfo;
diff --git a/src/main/java/com/syncleus/aparapi/internal/reader/ByteBuffer.java b/src/main/java/com/syncleus/aparapi/internal/reader/ByteBuffer.java
index 1b06d84d7ff0e38711eb9ee1a7d4887c9be0b4f3..b57a859af4498139f36db9b1feb72256d6f50fde 100644
--- a/src/main/java/com/syncleus/aparapi/internal/reader/ByteBuffer.java
+++ b/src/main/java/com/syncleus/aparapi/internal/reader/ByteBuffer.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 /*
 Copyright (c) 2010-2011, Advanced Micro Devices, Inc.
 All rights reserved.
diff --git a/src/main/java/com/syncleus/aparapi/internal/reader/ByteReader.java b/src/main/java/com/syncleus/aparapi/internal/reader/ByteReader.java
index 94ebc97ec6f7f56f527dcd185701e62277c59f5f..b30ed253d5a3357b6beb01dc4321cafb54c57adc 100644
--- a/src/main/java/com/syncleus/aparapi/internal/reader/ByteReader.java
+++ b/src/main/java/com/syncleus/aparapi/internal/reader/ByteReader.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 /*
 Copyright (c) 2010-2011, Advanced Micro Devices, Inc.
 All rights reserved.
diff --git a/src/main/java/com/syncleus/aparapi/internal/tool/InstructionHelper.java b/src/main/java/com/syncleus/aparapi/internal/tool/InstructionHelper.java
index 75bc3fd08cefdc3f4cc3e5d3544cdb52bc5fde51..975d0478e74b5e532cca6e44648954d40c29a80e 100644
--- a/src/main/java/com/syncleus/aparapi/internal/tool/InstructionHelper.java
+++ b/src/main/java/com/syncleus/aparapi/internal/tool/InstructionHelper.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package com.syncleus.aparapi.internal.tool;
 
 import java.util.ArrayList;
diff --git a/src/main/java/com/syncleus/aparapi/internal/tool/InstructionViewer.java b/src/main/java/com/syncleus/aparapi/internal/tool/InstructionViewer.java
index 00e4a320ec64a8524dc12cdd95d5db01d36c9515..4ba986dde8913f9409f9725f0369467304818b43 100644
--- a/src/main/java/com/syncleus/aparapi/internal/tool/InstructionViewer.java
+++ b/src/main/java/com/syncleus/aparapi/internal/tool/InstructionViewer.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package com.syncleus.aparapi.internal.tool;
 
 import java.awt.BasicStroke;
diff --git a/src/main/java/com/syncleus/aparapi/internal/tool/package-info.java b/src/main/java/com/syncleus/aparapi/internal/tool/package-info.java
index 0741e74169551e81e4e905245c874646ed73ec61..8ecae39a106bed091b68fd831f20772f2cf4610a 100644
--- a/src/main/java/com/syncleus/aparapi/internal/tool/package-info.java
+++ b/src/main/java/com/syncleus/aparapi/internal/tool/package-info.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 /**
  *
  */
diff --git a/src/main/java/com/syncleus/aparapi/internal/util/OpenCLUtil.java b/src/main/java/com/syncleus/aparapi/internal/util/OpenCLUtil.java
index 0fff335e31bff98bb703fff790c967bf7a94a982..7e5f5415cd004183ff77868b33d904649a5d311b 100644
--- a/src/main/java/com/syncleus/aparapi/internal/util/OpenCLUtil.java
+++ b/src/main/java/com/syncleus/aparapi/internal/util/OpenCLUtil.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package com.syncleus.aparapi.internal.util;
 
 import java.util.List;
diff --git a/src/main/java/com/syncleus/aparapi/internal/util/Reflection.java b/src/main/java/com/syncleus/aparapi/internal/util/Reflection.java
index 4779cf3f18706cc8f515958f642b209e720cf07e..e0a7966e65c0fce38dabea114b549248e9532f73 100644
--- a/src/main/java/com/syncleus/aparapi/internal/util/Reflection.java
+++ b/src/main/java/com/syncleus/aparapi/internal/util/Reflection.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package com.syncleus.aparapi.internal.util;
 
 /**
diff --git a/src/main/java/com/syncleus/aparapi/internal/util/UnsafeWrapper.java b/src/main/java/com/syncleus/aparapi/internal/util/UnsafeWrapper.java
index e83b1fd32710b3934480968f27fe69fb137d1dc9..3d1f6576a4df69076f4fd9910d38c6c6a4663098 100644
--- a/src/main/java/com/syncleus/aparapi/internal/util/UnsafeWrapper.java
+++ b/src/main/java/com/syncleus/aparapi/internal/util/UnsafeWrapper.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 /*
 Copyright (c) 2010-2011, Advanced Micro Devices, Inc.
 All rights reserved.
diff --git a/src/main/java/com/syncleus/aparapi/internal/writer/BlockWriter.java b/src/main/java/com/syncleus/aparapi/internal/writer/BlockWriter.java
index ae208c7577b2ac0be43edc155f46bdd0dc383e1b..66309b6ec9aa0e4536bba73102e7fb8ad1253398 100644
--- a/src/main/java/com/syncleus/aparapi/internal/writer/BlockWriter.java
+++ b/src/main/java/com/syncleus/aparapi/internal/writer/BlockWriter.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 /*
 Copyright (c) 2010-2011, Advanced Micro Devices, Inc.
 All rights reserved.
diff --git a/src/main/java/com/syncleus/aparapi/internal/writer/KernelWriter.java b/src/main/java/com/syncleus/aparapi/internal/writer/KernelWriter.java
index 65d8a004e75485570b951ef42ebbec8558bf19a1..9fa26214c973098552589a00c5d55b4db3d5fe8a 100644
--- a/src/main/java/com/syncleus/aparapi/internal/writer/KernelWriter.java
+++ b/src/main/java/com/syncleus/aparapi/internal/writer/KernelWriter.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 /*
 Copyright (c) 2010-2011, Advanced Micro Devices, Inc.
 All rights reserved.
diff --git a/src/main/java/com/syncleus/aparapi/opencl/OpenCL.java b/src/main/java/com/syncleus/aparapi/opencl/OpenCL.java
index 73ff772e0928c7c4eb27a83b0ffbc95d4d4e4da4..9c2824c564e65cbe995aa890a1976e10d86778b6 100644
--- a/src/main/java/com/syncleus/aparapi/opencl/OpenCL.java
+++ b/src/main/java/com/syncleus/aparapi/opencl/OpenCL.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package com.syncleus.aparapi.opencl;
 
 import com.syncleus.aparapi.ProfileInfo;
diff --git a/src/main/java/com/syncleus/aparapi/opencl/OpenCLAdapter.java b/src/main/java/com/syncleus/aparapi/opencl/OpenCLAdapter.java
index 83e51253e818c7aa8129d3bbcb83ce1f20115a55..75c313c4ce62e4a02d747249c4d990e52f3c287c 100644
--- a/src/main/java/com/syncleus/aparapi/opencl/OpenCLAdapter.java
+++ b/src/main/java/com/syncleus/aparapi/opencl/OpenCLAdapter.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package com.syncleus.aparapi.opencl;
 
 import com.syncleus.aparapi.ProfileInfo;
diff --git a/src/main/java/com/syncleus/aparapi/opencl/package-info.java b/src/main/java/com/syncleus/aparapi/opencl/package-info.java
index f0fb474a696213a7c841cae3fac5db68125d4a1f..a1b476c2934690bc520e12433168ad1e1e028b46 100644
--- a/src/main/java/com/syncleus/aparapi/opencl/package-info.java
+++ b/src/main/java/com/syncleus/aparapi/opencl/package-info.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 /**
  *
  */
diff --git a/src/main/java/com/syncleus/aparapi/package-info.java b/src/main/java/com/syncleus/aparapi/package-info.java
index 6e561f23a2a7292ecafe5cb13b79bea439ef4d21..fba2283746bdca378629d7c632d2c12df3a481b3 100644
--- a/src/main/java/com/syncleus/aparapi/package-info.java
+++ b/src/main/java/com/syncleus/aparapi/package-info.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 /**
  *
  */
diff --git a/src/main/java/com/syncleus/aparapi/util/swing/MultiPassKernelSwingWorker.java b/src/main/java/com/syncleus/aparapi/util/swing/MultiPassKernelSwingWorker.java
index 81916b39821e1aca17104f9769fb96109be91035..d4d61f6d02406970a5c684a21c573c42360b153a 100644
--- a/src/main/java/com/syncleus/aparapi/util/swing/MultiPassKernelSwingWorker.java
+++ b/src/main/java/com/syncleus/aparapi/util/swing/MultiPassKernelSwingWorker.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package com.syncleus.aparapi.util.swing;
 
 import com.syncleus.aparapi.Kernel;
diff --git a/src/test/java/ConvolutionLargeTest.java b/src/test/java/ConvolutionLargeTest.java
index d599806ae246e053953f139acabf6e20117cd3be..9bd0409caae3ec378e88486d77676340e0d5c1e2 100644
--- a/src/test/java/ConvolutionLargeTest.java
+++ b/src/test/java/ConvolutionLargeTest.java
@@ -1,3 +1,18 @@
+/**
+ * Copyright (c) 2016 - 2017 Syncleus, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 /*
 Copyright (c) 2010-2011, Advanced Micro Devices, Inc.
 All rights reserved.