diff --git a/examples/nbody/build.xml b/examples/nbody/build.xml
index def8a4fec8aabbbcb5b8053a9091deab7685e387..dcb3b181f555ce9124503982203cc606521fe68b 100644
--- a/examples/nbody/build.xml
+++ b/examples/nbody/build.xml
@@ -1,204 +1,31 @@
 <?xml version="1.0"?>
 
 <project name="nbody" default="build" basedir=".">
-   <!--<property name="jogamp-jar-url" value="http://jogamp.org/deployment/archive/rc/gluegen_28-joal_17-jogl_41-jocl_25/jar"/>-->
-   <property name="jogamp-jar-url" value="http://jogamp.org/deployment/archive/rc/gluegen_52-joal_32-jogl_66-jocl_41/jar"/>
-   <path id="compiler.class.path">
-      <pathelement path="../../com.amd.aparapi/dist/aparapi.jar"/>
-      <pathelement path="jogamp/jogl-all.jar"/>
-      <pathelement path="jogamp/gluegen-rt.jar"/>
-   </path>
-
-   <path id="runtime.class.path" cache="true">
-      <path refid="compiler.class.path"/>
-      <pathelement path="${ant.project.name}.jar"/>
-   </path>
-
-   <target name="getjogl-windows-i586" if="use.win32">
-      <delete dir="jogamp"/>
-      <get dest="jogamp">
-         <url url="${jogamp-jar-url}/jogl-all-natives-windows-i586.jar"/> 
-         <url url="${jogamp-jar-url}/gluegen-rt-natives-windows-i586.jar"/> 
-         <url url="${jogamp-jar-url}/jogl-all.jar"/> 
-         <url url="${jogamp-jar-url}/gluegen-rt.jar"/> 
-      </get>
-      <unzip src="jogamp/jogl-all-natives-windows-i586.jar" dest="jogamp"/>
-      <unzip src="jogamp/gluegen-rt-natives-windows-i586.jar" dest="jogamp"/>
-      <delete dir="jogamp/META-INF"/>
-   </target>
-
-   <target name="getjogl-windows-amd64" if="use.win64">
-      <delete dir="jogamp"/>
-      <get dest="jogamp">
-         <url url="${jogamp-jar-url}/jogl-all-natives-windows-amd64.jar"/> 
-         <url url="${jogamp-jar-url}/gluegen-rt-natives-windows-amd64.jar"/> 
-         <url url="${jogamp-jar-url}/jogl-all.jar"/> 
-         <url url="${jogamp-jar-url}/gluegen-rt.jar"/> 
-      </get>
-      <unzip src="jogamp/jogl-all-natives-windows-amd64.jar" dest="jogamp"/>
-      <unzip src="jogamp/gluegen-rt-natives-windows-amd64.jar" dest="jogamp"/>
-      <delete dir="jogamp/META-INF"/>
-   </target>
-
-   <target name="getjogl-linux-i586" if="use.linux32">
-      <delete dir="jogamp"/>
-      <get dest="jogamp">
-         <url url="${jogamp-jar-url}/jogl-all-natives-linux-i586.jar"/> 
-         <url url="${jogamp-jar-url}/gluegen-rt-natives-linux-i586.jar"/> 
-         <url url="${jogamp-jar-url}/jogl-all.jar"/> 
-         <url url="${jogamp-jar-url}/gluegen-rt.jar"/> 
-      </get>
-      <unzip src="jogamp/jogl-all-natives-linux-i586.jar" dest="jogamp"/>
-      <unzip src="jogamp/gluegen-rt-natives-linux-i586.jar" dest="jogamp"/>
-      <delete dir="jogamp/META-INF"/>
-   </target>
-
-   <target name="getjogl-linux-amd64" if="use.linux64">
-      <delete dir="jogamp"/>
-      <get dest="jogamp">
-         <url url="${jogamp-jar-url}/jogl-all-natives-linux-amd64.jar"/> 
-         <url url="${jogamp-jar-url}/gluegen-rt-natives-linux-amd64.jar"/> 
-         <url url="${jogamp-jar-url}/jogl-all.jar"/> 
-         <url url="${jogamp-jar-url}/gluegen-rt.jar"/> 
-      </get>
-      <unzip src="jogamp/jogl-all-natives-linux-amd64.jar" dest="jogamp"/>
-      <unzip src="jogamp/gluegen-rt-natives-linux-amd64.jar" dest="jogamp"/>
-      <delete dir="jogamp/META-INF"/>
-   </target>
-   
-   <target name="getjogl-mac-universal" if="use.mac.universal">
-      <delete dir="jogamp"/>
-	  <get dest="jogamp">
-	     <url url="${jogamp-jar-url}/jogl-all-natives-macosx-universal.jar"/> 
-	     <url url="${jogamp-jar-url}/gluegen-rt-natives-macosx-universal.jar"/> 
-	     <url url="${jogamp-jar-url}/jogl-all.jar"/> 
-	     <url url="${jogamp-jar-url}/gluegen-rt.jar"/> 
-	  </get>
-	  <unzip src="jogamp/jogl-all-natives-macosx-universal.jar" dest="jogamp"/>
-	  <unzip src="jogamp/gluegen-rt-natives-macosx-universal.jar" dest="jogamp"/>
-	  <delete dir="jogamp/META-INF"/>
-   </target>
-	
-   <target name="checkos">
-      <condition property="use.win32">
-         <and>
-            <os family="windows" />
-            <or>
-               <os arch="x86" />
-               <os arch="i386" />
-            </or>
-            <not><available file="jogamp/jogl-all-natives-windows-i586.jar"/> </not>
-            <not><available file="jogamp/gluegen-rt-natives-windows-i586.jar"/> </not>
-            <not><available file="jogamp/jogl-all.jar"/> </not>
-            <not><available file="jogamp/gluegen-rt.jar"/> </not>
-         </and>
-      </condition>
-      <condition property="use.win64">
-         <and>
-            <os family="windows" />
-            <not>
-               <or>
-                  <os arch="x86" />
-                  <os arch="i386" />
-               </or>
-            </not>
-            <not><available file="jogamp/jogl-all-natives-windows-amd64.jar"/> </not>
-            <not><available file="jogamp/gluegen-rt-natives-windows-amd64.jar"/> </not>
-            <not><available file="jogamp/jogl-all.jar"/> </not>
-            <not><available file="jogamp/gluegen-rt.jar"/> </not>
-         </and>
-      </condition>
-      <condition property="use.linux32">
-         <and>
-            <os family="unix" />
-            <not>
-               <os family="mac" />
-            </not>
-            <or>
-               <os arch="x86" />
-               <os arch="i386" />
-            </or>
-            <not><available file="jogamp/jogl-all-natives-linux-i586.jar"/> </not>
-            <not><available file="jogamp/gluegen-rt-natives-linux-i586.jar"/> </not>
-            <not><available file="jogamp/jogl-all.jar"/> </not>
-            <not><available file="jogamp/gluegen-rt.jar"/> </not>
-         </and>
-      </condition>
-      <condition property="use.linux64">
-         <and>
-            <os family="unix" />
-            <not>
-               <os family="mac" />
-            </not>
-            <not>
-               <or>
-                  <os arch="x86" />
-                  <os arch="i386" />
-               </or>
-            </not>
-            <not><available file="jogamp/jogl-all-natives-linux-amd64.jar"/> </not>
-            <not><available file="jogamp/gluegen-rt-natives-linux-amd64.jar"/> </not>
-            <not><available file="jogamp/jogl-all.jar"/> </not>
-            <not><available file="jogamp/gluegen-rt.jar"/> </not>
-         </and>
-      </condition>
-   	  <condition property="use.mac.universal">
-   	     <and>
-   	        <os family="mac" />
-   	        <not>
-   	           <or>
-   	              <os arch="x86" />
-   	              <os arch="i386" />
-   	           </or>
-   	        </not>
-   	        <not><available file="jogamp/jogl-all-natives-macosx-universal.jar"/> </not>
-   	        <not><available file="jogamp/gluegen-rt-natives-macosx-universal.jar"/> </not>
-   	        <not><available file="jogamp/jogl-all.jar"/> </not>
-   	        <not><available file="jogamp/gluegen-rt.jar"/> </not>
-   	     </and>
-   	  </condition>
-   </target>
-
-   <target name="getjogl" depends="checkos, getjogl-windows-i586, getjogl-windows-amd64, 
-   	getjogl-linux-i586, getjogl-linux-amd64, getjogl-mac-universal"/>
-
-   <target name="build" depends="clean, getjogl">
-      <mkdir dir="classes"/>
-      <javac srcdir="src" destdir="classes" debug="on" includeantruntime="false">
-         <classpath refid="compiler.class.path"/>
-      </javac>
-      <copy todir="classes/com/amd/aparapi/examples/nbody" file="src/com/amd/aparapi/examples/nbody/particle.jpg"/>
-      <jar jarfile="${ant.project.name}.jar" basedir="classes"/>
-   </target>
-
-   <target name="clean">
-      <delete dir="classes"/>
-      <delete file="${ant.project.name}.jar"/>
-   </target>
-
-   <target name="run-jtp">
-      <java classname="com.amd.aparapi.examples.nbody.Main" fork="true">
-         <classpath refid="runtime.class.path"/>
-         <sysproperty key="java.library.path" path="..\..\com.amd.aparapi.jni\dist;jogamp"/>
-         <sysproperty key="com.amd.aparapi.executionMode" value="JTP"/>
-         <sysproperty key="bodies" value="16384"/>
-         <sysproperty key="height" value="800"/>
-         <sysproperty key="width" value="800"/>
-      </java>
-   </target>
-
-   <target name="run-gpu">
-      <java classname="com.amd.aparapi.examples.nbody.Main" fork="true">
-         <classpath refid="runtime.class.path"/>
-         <sysproperty key="java.library.path" path="..\..\com.amd.aparapi.jni\dist;jogamp"/>
-         <sysproperty key="com.amd.aparapi.executionMode" value="GPU"/>
-         <sysproperty key="bodies" value="16384"/>
-         <sysproperty key="height" value="800"/>
-         <sysproperty key="width" value="800"/>
-      </java>
-   </target>
-
-   <target name="run" depends="run-gpu"/>
-
+  <!--<property name="jogamp-jar-url" value="http://jogamp.org/deployment/archive/rc/gluegen_28-joal_17-jogl_41-jocl_25/jar"/>-->
+  <property name="jogamp-jar-url" value="http://jogamp.org/deployment/archive/rc/gluegen_52-joal_32-jogl_66-jocl_41/jar"/>
+  <path id="compiler.class.path">
+    <pathelement path="../../com.amd.aparapi/dist/aparapi.jar"/>
+    <pathelement path="../third-party/jogamp/jogl-all.jar"/>
+    <pathelement path="../third-party/jogamp/gluegen-rt.jar"/>
+  </path>
+
+  <path id="runtime.class.path" cache="true">
+    <path refid="compiler.class.path"/>
+    <pathelement path="${ant.project.name}.jar"/>
+  </path>
+
+  <target name="build" depends="clean">
+    <mkdir dir="classes"/>
+    <javac srcdir="src" destdir="classes" debug="on" includeantruntime="false">
+      <classpath refid="compiler.class.path"/>
+    </javac>
+    <copy todir="classes/com/amd/aparapi/examples/nbody" file="src/com/amd/aparapi/examples/nbody/particle.jpg"/>
+    <jar jarfile="${ant.project.name}.jar" basedir="classes"/>
+  </target>
+
+  <target name="clean">
+    <delete dir="classes"/>
+    <delete file="${ant.project.name}.jar"/>
+  </target>
 
 </project>
diff --git a/examples/nbody/local.bat b/examples/nbody/local.bat
index 92c58b91baae839893dc1e60a47b1d4a9a471b82..c89fd6ddf53fabd74317726a59f16f54c37e033c 100644
--- a/examples/nbody/local.bat
+++ b/examples/nbody/local.bat
@@ -1,7 +1,7 @@
 @echo off
 
 java ^
-  -Djava.library.path=..\..\com.amd.aparapi.jni\dist;jogamp ^
+  -Djava.library.path=..\..\com.amd.aparapi.jni\dist;..\third-party\jogamp ^
   -Dcom.amd.aparapi.executionMode=%1 ^
   -Dcom.amd.aparapi.enableShowGeneratedOpenCL=true ^
   -Dcom.amd.aparapi.enableVerboseJNI=false ^
@@ -9,7 +9,7 @@ java ^
   -Dbodies=%2 ^
   -Dheight=600 ^
   -Dwidth=600 ^
-  -classpath jogamp\gluegen-rt.jar;jogamp\jogl.all.jar;..\..\com.amd.aparapi\dist\aparapi.jar;nbody.jar ^
+  -classpath ..\third-party\jogamp\gluegen-rt.jar;..\third-party\jogamp\jogl.all.jar;..\..\com.amd.aparapi\dist\aparapi.jar;nbody.jar ^
   com.amd.aparapi.examples.nbody.Local
 
 
diff --git a/examples/nbody/nbody.bat b/examples/nbody/nbody.bat
index 9c5cca7492f0610db429bc536ee98ae6b2ef15c3..1c0b7f659ecec6f9dc888be0b0bca60f5132cfc7 100644
--- a/examples/nbody/nbody.bat
+++ b/examples/nbody/nbody.bat
@@ -1,14 +1,14 @@
 @echo off
 
 java ^
-  -Djava.library.path=..\..\com.amd.aparapi.jni\dist;jogamp ^
+  -Djava.library.path=..\..\com.amd.aparapi.jni\dist;..\third-party\jogamp ^
   -Dcom.amd.aparapi.executionMode=%1 ^
   -Dcom.amd.aparapi.enableProfiling=false ^
   -Dcom.amd.aparapi.enableShowGeneratedOpenCL=true ^
   -Dbodies=%2 ^
   -Dheight=600 ^
   -Dwidth=600 ^
-  -classpath jogamp\gluegen-rt.jar;jogamp\jogl-all.jar;..\..\com.amd.aparapi\dist\aparapi.jar;nbody.jar ^
+  -classpath ..\third-party\jogamp\gluegen-rt.jar;..\third-party\jogamp\jogl-all.jar;..\..\com.amd.aparapi\dist\aparapi.jar;nbody.jar ^
   com.amd.aparapi.examples.nbody.Main 
 
 
diff --git a/examples/nbody/nbody.sh b/examples/nbody/nbody.sh
index 53131f1c5cf3f3e2afefde23f47291e37576b9bb..579bc83445c013d69526cd0027e93f80751d2627 100644
--- a/examples/nbody/nbody.sh
+++ b/examples/nbody/nbody.sh
@@ -1,10 +1,10 @@
 
 java \
-  -Djava.library.path=../../com.amd.aparapi.jni/dist:jogamp \
+  -Djava.library.path=../../com.amd.aparapi.jni/dist:../third-party/jogamp \
   -Dcom.amd.aparapi.executionMode=$1 \
   -Dbodies=$1 \
   -Dheight=600 \
   -Dwidth=600 \
-  -classpath jogamp/jogl-all.jar:jogamp/gluegen-rt.jar:../../com.amd.aparapi/dist/aparapi.jar:nbody.jar \
+  -classpath ../third-party/jogamp/jogl-all.jar:../third-party/jogamp/gluegen-rt.jar:../../com.amd.aparapi/dist/aparapi.jar:nbody.jar \
   com.amd.aparapi.examples.nbody.Main 
 
diff --git a/examples/oopnbody/build.xml b/examples/oopnbody/build.xml
index 52ed41d1696a3c878130414dbdec8a614993c8e9..62802dcb06d8d13262b904942770e88fc45026d1 100644
--- a/examples/oopnbody/build.xml
+++ b/examples/oopnbody/build.xml
@@ -1,12 +1,10 @@
 <?xml version="1.0"?>
 
 <project name="oopnbody" default="build" basedir=".">
-   <!--<property name="jogamp-jar-url" value="http://jogamp.org/deployment/archive/rc/gluegen_28-joal_17-jogl_41-jocl_25/jar"/>-->
-   <property name="jogamp-jar-url" value="http://jogamp.org/deployment/archive/rc/gluegen_52-joal_32-jogl_66-jocl_41/jar"/>
    <path id="compiler.class.path">
       <pathelement path="../../com.amd.aparapi/dist/aparapi.jar"/>
-      <pathelement path="jogamp/jogl-all.jar"/>
-      <pathelement path="jogamp/gluegen-rt.jar"/>
+      <pathelement path="../third-party/jogamp/jogl-all.jar"/>
+      <pathelement path="../third-party/jogamp/gluegen-rt.jar"/>
    </path>
 
    <path id="runtime.class.path" cache="true">
@@ -14,155 +12,7 @@
       <pathelement path="${ant.project.name}.jar"/>
    </path>
 
-   <target name="getjogl-windows-i586" if="use.win32">
-      <delete dir="jogamp"/>
-      <get dest="jogamp">
-         <url url="${jogamp-jar-url}/jogl-all-natives-windows-i586.jar"/> 
-         <url url="${jogamp-jar-url}/gluegen-rt-natives-windows-i586.jar"/> 
-         <url url="${jogamp-jar-url}/jogl-all.jar"/> 
-         <url url="${jogamp-jar-url}/gluegen-rt.jar"/> 
-      </get>
-      <unzip src="jogamp/jogl-all-natives-windows-i586.jar" dest="jogamp"/>
-      <unzip src="jogamp/gluegen-rt-natives-windows-i586.jar" dest="jogamp"/>
-      <delete dir="jogamp/META-INF"/>
-   </target>
-
-   <target name="getjogl-windows-amd64" if="use.win64">
-      <delete dir="jogamp"/>
-      <get dest="jogamp">
-         <url url="${jogamp-jar-url}/jogl-all-natives-windows-amd64.jar"/> 
-         <url url="${jogamp-jar-url}/gluegen-rt-natives-windows-amd64.jar"/> 
-         <url url="${jogamp-jar-url}/jogl-all.jar"/> 
-         <url url="${jogamp-jar-url}/gluegen-rt.jar"/> 
-      </get>
-      <unzip src="jogamp/jogl-all-natives-windows-amd64.jar" dest="jogamp"/>
-      <unzip src="jogamp/gluegen-rt-natives-windows-amd64.jar" dest="jogamp"/>
-      <delete dir="jogamp/META-INF"/>
-   </target>
-
-   <target name="getjogl-linux-i586" if="use.linux32">
-      <delete dir="jogamp"/>
-      <get dest="jogamp">
-         <url url="${jogamp-jar-url}/jogl-all-natives-linux-i586.jar"/> 
-         <url url="${jogamp-jar-url}/gluegen-rt-natives-linux-i586.jar"/> 
-         <url url="${jogamp-jar-url}/jogl-all.jar"/> 
-         <url url="${jogamp-jar-url}/gluegen-rt.jar"/> 
-      </get>
-      <unzip src="jogamp/jogl-all-natives-linux-i586.jar" dest="jogamp"/>
-      <unzip src="jogamp/gluegen-rt-natives-linux-i586.jar" dest="jogamp"/>
-      <delete dir="jogamp/META-INF"/>
-   </target>
-
-   <target name="getjogl-linux-amd64" if="use.linux64">
-      <delete dir="jogamp"/>
-      <get dest="jogamp">
-         <url url="${jogamp-jar-url}/jogl-all-natives-linux-amd64.jar"/> 
-         <url url="${jogamp-jar-url}/gluegen-rt-natives-linux-amd64.jar"/> 
-         <url url="${jogamp-jar-url}/jogl-all.jar"/> 
-         <url url="${jogamp-jar-url}/gluegen-rt.jar"/> 
-      </get>
-      <unzip src="jogamp/jogl-all-natives-linux-amd64.jar" dest="jogamp"/>
-      <unzip src="jogamp/gluegen-rt-natives-linux-amd64.jar" dest="jogamp"/>
-      <delete dir="jogamp/META-INF"/>
-   </target>
-   
-   <target name="getjogl-mac-universal" if="use.mac.universal">
-      <delete dir="jogamp"/>
-	  <get dest="jogamp">
-	     <url url="${jogamp-jar-url}/jogl-all-natives-macosx-universal.jar"/> 
-	     <url url="${jogamp-jar-url}/gluegen-rt-natives-macosx-universal.jar"/> 
-	     <url url="${jogamp-jar-url}/jogl-all.jar"/> 
-	     <url url="${jogamp-jar-url}/gluegen-rt.jar"/> 
-	  </get>
-	  <unzip src="jogamp/jogl-all-natives-macosx-universal.jar" dest="jogamp"/>
-	  <unzip src="jogamp/gluegen-rt-natives-macosx-universal.jar" dest="jogamp"/>
-	  <delete dir="jogamp/META-INF"/>
-   </target>
-	
-   <target name="checkos">
-      <condition property="use.win32">
-         <and>
-            <os family="windows" />
-            <or>
-               <os arch="x86" />
-               <os arch="i386" />
-            </or>
-            <not><available file="jogamp/jogl-all-natives-windows-i586.jar"/> </not>
-            <not><available file="jogamp/gluegen-rt-natives-windows-i586.jar"/> </not>
-            <not><available file="jogamp/jogl-all.jar"/> </not>
-            <not><available file="jogamp/gluegen-rt.jar"/> </not>
-         </and>
-      </condition>
-      <condition property="use.win64">
-         <and>
-            <os family="windows" />
-            <not>
-               <or>
-                  <os arch="x86" />
-                  <os arch="i386" />
-               </or>
-            </not>
-            <not><available file="jogamp/jogl-all-natives-windows-amd64.jar"/> </not>
-            <not><available file="jogamp/gluegen-rt-natives-windows-amd64.jar"/> </not>
-            <not><available file="jogamp/jogl-all.jar"/> </not>
-            <not><available file="jogamp/gluegen-rt.jar"/> </not>
-         </and>
-      </condition>
-      <condition property="use.linux32">
-         <and>
-            <os family="unix" />
-            <not>
-               <os family="mac" />
-            </not>
-            <or>
-               <os arch="x86" />
-               <os arch="i386" />
-            </or>
-            <not><available file="jogamp/jogl-all-natives-linux-i586.jar"/> </not>
-            <not><available file="jogamp/gluegen-rt-natives-linux-i586.jar"/> </not>
-            <not><available file="jogamp/jogl-all.jar"/> </not>
-            <not><available file="jogamp/gluegen-rt.jar"/> </not>
-         </and>
-      </condition>
-      <condition property="use.linux64">
-         <and>
-            <os family="unix" />
-            <not>
-               <os family="mac" />
-            </not>
-            <not>
-               <or>
-                  <os arch="x86" />
-                  <os arch="i386" />
-               </or>
-            </not>
-            <not><available file="jogamp/jogl-all-natives-linux-amd64.jar"/> </not>
-            <not><available file="jogamp/gluegen-rt-natives-linux-amd64.jar"/> </not>
-            <not><available file="jogamp/jogl-all.jar"/> </not>
-            <not><available file="jogamp/gluegen-rt.jar"/> </not>
-         </and>
-      </condition>
-   	  <condition property="use.mac.universal">
-   	     <and>
-   	        <os family="mac" />
-   	        <not>
-   	           <or>
-   	              <os arch="x86" />
-   	              <os arch="i386" />
-   	           </or>
-   	        </not>
-   	        <not><available file="jogamp/jogl-all-natives-macosx-universal.jar"/> </not>
-   	        <not><available file="jogamp/gluegen-rt-natives-macosx-universal.jar"/> </not>
-   	        <not><available file="jogamp/jogl-all.jar"/> </not>
-   	        <not><available file="jogamp/gluegen-rt.jar"/> </not>
-   	     </and>
-   	  </condition>
-   </target>
-
-   <target name="getjogl" depends="checkos, getjogl-windows-i586, getjogl-windows-amd64, 
-   	getjogl-linux-i586, getjogl-linux-amd64, getjogl-mac-universal"/>
-
-   <target name="build" depends="clean, getjogl">
+   <target name="build" depends="clean">
       <mkdir dir="classes"/>
       <javac srcdir="src" destdir="classes" debug="on" includeantruntime="false">
          <classpath refid="compiler.class.path"/>
@@ -176,29 +26,4 @@
       <delete file="${ant.project.name}.jar"/>
    </target>
 
-   <target name="run-jtp">
-      <java classname="com.amd.aparapi.examples.oopnbody.Main" fork="true">
-         <classpath refid="runtime.class.path"/>
-         <sysproperty key="java.library.path" path="..\..\com.amd.aparapi.jni\dist;jogamp"/>
-         <sysproperty key="com.amd.aparapi.executionMode" value="JTP"/>
-         <sysproperty key="bodies" value="16384"/>
-         <sysproperty key="height" value="800"/>
-         <sysproperty key="width" value="800"/>
-      </java>
-   </target>
-
-   <target name="run-gpu">
-      <java classname="com.amd.aparapi.examples.oopnbody.Main" fork="true">
-         <classpath refid="runtime.class.path"/>
-         <sysproperty key="java.library.path" path="..\..\com.amd.aparapi.jni\dist;jogamp"/>
-         <sysproperty key="com.amd.aparapi.executionMode" value="GPU"/>
-         <sysproperty key="bodies" value="16384"/>
-         <sysproperty key="height" value="800"/>
-         <sysproperty key="width" value="800"/>
-      </java>
-   </target>
-
-   <target name="run" depends="run-gpu"/>
-
-
 </project>
diff --git a/examples/oopnbody/nbody.sh b/examples/oopnbody/nbody.sh
index d2903d64a0fbe1156d184df198a484652b4de6e7..311055707e7bdec0ad91a74adfc17744b27422c6 100755
--- a/examples/oopnbody/nbody.sh
+++ b/examples/oopnbody/nbody.sh
@@ -1,12 +1,12 @@
 
 java \
-  -Djava.library.path=../../com.amd.aparapi.jni/dist:jogamp \
+  -Djava.library.path=../../com.amd.aparapi.jni/dist:../third-party/jogamp \
   -Dcom.amd.aparapi.executionMode=$1 \
   -Dcom.amd.aparapi.logLevel=INFO \
   -Dcom.amd.aparapi.enableShowGeneratedOpenCL=true \
   -Dbodies=$2 \
   -Dheight=800 \
   -Dwidth=1200 \
-  -classpath jogamp/jogl-all.jar:jogamp/gluegen-rt.jar:../../com.amd.aparapi/dist/aparapi.jar:oopnbody.jar \
+  -classpath ../third-party/jogamp/jogl-all.jar:../third-party/jogamp/gluegen-rt.jar:../../com.amd.aparapi/dist/aparapi.jar:oopnbody.jar \
   com.amd.aparapi.examples.oopnbody.Main 
 
diff --git a/examples/third-party/get-jogl.xml b/examples/third-party/get-jogl.xml
new file mode 100644
index 0000000000000000000000000000000000000000..def8a4fec8aabbbcb5b8053a9091deab7685e387
--- /dev/null
+++ b/examples/third-party/get-jogl.xml
@@ -0,0 +1,204 @@
+<?xml version="1.0"?>
+
+<project name="nbody" default="build" basedir=".">
+   <!--<property name="jogamp-jar-url" value="http://jogamp.org/deployment/archive/rc/gluegen_28-joal_17-jogl_41-jocl_25/jar"/>-->
+   <property name="jogamp-jar-url" value="http://jogamp.org/deployment/archive/rc/gluegen_52-joal_32-jogl_66-jocl_41/jar"/>
+   <path id="compiler.class.path">
+      <pathelement path="../../com.amd.aparapi/dist/aparapi.jar"/>
+      <pathelement path="jogamp/jogl-all.jar"/>
+      <pathelement path="jogamp/gluegen-rt.jar"/>
+   </path>
+
+   <path id="runtime.class.path" cache="true">
+      <path refid="compiler.class.path"/>
+      <pathelement path="${ant.project.name}.jar"/>
+   </path>
+
+   <target name="getjogl-windows-i586" if="use.win32">
+      <delete dir="jogamp"/>
+      <get dest="jogamp">
+         <url url="${jogamp-jar-url}/jogl-all-natives-windows-i586.jar"/> 
+         <url url="${jogamp-jar-url}/gluegen-rt-natives-windows-i586.jar"/> 
+         <url url="${jogamp-jar-url}/jogl-all.jar"/> 
+         <url url="${jogamp-jar-url}/gluegen-rt.jar"/> 
+      </get>
+      <unzip src="jogamp/jogl-all-natives-windows-i586.jar" dest="jogamp"/>
+      <unzip src="jogamp/gluegen-rt-natives-windows-i586.jar" dest="jogamp"/>
+      <delete dir="jogamp/META-INF"/>
+   </target>
+
+   <target name="getjogl-windows-amd64" if="use.win64">
+      <delete dir="jogamp"/>
+      <get dest="jogamp">
+         <url url="${jogamp-jar-url}/jogl-all-natives-windows-amd64.jar"/> 
+         <url url="${jogamp-jar-url}/gluegen-rt-natives-windows-amd64.jar"/> 
+         <url url="${jogamp-jar-url}/jogl-all.jar"/> 
+         <url url="${jogamp-jar-url}/gluegen-rt.jar"/> 
+      </get>
+      <unzip src="jogamp/jogl-all-natives-windows-amd64.jar" dest="jogamp"/>
+      <unzip src="jogamp/gluegen-rt-natives-windows-amd64.jar" dest="jogamp"/>
+      <delete dir="jogamp/META-INF"/>
+   </target>
+
+   <target name="getjogl-linux-i586" if="use.linux32">
+      <delete dir="jogamp"/>
+      <get dest="jogamp">
+         <url url="${jogamp-jar-url}/jogl-all-natives-linux-i586.jar"/> 
+         <url url="${jogamp-jar-url}/gluegen-rt-natives-linux-i586.jar"/> 
+         <url url="${jogamp-jar-url}/jogl-all.jar"/> 
+         <url url="${jogamp-jar-url}/gluegen-rt.jar"/> 
+      </get>
+      <unzip src="jogamp/jogl-all-natives-linux-i586.jar" dest="jogamp"/>
+      <unzip src="jogamp/gluegen-rt-natives-linux-i586.jar" dest="jogamp"/>
+      <delete dir="jogamp/META-INF"/>
+   </target>
+
+   <target name="getjogl-linux-amd64" if="use.linux64">
+      <delete dir="jogamp"/>
+      <get dest="jogamp">
+         <url url="${jogamp-jar-url}/jogl-all-natives-linux-amd64.jar"/> 
+         <url url="${jogamp-jar-url}/gluegen-rt-natives-linux-amd64.jar"/> 
+         <url url="${jogamp-jar-url}/jogl-all.jar"/> 
+         <url url="${jogamp-jar-url}/gluegen-rt.jar"/> 
+      </get>
+      <unzip src="jogamp/jogl-all-natives-linux-amd64.jar" dest="jogamp"/>
+      <unzip src="jogamp/gluegen-rt-natives-linux-amd64.jar" dest="jogamp"/>
+      <delete dir="jogamp/META-INF"/>
+   </target>
+   
+   <target name="getjogl-mac-universal" if="use.mac.universal">
+      <delete dir="jogamp"/>
+	  <get dest="jogamp">
+	     <url url="${jogamp-jar-url}/jogl-all-natives-macosx-universal.jar"/> 
+	     <url url="${jogamp-jar-url}/gluegen-rt-natives-macosx-universal.jar"/> 
+	     <url url="${jogamp-jar-url}/jogl-all.jar"/> 
+	     <url url="${jogamp-jar-url}/gluegen-rt.jar"/> 
+	  </get>
+	  <unzip src="jogamp/jogl-all-natives-macosx-universal.jar" dest="jogamp"/>
+	  <unzip src="jogamp/gluegen-rt-natives-macosx-universal.jar" dest="jogamp"/>
+	  <delete dir="jogamp/META-INF"/>
+   </target>
+	
+   <target name="checkos">
+      <condition property="use.win32">
+         <and>
+            <os family="windows" />
+            <or>
+               <os arch="x86" />
+               <os arch="i386" />
+            </or>
+            <not><available file="jogamp/jogl-all-natives-windows-i586.jar"/> </not>
+            <not><available file="jogamp/gluegen-rt-natives-windows-i586.jar"/> </not>
+            <not><available file="jogamp/jogl-all.jar"/> </not>
+            <not><available file="jogamp/gluegen-rt.jar"/> </not>
+         </and>
+      </condition>
+      <condition property="use.win64">
+         <and>
+            <os family="windows" />
+            <not>
+               <or>
+                  <os arch="x86" />
+                  <os arch="i386" />
+               </or>
+            </not>
+            <not><available file="jogamp/jogl-all-natives-windows-amd64.jar"/> </not>
+            <not><available file="jogamp/gluegen-rt-natives-windows-amd64.jar"/> </not>
+            <not><available file="jogamp/jogl-all.jar"/> </not>
+            <not><available file="jogamp/gluegen-rt.jar"/> </not>
+         </and>
+      </condition>
+      <condition property="use.linux32">
+         <and>
+            <os family="unix" />
+            <not>
+               <os family="mac" />
+            </not>
+            <or>
+               <os arch="x86" />
+               <os arch="i386" />
+            </or>
+            <not><available file="jogamp/jogl-all-natives-linux-i586.jar"/> </not>
+            <not><available file="jogamp/gluegen-rt-natives-linux-i586.jar"/> </not>
+            <not><available file="jogamp/jogl-all.jar"/> </not>
+            <not><available file="jogamp/gluegen-rt.jar"/> </not>
+         </and>
+      </condition>
+      <condition property="use.linux64">
+         <and>
+            <os family="unix" />
+            <not>
+               <os family="mac" />
+            </not>
+            <not>
+               <or>
+                  <os arch="x86" />
+                  <os arch="i386" />
+               </or>
+            </not>
+            <not><available file="jogamp/jogl-all-natives-linux-amd64.jar"/> </not>
+            <not><available file="jogamp/gluegen-rt-natives-linux-amd64.jar"/> </not>
+            <not><available file="jogamp/jogl-all.jar"/> </not>
+            <not><available file="jogamp/gluegen-rt.jar"/> </not>
+         </and>
+      </condition>
+   	  <condition property="use.mac.universal">
+   	     <and>
+   	        <os family="mac" />
+   	        <not>
+   	           <or>
+   	              <os arch="x86" />
+   	              <os arch="i386" />
+   	           </or>
+   	        </not>
+   	        <not><available file="jogamp/jogl-all-natives-macosx-universal.jar"/> </not>
+   	        <not><available file="jogamp/gluegen-rt-natives-macosx-universal.jar"/> </not>
+   	        <not><available file="jogamp/jogl-all.jar"/> </not>
+   	        <not><available file="jogamp/gluegen-rt.jar"/> </not>
+   	     </and>
+   	  </condition>
+   </target>
+
+   <target name="getjogl" depends="checkos, getjogl-windows-i586, getjogl-windows-amd64, 
+   	getjogl-linux-i586, getjogl-linux-amd64, getjogl-mac-universal"/>
+
+   <target name="build" depends="clean, getjogl">
+      <mkdir dir="classes"/>
+      <javac srcdir="src" destdir="classes" debug="on" includeantruntime="false">
+         <classpath refid="compiler.class.path"/>
+      </javac>
+      <copy todir="classes/com/amd/aparapi/examples/nbody" file="src/com/amd/aparapi/examples/nbody/particle.jpg"/>
+      <jar jarfile="${ant.project.name}.jar" basedir="classes"/>
+   </target>
+
+   <target name="clean">
+      <delete dir="classes"/>
+      <delete file="${ant.project.name}.jar"/>
+   </target>
+
+   <target name="run-jtp">
+      <java classname="com.amd.aparapi.examples.nbody.Main" fork="true">
+         <classpath refid="runtime.class.path"/>
+         <sysproperty key="java.library.path" path="..\..\com.amd.aparapi.jni\dist;jogamp"/>
+         <sysproperty key="com.amd.aparapi.executionMode" value="JTP"/>
+         <sysproperty key="bodies" value="16384"/>
+         <sysproperty key="height" value="800"/>
+         <sysproperty key="width" value="800"/>
+      </java>
+   </target>
+
+   <target name="run-gpu">
+      <java classname="com.amd.aparapi.examples.nbody.Main" fork="true">
+         <classpath refid="runtime.class.path"/>
+         <sysproperty key="java.library.path" path="..\..\com.amd.aparapi.jni\dist;jogamp"/>
+         <sysproperty key="com.amd.aparapi.executionMode" value="GPU"/>
+         <sysproperty key="bodies" value="16384"/>
+         <sysproperty key="height" value="800"/>
+         <sysproperty key="width" value="800"/>
+      </java>
+   </target>
+
+   <target name="run" depends="run-gpu"/>
+
+
+</project>