diff --git a/src/main/java/com/aparapi/examples/All.java b/src/main/java/com/aparapi/examples/All.java
index fa1adcb3dea5f25ff975bf53ec390e84e67d0643..678be2e065ab04761500dd6b3af53cd70627a932 100644
--- a/src/main/java/com/aparapi/examples/All.java
+++ b/src/main/java/com/aparapi/examples/All.java
@@ -44,7 +44,19 @@ import com.aparapi.examples.progress.ProgressAndCancelDemo;
 
 import java.util.Scanner;
 
+/**
+ * <p>All class.</p>
+ *
+ * @author freemo
+ * @version $Id: $Id
+ */
 public class All {
+    /**
+     * <p>main.</p>
+     *
+     * @param _args an array of {@link java.lang.String} objects.
+     * @throws java.lang.Exception if any.
+     */
     public static void main(String[] _args) throws Exception {
         System.out.println("Select which example to run:");
         System.out.println("  1) Game of Life");
diff --git a/src/main/java/com/aparapi/examples/add/Main.java b/src/main/java/com/aparapi/examples/add/Main.java
index b6916fc5809b825a7c9f7769e5c0f11d895879da..875bc8cdc5a29f4d0dcf026f4a365417a9761da0 100644
--- a/src/main/java/com/aparapi/examples/add/Main.java
+++ b/src/main/java/com/aparapi/examples/add/Main.java
@@ -66,8 +66,19 @@ package com.aparapi.examples.add;
 import com.aparapi.Kernel;
 import com.aparapi.Range;
 
+/**
+ * <p>Main class.</p>
+ *
+ * @author freemo
+ * @version $Id: $Id
+ */
 public class Main{
 
+   /**
+    * <p>main.</p>
+    *
+    * @param _args an array of {@link java.lang.String} objects.
+    */
    public static void main(String[] _args) {
 
       final int size = 512;
diff --git a/src/main/java/com/aparapi/examples/afmandelbrot/AfAparapiUtils.java b/src/main/java/com/aparapi/examples/afmandelbrot/AfAparapiUtils.java
index fd4ea7d2eb073cefd5485fab78299db0f152eb3e..6d9d46aab9ca35236a9650815d5f9db9c3bc296d 100644
--- a/src/main/java/com/aparapi/examples/afmandelbrot/AfAparapiUtils.java
+++ b/src/main/java/com/aparapi/examples/afmandelbrot/AfAparapiUtils.java
@@ -28,16 +28,17 @@ import com.aparapi.internal.kernel.KernelManager;
 
 /**
  * Aparapi Fractals
- * 
+ *
  * Aparapi code is here and in the kernel.
- * 
+ *
  * The constructor prepares a map of Aparapi Devices using a String as a key.
  * The strings used as keys are created combining device shortDescription and
  * deviceId. That's for convenience, to show the keys on the gui combo box and
  * use them to retrieve the selected device and kernel from the maps.
- * 
+ *
  * @author marco.stefanetti at gmail.com
- * 
+ * @version $Id: $Id
+ * @since 2.0.1
  */
 public class AfAparapiUtils {
 
@@ -158,10 +159,10 @@ public class AfAparapiUtils {
 
 	/**
 	 * calls the init with a default localSize.
-	 * 
-	 * @param deviceKey
-	 * @param W
-	 * @param H
+	 *
+	 * @param deviceKey a {@link java.lang.String} object.
+	 * @param W a int.
+	 * @param H a int.
 	 */
 	public void init(String deviceKey, int W, int H) {
 
@@ -175,7 +176,12 @@ public class AfAparapiUtils {
 	 * Prepares the range and reads device description, based on the device and
 	 * image size the range can be reused many times, so we need to instantiate the
 	 * range only when device changes or image size changes
-	 * @param localSize2 
+	 *
+	 * @param deviceKey a {@link java.lang.String} object.
+	 * @param W a int.
+	 * @param H a int.
+	 * @param localSize0 a int.
+	 * @param localSize1 a int.
 	 */
 	public void init(String deviceKey, int W, int H, int localSize0, int localSize1) {
 
@@ -202,8 +208,15 @@ public class AfAparapiUtils {
 
 	/**
 	 * call the kernel execution and track elapsed time
-	 * 
+	 *
 	 * @return elapsed milliseconds
+	 * @param cx1 a double.
+	 * @param cy1 a double.
+	 * @param cx2 a double.
+	 * @param cy2 a double.
+	 * @param w a int.
+	 * @param h a int.
+	 * @param maxIterations a int.
 	 */
 	public long execute(double cx1, double cy1, double cx2, double cy2, int w, int h, int maxIterations) {
 
@@ -235,22 +248,39 @@ public class AfAparapiUtils {
 	}
 
 	/** @return the list of keys of the devices */
+	/**
+	 * <p>Getter for the field <code>deviceKeys</code>.</p>
+	 *
+	 * @return an array of {@link java.lang.String} objects.
+	 */
 	public String[] getDeviceKeys() {
 		return deviceKeys;
 	}
 
 	/** @return the name of the last device used */
+	/**
+	 * <p>Getter for the field <code>deviceName</code>.</p>
+	 *
+	 * @return a {@link java.lang.String} object.
+	 */
 	public String getDeviceName() {
 		return deviceName;
 	}
 
 	/** @return the dimension XxY of the local widths of the range */
+	/**
+	 * <p>getLocalSizes.</p>
+	 *
+	 * @return a {@link java.lang.String} object.
+	 */
 	public String getLocalSizes() {
 		String localSizes = range.getLocalSize_0() + " x " + range.getLocalSize_1();
 		return localSizes;
 	}
 
 	/**
+	 * <p>Getter for the field <code>bestDeviceKey</code>.</p>
+	 *
 	 * @return the key of the best device by KernelManager
 	 */
 	public String getBestDeviceKey() {
@@ -258,6 +288,8 @@ public class AfAparapiUtils {
 	}
 
 	/**
+	 * <p>Getter for the field <code>device</code>.</p>
+	 *
 	 * @return last device selected
 	 */
 	public Device getDevice() {
@@ -265,6 +297,8 @@ public class AfAparapiUtils {
 	}
 
 	/**
+	 * <p>Getter for the field <code>kernel</code>.</p>
+	 *
 	 * @return the kernel of the selected device
 	 */
 	public AfKernel getKernel() {
@@ -272,12 +306,19 @@ public class AfAparapiUtils {
 	}
 
 	/**
+	 * <p>Getter for the field <code>range</code>.</p>
+	 *
 	 * @return the range
 	 */
 	public Range getRange() {
 		return range;
 	}
 
+	/**
+	 * <p>getResult.</p>
+	 *
+	 * @return an array of {@link int} objects.
+	 */
 	public int[][] getResult() {
 		return kernel.getResult();
 	}
diff --git a/src/main/java/com/aparapi/examples/afmandelbrot/AfBenchmark.java b/src/main/java/com/aparapi/examples/afmandelbrot/AfBenchmark.java
index 016837a7193cc1de4d474f8d9471e7cf129aa9db..691b11ac74a97080b0c418b8c2446c88840b9228 100644
--- a/src/main/java/com/aparapi/examples/afmandelbrot/AfBenchmark.java
+++ b/src/main/java/com/aparapi/examples/afmandelbrot/AfBenchmark.java
@@ -24,11 +24,12 @@ import com.aparapi.device.Device;
 
 /**
  * Aparapi Fractals
- * 
+ *
  * only benchmark, results on the console, no graphics
- * 
+ *
  * @author marco.stefanetti at gmail.com
- * 
+ * @version $Id: $Id
+ * @since 2.0.1
  */
 public class AfBenchmark {
 
@@ -44,15 +45,17 @@ public class AfBenchmark {
 	/** set of different range2D, localSize x localSize   */
 	private static int[][] multipleLocalSizes = { {2,2}, {4,4}, {4,8}, {8,4}, {8,8}, {10,10}, {4,16}, {16,8}, {16,16} };
 
-	/** used by the GUI to ask to stop benchmark */
+	/**
+	 * used by the GUI to ask to stop benchmark
+	 */
 	public static void requestStop() {
 		running = false;
 	}
 
 	/**
 	 * executes a soft benchmark
-	 * 
-	 * @param afAparapiUtils
+	 *
+	 * @param afAparapiUtils a {@link com.aparapi.examples.afmandelbrot.AfAparapiUtils} object.
 	 */
 	public static void benchmarkSoft(AfAparapiUtils afAparapiUtils) {
 		LOG.debug("Starting benchmark Soft");
@@ -61,8 +64,8 @@ public class AfBenchmark {
 
 	/**
 	 * executes a hard benchmark
-	 * 
-	 * @param afAparapiUtils
+	 *
+	 * @param afAparapiUtils a {@link com.aparapi.examples.afmandelbrot.AfAparapiUtils} object.
 	 */
 	public static void benchmarkHard(AfAparapiUtils afAparapiUtils) {
 		LOG.debug("Starting benchmark Hard");
@@ -71,8 +74,8 @@ public class AfBenchmark {
 
 	/**
 	 * executes with different localSizes
-	 * 
-	 * @param afAparapiUtils
+	 *
+	 * @param afAparapiUtils a {@link com.aparapi.examples.afmandelbrot.AfAparapiUtils} object.
 	 */
 	public static void benchmarkLocalSizes(AfAparapiUtils afAparapiUtils) {
 		LOG.debug("Starting benchmark localSizes");
@@ -81,8 +84,8 @@ public class AfBenchmark {
 
 	/**
 	 * executes a repeated loop over all devices
-	 * 
-	 * @param afAparapiUtils
+	 *
+	 * @param afAparapiUtils a {@link com.aparapi.examples.afmandelbrot.AfAparapiUtils} object.
 	 */
 	public static void benchmarkStress(AfAparapiUtils afAparapiUtils) {
 		LOG.debug("Starting benchmark Stress");
@@ -91,6 +94,12 @@ public class AfBenchmark {
 		}
 	}
 
+	/**
+	 * <p>benchmark.</p>
+	 *
+	 * @param afAparapiUtils a {@link com.aparapi.examples.afmandelbrot.AfAparapiUtils} object.
+	 * @param mode a {@link java.lang.String} object.
+	 */
 	public static void benchmark(AfAparapiUtils afAparapiUtils, String mode) {
 		
 		if ("SOFT".equals(mode)) {
@@ -119,6 +128,19 @@ public class AfBenchmark {
 	/**
 	 * execute the kernel on different devices and tracks timings. The iterations
 	 * are discarded, used only here, no image refresh.
+	 *
+	 * @param afAparapiUtils a {@link com.aparapi.examples.afmandelbrot.AfAparapiUtils} object.
+	 * @param loopLocalSizes a boolean.
+	 * @param title a {@link java.lang.String} object.
+	 * @param cx1 a double.
+	 * @param cy1 a double.
+	 * @param cx2 a double.
+	 * @param cy2 a double.
+	 * @param W a int.
+	 * @param H a int.
+	 * @param max_iterations a int.
+	 * @param deviceTypeFilter a {@link java.lang.String} object.
+	 * @param sleep a long.
 	 */
 	@SuppressWarnings("deprecation")
 	public static void benchmark(AfAparapiUtils afAparapiUtils, boolean loopLocalSizes, String title, double cx1,
@@ -226,6 +248,11 @@ public class AfBenchmark {
 		LOG.debug("Benchmark over");
 	}
 
+	/**
+	 * <p>main.</p>
+	 *
+	 * @param args an array of {@link java.lang.String} objects.
+	 */
 	public static void main(String[] args) {
 
 		System.setProperty("com.aparapi.enableShowGeneratedOpenCL", "true");
diff --git a/src/main/java/com/aparapi/examples/afmandelbrot/AfGUI.java b/src/main/java/com/aparapi/examples/afmandelbrot/AfGUI.java
index aa47a801cc915a1842cb99d100e0bdf9a0bcd3c4..8713a965217d0871a00b1aa4368fc87d4bffc527 100644
--- a/src/main/java/com/aparapi/examples/afmandelbrot/AfGUI.java
+++ b/src/main/java/com/aparapi/examples/afmandelbrot/AfGUI.java
@@ -58,15 +58,15 @@ import org.apache.log4j.Logger;
 
 /**
  * Aparapi Fractals
- *  
+ *
  * The GUI, a swing JFrame with components. There is no Aparapi code here, only
  * swing and events handling. The GUI has no access to aparapiUtils, It
  * interacts only with the AfMain.
- * 
+ *
  * @author marco.stefanetti at gmail.com
- * 
+ * @version $Id: $Id
+ * @since 2.0.1
  */
-
 public class AfGUI {
 
 	/** logger */
@@ -151,7 +151,11 @@ public class AfGUI {
 	/** last maxIterations used is saved in the GUI for the GUI refresh */
 	protected long lastMaxIterations;
 
-	/** setup all the swing components and event listeners */
+	/**
+	 * setup all the swing components and event listeners
+	 *
+	 * @param _main a {@link com.aparapi.examples.afmandelbrot.AfMain} object.
+	 */
 	public AfGUI(AfMain _main) {
 
 		main = _main;
@@ -983,21 +987,33 @@ public class AfGUI {
 
 	}
 
+	/**
+	 * <p>deviceLedOn.</p>
+	 */
 	public void deviceLedOn() {
 		lblDeviceLed.setText("ON");
 		lblDeviceLed.setForeground(Color.RED);
 	}
 
+	/**
+	 * <p>deviceLedOff.</p>
+	 */
 	public void deviceLedOff() {
 		lblDeviceLed.setText("");
 		lblDeviceLed.setForeground(Color.GRAY);
 	}
 
+	/**
+	 * <p>benchmarkLedOn.</p>
+	 */
 	public void benchmarkLedOn() {
 		lblBenchmarkLed.setText("ON");
 		lblBenchmarkLed.setForeground(Color.RED);
 	}
 
+	/**
+	 * <p>benchmarkLedOff.</p>
+	 */
 	public void benchmarkLedOff() {
 		lblBenchmarkLed.setText("");
 		lblBenchmarkLed.setForeground(Color.GRAY);
diff --git a/src/main/java/com/aparapi/examples/afmandelbrot/AfKernel.java b/src/main/java/com/aparapi/examples/afmandelbrot/AfKernel.java
index a51bdf065636b5507b87abe1b0295a62cc3a39a5..677482b1739f30013c7476586e6e1f0108e8585a 100644
--- a/src/main/java/com/aparapi/examples/afmandelbrot/AfKernel.java
+++ b/src/main/java/com/aparapi/examples/afmandelbrot/AfKernel.java
@@ -19,13 +19,14 @@ import com.aparapi.Kernel;
 
 /**
  * Aparapi Fractals
- * 
+ *
  * the kernel executes the math with complex numbers. Coordinates refer to
  * complex plane. result is a vector of number of iterations, It is transformed
  * in a color in the GUI, not here
- * 
+ *
  * @author marco.stefanetti at gmail.com
- * 
+ * @version $Id: $Id
+ * @since 2.0.1
  */
 public class AfKernel extends Kernel {
 
@@ -50,7 +51,9 @@ public class AfKernel extends Kernel {
 	/** one pixel height */
 	private double hy;
 
-	/** no values on the constructor, we will reuse the kernel after init */
+	/**
+	 * no values on the constructor, we will reuse the kernel after init
+	 */
 	public AfKernel() {
 		super();
 	}
@@ -58,6 +61,14 @@ public class AfKernel extends Kernel {
 	/**
 	 * sets the parameters, send only few double to the device and a pointer to an
 	 * array to retrieve iterations
+	 *
+	 * @param _cx1 a double.
+	 * @param _cy1 a double.
+	 * @param _cx2 a double.
+	 * @param _cy2 a double.
+	 * @param _W a int.
+	 * @param _H a int.
+	 * @param _max_iterations a int.
 	 */
 	public void init(double _cx1, double _cy1, double _cx2, double _cy2, int _W, int _H, int _max_iterations) {
 
@@ -74,6 +85,8 @@ public class AfKernel extends Kernel {
 	}
 
 	/**
+	 * {@inheritDoc}
+	 *
 	 * just executes the "simple" math on a pixel
 	 */
 	@Override
@@ -113,6 +126,11 @@ public class AfKernel extends Kernel {
 
 	}
 
+	/**
+	 * <p>Getter for the field <code>result</code>.</p>
+	 *
+	 * @return an array of {@link int} objects.
+	 */
 	public int[][] getResult() {
 		return result;
 	}
diff --git a/src/main/java/com/aparapi/examples/afmandelbrot/AfMain.java b/src/main/java/com/aparapi/examples/afmandelbrot/AfMain.java
index 9c8d2b31eee745c974e277c4737ca932d7f607ef..4fd1045effcbc1c592e09b1cc6c9b96a8b7d601c 100644
--- a/src/main/java/com/aparapi/examples/afmandelbrot/AfMain.java
+++ b/src/main/java/com/aparapi/examples/afmandelbrot/AfMain.java
@@ -19,13 +19,14 @@ import org.apache.log4j.Logger;
 
 /**
  * Aparapi Fractals
- *  
+ *
  * The main class coordinates the GUI and Aparapi's executions. Complex plane
  * coordinates and iterations are saved here. If you are interested in Aparapi
  * code, just check AfAparapiUtils and AfKernel.
- * 
+ *
  * @author marco.stefanetti at gmail.com
- * 
+ * @version $Id: $Id
+ * @since 2.0.1
  */
 public class AfMain {
 
@@ -224,7 +225,9 @@ public class AfMain {
 
 	}
 
-	/** constructor */
+	/**
+	 * constructor
+	 */
 	public AfMain() {
 
 		profiler("MAIN start");
@@ -242,10 +245,10 @@ public class AfMain {
 
 	/**
 	 * initialize local iterations array and aparapiUtils
-	 * 
-	 * @param selectedDeviceKey new device key
+	 *
 	 * @param _W                new image width
 	 * @param _H                new image height
+	 * @param _selectedDeviceKey a {@link java.lang.String} object.
 	 */
 	public synchronized void init(String _selectedDeviceKey, int _W, int _H) {
 
@@ -264,7 +267,7 @@ public class AfMain {
 
 	/**
 	 * go to new coordinates using x,y pixel as new center and a zoom factor.
-	 * 
+	 *
 	 * @param x          new central pixel x
 	 * @param y          new central pixel y
 	 * @param zoomFactor zoomFactor is relative to dimensions in complex plane
@@ -366,15 +369,26 @@ public class AfMain {
 		return elapsed;
 	}
 
+	/**
+	 * <p>threadGoHome.</p>
+	 *
+	 * @param steps a int.
+	 */
 	public void threadGoHome(int steps) {
 		threadGo(-2d, -2d, 2d, 2d, steps);
 	}
 
+	/**
+	 * <p>goHome.</p>
+	 */
 	public void goHome() {
 		stopThread();
 		go(-2d, -2d, 2d, 2d);
 	}
 
+	/**
+	 * <p>stopThread.</p>
+	 */
 	public void stopThread() {
 
 		if (goThread == null) {
@@ -390,10 +404,22 @@ public class AfMain {
 
 	}
 
+	/**
+	 * <p>threadGo.</p>
+	 */
 	public void threadGo() {
 		threadGo(cx1, cy1, cx2, cy2, 0);
 	}
 
+	/**
+	 * <p>threadGo.</p>
+	 *
+	 * @param tx1 a double.
+	 * @param ty1 a double.
+	 * @param tx2 a double.
+	 * @param ty2 a double.
+	 * @param steps a double.
+	 */
 	public void threadGo(double tx1, double ty1, double tx2, double ty2, double steps) {
 
 		stopThread();
@@ -402,7 +428,11 @@ public class AfMain {
 
 	}
 
-	/** starts a benchmark in a separate thread */
+	/**
+	 * starts a benchmark in a separate thread
+	 *
+	 * @param benchmarkMode a {@link java.lang.String} object.
+	 */
 	public void benchmark(final String benchmarkMode) {
 
 		if (benchmarkRunning) {
@@ -440,7 +470,9 @@ public class AfMain {
 
 	}
 
-	/** stops the benchmark thread */
+	/**
+	 * stops the benchmark thread
+	 */
 	public void stopBenchmark() {
 
 		if (!benchmarkRunning) {
@@ -458,7 +490,7 @@ public class AfMain {
 
 	/**
 	 * used by the GUI, the GUI has no direct access to the aparapi stuffs
-	 * 
+	 *
 	 * @return the list of devices from aparapiUtils
 	 */
 	public String[] getDeviceKeys() {
@@ -469,21 +501,27 @@ public class AfMain {
 	 * used by the GUI to show the name of the device. It's different from the
 	 * combobox (selectedDeviceKey), here you get the real name of the device, e.g.
 	 * "NVidia 1650 SUPER""
-	 * 
+	 *
 	 * @return the name of the current device
 	 */
 	public String getDeviceName() {
 		return afAparapiUtils.getDeviceName();
 	}
 
-	/** used to profile main and gui startup */
+	/**
+	 * used to profile main and gui startup
+	 *
+	 * @param message a {@link java.lang.String} object.
+	 */
 	protected void profiler(String message) {
 		long ms = System.currentTimeMillis() - profilerLastTimeMillis;
 		LOG.debug(String.format("profiler - %-20s : %-10d ms", message, ms));
 		profilerLastTimeMillis = System.currentTimeMillis();
 	}
 
-	/** gui creation executed in the swing thread */
+	/**
+	 * gui creation executed in the swing thread
+	 */
 	protected void createAndShowGUI() {
 
 		// swing load
@@ -497,6 +535,11 @@ public class AfMain {
 
 	}
 
+	/**
+	 * <p>main.</p>
+	 *
+	 * @param args an array of {@link java.lang.String} objects.
+	 */
 	public static void main(String[] args) {
 
 		System.setProperty("com.aparapi.enableShowGeneratedOpenCL", "true");
diff --git a/src/main/java/com/aparapi/examples/blackscholes/Main.java b/src/main/java/com/aparapi/examples/blackscholes/Main.java
index 3ca4c6afc1e932c9415d8c179ae6e944d933d135..0e57d7c9fac00167b4728b8d2b1c222327806636 100644
--- a/src/main/java/com/aparapi/examples/blackscholes/Main.java
+++ b/src/main/java/com/aparapi/examples/blackscholes/Main.java
@@ -65,6 +65,12 @@ package com.aparapi.examples.blackscholes;
 import com.aparapi.Kernel;
 import com.aparapi.Range;
 
+/**
+ * <p>Main class.</p>
+ *
+ * @author freemo
+ * @version $Id: $Id
+ */
 public class Main{
 
    public static class BlackScholesKernel extends Kernel{
@@ -203,6 +209,14 @@ public class Main{
       }
    }
 
+   /**
+    * <p>main.</p>
+    *
+    * @param _args an array of {@link java.lang.String} objects.
+    * @throws java.lang.ClassNotFoundException if any.
+    * @throws java.lang.InstantiationException if any.
+    * @throws java.lang.IllegalAccessException if any.
+    */
    public static void main(String[] _args) throws ClassNotFoundException, InstantiationException, IllegalAccessException {
 
       int size = Integer.getInteger("size", 1024);
diff --git a/src/main/java/com/aparapi/examples/configuration/AutoCleanUpArraysDemo.java b/src/main/java/com/aparapi/examples/configuration/AutoCleanUpArraysDemo.java
index 36cd140d6be744dbad78200d99db26563cd2bf57..c94c4e7621cdc09d218fd8295b1a027f7af0a086 100644
--- a/src/main/java/com/aparapi/examples/configuration/AutoCleanUpArraysDemo.java
+++ b/src/main/java/com/aparapi/examples/configuration/AutoCleanUpArraysDemo.java
@@ -27,7 +27,18 @@ package com.aparapi.examples.configuration;
 
 import com.aparapi.examples.mandel.Main;
 
+/**
+ * <p>AutoCleanUpArraysDemo class.</p>
+ *
+ * @author freemo
+ * @version $Id: $Id
+ */
 public class AutoCleanUpArraysDemo {
+   /**
+    * <p>main.</p>
+    *
+    * @param ignored an array of {@link java.lang.String} objects.
+    */
    public static void main(String[] ignored) {
 
       System.setProperty("com.aparapi.dumpProfileOnExecution", "true");
diff --git a/src/main/java/com/aparapi/examples/configuration/CleanUpArraysDemo.java b/src/main/java/com/aparapi/examples/configuration/CleanUpArraysDemo.java
index bedd728528bd5be17797523472d02b59c22b7515..629015423f093fc17d6a1074f11436b5d3d82e58 100644
--- a/src/main/java/com/aparapi/examples/configuration/CleanUpArraysDemo.java
+++ b/src/main/java/com/aparapi/examples/configuration/CleanUpArraysDemo.java
@@ -27,7 +27,18 @@ package com.aparapi.examples.configuration;
 
 import com.aparapi.examples.mandel.Main;
 
+/**
+ * <p>CleanUpArraysDemo class.</p>
+ *
+ * @author freemo
+ * @version $Id: $Id
+ */
 public class CleanUpArraysDemo {
+   /**
+    * <p>main.</p>
+    *
+    * @param ignored an array of {@link java.lang.String} objects.
+    */
    public static void main(String[] ignored) {
 
       System.setProperty("com.aparapi.enableVerboseJNI", "true");
diff --git a/src/main/java/com/aparapi/examples/configuration/ConfigurationDemo.java b/src/main/java/com/aparapi/examples/configuration/ConfigurationDemo.java
index 0fbdf7e26644dc27734d7f7128f71a01df0b0bb0..82195d320b50bb5f86282615fe703783da42139c 100644
--- a/src/main/java/com/aparapi/examples/configuration/ConfigurationDemo.java
+++ b/src/main/java/com/aparapi/examples/configuration/ConfigurationDemo.java
@@ -32,8 +32,16 @@ import java.util.*;
 
 /**
  * Tests device selection via {@link com.aparapi.internal.kernel.KernelManager}.
+ *
+ * @author freemo
+ * @version $Id: $Id
  */
 public class ConfigurationDemo {
+   /**
+    * <p>main.</p>
+    *
+    * @param ignored an array of {@link java.lang.String} objects.
+    */
    public static void main(String[] ignored) {
       StringBuilder report;
 
diff --git a/src/main/java/com/aparapi/examples/configuration/CustomConfigurationDemo.java b/src/main/java/com/aparapi/examples/configuration/CustomConfigurationDemo.java
index 2d83fbecee0ab12d3c1928215f77879f7fd4ac0f..ff1a34b264a13e3999960f1e06b23d47444475d6 100644
--- a/src/main/java/com/aparapi/examples/configuration/CustomConfigurationDemo.java
+++ b/src/main/java/com/aparapi/examples/configuration/CustomConfigurationDemo.java
@@ -32,9 +32,17 @@ import java.util.*;
 
 /**
  * Created by Barney on 31/08/2015.
+ *
+ * @author freemo
+ * @version $Id: $Id
  */
 public class CustomConfigurationDemo {
 
+   /**
+    * <p>main.</p>
+    *
+    * @param ignored an array of {@link java.lang.String} objects.
+    */
    public static void main(String[] ignored) {
       System.setProperty("com.aparapi.dumpProfilesOnExit", "true");
       KernelManager manager = new KernelManager() {
diff --git a/src/main/java/com/aparapi/examples/configuration/KernelOkayInOpenCL.java b/src/main/java/com/aparapi/examples/configuration/KernelOkayInOpenCL.java
index 7846ed0a145e8a775bffd55c56033e8d43611606..bd2b488ff6b9569a7309e8f642ae1c1265a72e5a 100644
--- a/src/main/java/com/aparapi/examples/configuration/KernelOkayInOpenCL.java
+++ b/src/main/java/com/aparapi/examples/configuration/KernelOkayInOpenCL.java
@@ -27,11 +27,15 @@ package com.aparapi.examples.configuration;
 
 /**
  * Created by Barney on 24/08/2015.
+ *
+ * @author freemo
+ * @version $Id: $Id
  */
 public class KernelOkayInOpenCL extends com.aparapi.Kernel {
    char[] inChars = "KernelOkayInOpenCL".toCharArray();
    char[] outChars = new char[inChars.length];
 
+   /** {@inheritDoc} */
    @Override
    public void run() {
       int index = getGlobalId();
diff --git a/src/main/java/com/aparapi/examples/configuration/KernelWithAlternateFallbackAlgorithm.java b/src/main/java/com/aparapi/examples/configuration/KernelWithAlternateFallbackAlgorithm.java
index 6f2f7c76c82e790f344b05405997a856d238e025..943cb3d856bd05a3f6cbd31a9538649151c96ccf 100644
--- a/src/main/java/com/aparapi/examples/configuration/KernelWithAlternateFallbackAlgorithm.java
+++ b/src/main/java/com/aparapi/examples/configuration/KernelWithAlternateFallbackAlgorithm.java
@@ -29,19 +29,25 @@ import com.aparapi.*;
 
 /**
  * Kernel which will always fail to run on an OpenCLDevice but has an alternative fallback algorithm.
+ *
+ * @author freemo
+ * @version $Id: $Id
  */
 public class KernelWithAlternateFallbackAlgorithm extends Kernel {
+   /** {@inheritDoc} */
    @Override
    public void run() {
       // deliberately, will fail to generate OpenCL as println is unsupported
       System.out.println("Running in Java (regular algorithm)");
    }
 
+   /** {@inheritDoc} */
    @Override
    public boolean hasFallbackAlgorithm() {
       return true;
    }
 
+   /** {@inheritDoc} */
    @Override
    public void executeFallbackAlgorithm(Range _range, int _passes) {
       System.out.println("Running in Java (alternate non-parallel algorithm)");
diff --git a/src/main/java/com/aparapi/examples/configuration/KernelWithoutAlternateFallbackAlgorithm.java b/src/main/java/com/aparapi/examples/configuration/KernelWithoutAlternateFallbackAlgorithm.java
index cd671315b92e47a6a0aa5e183bfb4a00fab7f811..c5a26f94fa23199920ea22782bb8ea6c19e9405f 100644
--- a/src/main/java/com/aparapi/examples/configuration/KernelWithoutAlternateFallbackAlgorithm.java
+++ b/src/main/java/com/aparapi/examples/configuration/KernelWithoutAlternateFallbackAlgorithm.java
@@ -29,8 +29,12 @@ import com.aparapi.*;
 
 /**
  * Kernel which will always fail to run on an OpenCLDevice but has an alternative fallback algorithm.
+ *
+ * @author freemo
+ * @version $Id: $Id
  */
 public class KernelWithoutAlternateFallbackAlgorithm extends Kernel {
+   /** {@inheritDoc} */
    @Override
    public void run() {
       // deliberately, will fail to generate OpenCL as println is unsupported
diff --git a/src/main/java/com/aparapi/examples/configuration/LegacyConfigurationDemo.java b/src/main/java/com/aparapi/examples/configuration/LegacyConfigurationDemo.java
index 3f4fb9bc26a4d6dd821477d972b4b3e5d93026e6..c10fe4a51632b18fda5a7fded53de89e3baf32e0 100644
--- a/src/main/java/com/aparapi/examples/configuration/LegacyConfigurationDemo.java
+++ b/src/main/java/com/aparapi/examples/configuration/LegacyConfigurationDemo.java
@@ -31,9 +31,17 @@ import com.aparapi.internal.kernel.*;
 /**
  * Tests device selection when circumventing the {@link com.aparapi.internal.kernel.KernelManager} by using the legacy mechanism
  * (setExecutionMode, etc.).
+ *
+ * @author freemo
+ * @version $Id: $Id
  */
 public class LegacyConfigurationDemo {
 
+   /**
+    * <p>main.</p>
+    *
+    * @param ignored an array of {@link java.lang.String} objects.
+    */
    @SuppressWarnings("deprecation")
    public static void main(String[] ignored) {
       System.setProperty("com.aparapi.executionMode", "GPU,CPU,SEQ");
diff --git a/src/main/java/com/aparapi/examples/configuration/ProfilingDemo.java b/src/main/java/com/aparapi/examples/configuration/ProfilingDemo.java
index 0c3f13b690739b302329f214105980c4242dd274..095d808c130e10cc74e069d0cb266f1da36194da 100644
--- a/src/main/java/com/aparapi/examples/configuration/ProfilingDemo.java
+++ b/src/main/java/com/aparapi/examples/configuration/ProfilingDemo.java
@@ -31,11 +31,19 @@ import com.aparapi.internal.kernel.*;
 
 /**
  * Demonstrate new enhanced profiling capability, profiling the kernel from the blackscholes sample.
+ *
+ * @author freemo
+ * @version $Id: $Id
  */
 public class ProfilingDemo {
 
    private static com.aparapi.examples.blackscholes.Main.BlackScholesKernel kernel;
 
+   /**
+    * <p>main.</p>
+    *
+    * @param ignored an array of {@link java.lang.String} objects.
+    */
    public static void main(String[] ignored) {
 
       final int size = 1024;
diff --git a/src/main/java/com/aparapi/examples/configuration/ProfilingDemoNoBinaryCaching.java b/src/main/java/com/aparapi/examples/configuration/ProfilingDemoNoBinaryCaching.java
index e90e3d441d594e4e1e4d258b25ac375a318005e6..a04ab7b21e3f333f1c16cf5bcc07dc8f584c10d7 100644
--- a/src/main/java/com/aparapi/examples/configuration/ProfilingDemoNoBinaryCaching.java
+++ b/src/main/java/com/aparapi/examples/configuration/ProfilingDemoNoBinaryCaching.java
@@ -29,9 +29,17 @@ import com.aparapi.internal.kernel.*;
 
 /**
  * Created by Barney on 13/09/2015.
+ *
+ * @author freemo
+ * @version $Id: $Id
  */
 public class ProfilingDemoNoBinaryCaching {
 
+   /**
+    * <p>main.</p>
+    *
+    * @param ignored an array of {@link java.lang.String} objects.
+    */
    public static void main(String[] ignored) {
       KernelRunner.BINARY_CACHING_DISABLED = true;
       ProfilingDemo.main(null);
diff --git a/src/main/java/com/aparapi/examples/convolution/ConvMatrix3x3Editor.java b/src/main/java/com/aparapi/examples/convolution/ConvMatrix3x3Editor.java
index 02588b17a837eec25560810fc95e5d9505ae9dc6..c00932f847c518b42501e6330cf4c0bab5ab87af 100644
--- a/src/main/java/com/aparapi/examples/convolution/ConvMatrix3x3Editor.java
+++ b/src/main/java/com/aparapi/examples/convolution/ConvMatrix3x3Editor.java
@@ -79,6 +79,12 @@ import javax.swing.SpinnerNumberModel;
 import javax.swing.event.ChangeEvent;
 import javax.swing.event.ChangeListener;
 
+/**
+ * <p>ConvMatrix3x3Editor class.</p>
+ *
+ * @author freemo
+ * @version $Id: $Id
+ */
 public class ConvMatrix3x3Editor{
    Component component;
 
@@ -110,6 +116,11 @@ public class ConvMatrix3x3Editor{
 
    JSpinner[] spinners = new JSpinner[9];
 
+   /**
+    * <p>updated.</p>
+    *
+    * @param _convMatrix3x3 an array of {@link float} objects.
+    */
    protected void updated(float[] _convMatrix3x3) {
 
    };
diff --git a/src/main/java/com/aparapi/examples/convolution/Convolution.java b/src/main/java/com/aparapi/examples/convolution/Convolution.java
index 19751826048c0a37491173496688e91e44224d5b..ca7f639c77ad626c02f595c12cbea78412ead48a 100644
--- a/src/main/java/com/aparapi/examples/convolution/Convolution.java
+++ b/src/main/java/com/aparapi/examples/convolution/Convolution.java
@@ -68,8 +68,20 @@ import com.aparapi.*;
 import java.io.*;
 import java.net.URISyntaxException;
 
+/**
+ * <p>Convolution class.</p>
+ *
+ * @author freemo
+ * @version $Id: $Id
+ */
 public class Convolution {
 
+    /**
+     * <p>main.</p>
+     *
+     * @param _args an array of {@link java.lang.String} objects.
+     * @throws java.io.IOException if any.
+     */
     public static void main(final String[] _args) throws IOException {
         final File file;
         try{
@@ -147,4 +159,4 @@ public class Convolution {
             execute(3 * width * height);
         }
     }
-}
\ No newline at end of file
+}
diff --git a/src/main/java/com/aparapi/examples/convolution/ConvolutionOpenCL.java b/src/main/java/com/aparapi/examples/convolution/ConvolutionOpenCL.java
index ad7d4d803884fb88a4a50144c1906b9a01f1437b..2f857150974a770f633169d5bcab95219ac3f0e2 100644
--- a/src/main/java/com/aparapi/examples/convolution/ConvolutionOpenCL.java
+++ b/src/main/java/com/aparapi/examples/convolution/ConvolutionOpenCL.java
@@ -72,6 +72,12 @@ import com.aparapi.opencl.OpenCL.*;
 import java.io.*;
 import java.net.URISyntaxException;
 
+/**
+ * <p>ConvolutionOpenCL class.</p>
+ *
+ * @author freemo
+ * @version $Id: $Id
+ */
 public class ConvolutionOpenCL{
 
    @Resource("convolution.cl") interface Convolution extends OpenCL<Convolution>{
@@ -84,6 +90,11 @@ public class ConvolutionOpenCL{
             @Arg("_height") int _height);
    }
 
+   /**
+    * <p>main.</p>
+    *
+    * @param _args an array of {@link java.lang.String} objects.
+    */
    public static void main(final String[] _args) {
       final File file;
       try{
diff --git a/src/main/java/com/aparapi/examples/convolution/ConvolutionViewer.java b/src/main/java/com/aparapi/examples/convolution/ConvolutionViewer.java
index 52f9c68d90a0d95436d05598627d0fb76471961c..ecae217d385eac4faeee9ca6f3d0c428561b53fa 100644
--- a/src/main/java/com/aparapi/examples/convolution/ConvolutionViewer.java
+++ b/src/main/java/com/aparapi/examples/convolution/ConvolutionViewer.java
@@ -77,6 +77,12 @@ import javax.swing.JFrame;
 import javax.swing.JLabel;
 import javax.swing.WindowConstants;
 
+/**
+ * <p>Abstract ConvolutionViewer class.</p>
+ *
+ * @author freemo
+ * @version $Id: $Id
+ */
 @SuppressWarnings("serial") public abstract class ConvolutionViewer extends JFrame{
 
    private int height;
@@ -95,6 +101,12 @@ import javax.swing.WindowConstants;
 
    private float[] convMatrix3x3;
 
+   /**
+    * <p>Constructor for ConvolutionViewer.</p>
+    *
+    * @param _file a {@link java.io.File} object.
+    * @param _convMatrix3x3 an array of {@link float} objects.
+    */
    public ConvolutionViewer(File _file, float[] _convMatrix3x3) {
 
       JFrame frame = new JFrame("Convolution Viewer");
@@ -151,6 +163,15 @@ import javax.swing.WindowConstants;
 
    }
 
+   /**
+    * <p>applyConvolution.</p>
+    *
+    * @param convMatrix3x3 an array of {@link float} objects.
+    * @param _inBytes an array of {@link byte} objects.
+    * @param _outBytes an array of {@link byte} objects.
+    * @param _width a int.
+    * @param _height a int.
+    */
    abstract protected void applyConvolution(float[] convMatrix3x3, byte[] _inBytes, byte[] _outBytes, int _width, int _height);
 
 }
diff --git a/src/main/java/com/aparapi/examples/convolution/PureJava.java b/src/main/java/com/aparapi/examples/convolution/PureJava.java
index 665ef0968f85f0ffa2136868d5e5f232c6db90fb..909ae995c3422c34b874535080548465144ff650 100644
--- a/src/main/java/com/aparapi/examples/convolution/PureJava.java
+++ b/src/main/java/com/aparapi/examples/convolution/PureJava.java
@@ -68,6 +68,12 @@ import java.net.URISyntaxException;
 
 import com.aparapi.Kernel;
 
+/**
+ * <p>PureJava class.</p>
+ *
+ * @author freemo
+ * @version $Id: $Id
+ */
 public class PureJava{
 
    final static class ImageConvolution extends Kernel{
@@ -114,6 +120,11 @@ public class PureJava{
 
    }
 
+   /**
+    * <p>main.</p>
+    *
+    * @param _args an array of {@link java.lang.String} objects.
+    */
    public static void main(final String[] _args) {
       final File file;
       try{
diff --git a/src/main/java/com/aparapi/examples/effects/Main.java b/src/main/java/com/aparapi/examples/effects/Main.java
index 9d4e85e763212c78a65ed65bf6a083b70e76fea8..561f613ad87c249c29ce3a74adc213757a8582b2 100644
--- a/src/main/java/com/aparapi/examples/effects/Main.java
+++ b/src/main/java/com/aparapi/examples/effects/Main.java
@@ -81,15 +81,14 @@ import com.aparapi.Kernel;
 import com.aparapi.Range;
 
 /**
- * An example Aparapi application which tracks the mouse and updates the color pallete of the window based on the distance from the mouse pointer. 
- * 
- * On GPU, additional computing units will offer a better viewing experience. On the other hand on CPU, this example 
- * application might suffer with sub-optimal frame refresh rate as compared to GPU. 
- *  
- * @author gfrost
+ * An example Aparapi application which tracks the mouse and updates the color pallete of the window based on the distance from the mouse pointer.
+ *
+ * On GPU, additional computing units will offer a better viewing experience. On the other hand on CPU, this example
+ * application might suffer with sub-optimal frame refresh rate as compared to GPU.
  *
+ * @author gfrost
+ * @version $Id: $Id
  */
-
 public class Main{
 
    /**
@@ -177,6 +176,11 @@ public class Main{
    /** We track the latest mouse position here. */
    public static volatile Point mousePosition = null;
 
+   /**
+    * <p>main.</p>
+    *
+    * @param _args an array of {@link java.lang.String} objects.
+    */
    @SuppressWarnings("serial") public static void main(String[] _args) {
 
       JFrame frame = new JFrame("MouseTracker");
diff --git a/src/main/java/com/aparapi/examples/extension/FFTExample.java b/src/main/java/com/aparapi/examples/extension/FFTExample.java
index 16638aeeb36ae13703f95040a075b6d377c6c0a9..b9eeff2bfa59e9ed64be62b1902903ba13322bcb 100644
--- a/src/main/java/com/aparapi/examples/extension/FFTExample.java
+++ b/src/main/java/com/aparapi/examples/extension/FFTExample.java
@@ -33,6 +33,12 @@ import com.aparapi.opencl.OpenCL.*;
 
 import java.util.*;
 
+/**
+ * <p>FFTExample class.</p>
+ *
+ * @author freemo
+ * @version $Id: $Id
+ */
 public class FFTExample{
 
    @Resource("fft.cl")
@@ -117,6 +123,11 @@ public class FFTExample{
 
    }
 
+   /**
+    * <p>main.</p>
+    *
+    * @param args an array of {@link java.lang.String} objects.
+    */
    public static void main(String[] args) {
       final int LEN = 1024;
       final float initial[] = new float[LEN];
diff --git a/src/main/java/com/aparapi/examples/extension/Histogram.java b/src/main/java/com/aparapi/examples/extension/Histogram.java
index d4b6c97ada20a5886af8a8b7c1abdcf936f69fdb..bc2b467502f73b300d6735d0548cf3d8946d8047 100644
--- a/src/main/java/com/aparapi/examples/extension/Histogram.java
+++ b/src/main/java/com/aparapi/examples/extension/Histogram.java
@@ -32,6 +32,12 @@ import com.aparapi.device.OpenCLDevice;
 import com.aparapi.opencl.OpenCL;
 import com.aparapi.opencl.OpenCL.Resource;
 
+/**
+ * <p>Histogram class.</p>
+ *
+ * @author freemo
+ * @version $Id: $Id
+ */
 public class Histogram{
 
    @Resource("HistogramKernel.cl") interface HistogramKernel extends OpenCL<HistogramKernel>{
@@ -50,6 +56,11 @@ public class Histogram{
             @Arg("subHistogramSize") int subHistogramSize);
    }
 
+   /**
+    * <p>main.</p>
+    *
+    * @param args an array of {@link java.lang.String} objects.
+    */
    public static void main(String[] args) {
       final int WIDTH = 1024 * 16;
       final int HEIGHT = 1024 * 8;
diff --git a/src/main/java/com/aparapi/examples/extension/HistogramIdeal.java b/src/main/java/com/aparapi/examples/extension/HistogramIdeal.java
index 8e961352aa4b6dad6bfbf4a87f4c757892e2dead..df60e5a5c586bc4a1dd0e358c4f76d8f00e95780 100644
--- a/src/main/java/com/aparapi/examples/extension/HistogramIdeal.java
+++ b/src/main/java/com/aparapi/examples/extension/HistogramIdeal.java
@@ -31,6 +31,12 @@ import com.aparapi.device.OpenCLDevice;
 import com.aparapi.internal.kernel.*;
 import com.aparapi.opencl.OpenCL;
 
+/**
+ * <p>HistogramIdeal class.</p>
+ *
+ * @author freemo
+ * @version $Id: $Id
+ */
 public class HistogramIdeal{
 
    // @Resource("com/amd/aparapi/sample/extension/HistogramKernel.cl")
@@ -50,6 +56,11 @@ public class HistogramIdeal{
             @Arg("subHistogramSize") int subHistogramSize);
    }
 
+   /**
+    * <p>main.</p>
+    *
+    * @param args an array of {@link java.lang.String} objects.
+    */
    public static void main(String[] args) {
       final int WIDTH = 1024 * 16;
       final int HEIGHT = 1024 * 8;
diff --git a/src/main/java/com/aparapi/examples/extension/JavaMandelBrot.java b/src/main/java/com/aparapi/examples/extension/JavaMandelBrot.java
index a8bc20c28e381089c54428d54cbaa29a2b632095..d99e075c3876dc71f6c0bf329fd12bc840ed565b 100644
--- a/src/main/java/com/aparapi/examples/extension/JavaMandelBrot.java
+++ b/src/main/java/com/aparapi/examples/extension/JavaMandelBrot.java
@@ -30,6 +30,12 @@ import com.aparapi.device.*;
 import com.aparapi.internal.kernel.*;
 import com.aparapi.opencl.*;
 
+/**
+ * <p>JavaMandelBrot class.</p>
+ *
+ * @author freemo
+ * @version $Id: $Id
+ */
 public class JavaMandelBrot extends OpenCLAdapter<MandelBrot> implements MandelBrot{
    final int MAX_ITERATIONS = 64;
 
@@ -101,6 +107,7 @@ public class JavaMandelBrot extends OpenCLAdapter<MandelBrot> implements MandelB
          0
    };
 
+   /** {@inheritDoc} */
    @Override public MandelBrot createMandleBrot(Range range, float scale, float offsetx, float offsety, int[] rgb) {
 
       final int width = range.getGlobalSize(0);
diff --git a/src/main/java/com/aparapi/examples/extension/JavaMandelBrotMultiThread.java b/src/main/java/com/aparapi/examples/extension/JavaMandelBrotMultiThread.java
index d5e837bc172a66bd09b9672aab51d70c2d151923..317d8aab08ef8803d975b1748d153b8a3d06e96d 100644
--- a/src/main/java/com/aparapi/examples/extension/JavaMandelBrotMultiThread.java
+++ b/src/main/java/com/aparapi/examples/extension/JavaMandelBrotMultiThread.java
@@ -33,6 +33,12 @@ import com.aparapi.internal.kernel.*;
 import com.aparapi.opencl.*;
 import com.aparapi.Range;
 
+/**
+ * <p>JavaMandelBrotMultiThread class.</p>
+ *
+ * @author freemo
+ * @version $Id: $Id
+ */
 public class JavaMandelBrotMultiThread extends OpenCLAdapter<MandelBrot> implements MandelBrot{
    final int MAX_ITERATIONS = 64;
 
@@ -104,6 +110,7 @@ public class JavaMandelBrotMultiThread extends OpenCLAdapter<MandelBrot> impleme
          0
    };
 
+   /** {@inheritDoc} */
    @Override public MandelBrot createMandleBrot(final Range range, final float scale, final float offsetx, final float offsety,
          final int[] rgb) {
 
diff --git a/src/main/java/com/aparapi/examples/extension/Mandel.java b/src/main/java/com/aparapi/examples/extension/Mandel.java
index 7f0a8e4d125acea43c4eb9c5b4c48c6b11d4921e..b5f676d2fab8c5786a5daa391c3804344803a1f5 100644
--- a/src/main/java/com/aparapi/examples/extension/Mandel.java
+++ b/src/main/java/com/aparapi/examples/extension/Mandel.java
@@ -46,11 +46,21 @@ import com.aparapi.opencl.OpenCL.Resource;
  * application might suffer with sub-optimal frame refresh rate as compared to GPU.
  *
  * @author gfrost
- *
+ * @version $Id: $Id
  */
 
 @Resource("mandel2.cl")
 public interface Mandel extends OpenCL<Mandel>{
+   /**
+    * <p>createMandleBrot.</p>
+    *
+    * @param range a {@link com.aparapi.Range} object.
+    * @param scale a float.
+    * @param offsetx a float.
+    * @param offsety a float.
+    * @param rgb an array of {@link int} objects.
+    * @return a {@link com.aparapi.examples.extension.Mandel} object.
+    */
    Mandel createMandleBrot(//
                            Range range,//
                            @Arg("scale") float scale, //
diff --git a/src/main/java/com/aparapi/examples/extension/MandelBrot.java b/src/main/java/com/aparapi/examples/extension/MandelBrot.java
index cdc2ccbb71a0c43b9c032fa2c9602ae651753e0f..3d08e7b58c6b602fde947bc47d4ab3ea3d2bbe13 100644
--- a/src/main/java/com/aparapi/examples/extension/MandelBrot.java
+++ b/src/main/java/com/aparapi/examples/extension/MandelBrot.java
@@ -39,11 +39,21 @@ import com.aparapi.opencl.OpenCL.Resource;
  * application might suffer with sub-optimal frame refresh rate as compared to GPU.
  *
  * @author gfrost
- *
+ * @version $Id: $Id
  */
 
 @Resource("mandel2.cl")
 public interface MandelBrot extends OpenCL<MandelBrot>{
+   /**
+    * <p>createMandleBrot.</p>
+    *
+    * @param range a {@link com.aparapi.Range} object.
+    * @param scale a float.
+    * @param offsetx a float.
+    * @param offsety a float.
+    * @param rgb an array of {@link int} objects.
+    * @return a {@link com.aparapi.examples.extension.MandelBrot} object.
+    */
    MandelBrot createMandleBrot(//
                                Range range,//
                                @Arg("scale") float scale, //
diff --git a/src/main/java/com/aparapi/examples/extension/MandelExample.java b/src/main/java/com/aparapi/examples/extension/MandelExample.java
index 352e118f465a62b9f2822b3110a8921ec71a07b0..ebb57441fa29c675b55583bbb27ff7a6048787f9 100644
--- a/src/main/java/com/aparapi/examples/extension/MandelExample.java
+++ b/src/main/java/com/aparapi/examples/extension/MandelExample.java
@@ -75,21 +75,36 @@ import java.awt.event.*;
 import java.awt.image.*;
 import java.util.concurrent.*;
 
+/**
+ * <p>MandelExample class.</p>
+ *
+ * @author freemo
+ * @version $Id: $Id
+ */
 public class MandelExample{
 
    /** User selected zoom-in point on the Mandelbrot view. */
    public static volatile Point to = null;
 
+   /** Constant <code>mandelBrot</code> */
    public static MandelBrot mandelBrot = null;
 
+   /** Constant <code>gpuMandelBrot</code> */
    public static MandelBrot gpuMandelBrot = null;
 
+   /** Constant <code>javaMandelBrot</code> */
    public static MandelBrot javaMandelBrot = null;
 
+   /** Constant <code>javaMandelBrotMultiThread</code> */
    public static MandelBrot javaMandelBrotMultiThread = null;
 
    // new JavaMandelBrot();
    //new JavaMandelBrotMultiThread();
+   /**
+    * <p>main.</p>
+    *
+    * @param _args an array of {@link java.lang.String} objects.
+    */
    @SuppressWarnings("serial") public static void main(String[] _args) {
 
       final JFrame frame = new JFrame("MandelBrot");
diff --git a/src/main/java/com/aparapi/examples/extension/MandelSimple.java b/src/main/java/com/aparapi/examples/extension/MandelSimple.java
index 7feb79d29faa1c49450b193c7a86eaa9c9c98e5e..65c8d3dcbece1d4624fbc236c4431ead13b65b36 100644
--- a/src/main/java/com/aparapi/examples/extension/MandelSimple.java
+++ b/src/main/java/com/aparapi/examples/extension/MandelSimple.java
@@ -75,13 +75,25 @@ import java.awt.*;
 import java.awt.event.*;
 import java.awt.image.*;
 
+/**
+ * <p>MandelSimple class.</p>
+ *
+ * @author freemo
+ * @version $Id: $Id
+ */
 public class MandelSimple{
 
    /** User selected zoom-in point on the Mandelbrot view. */
    public static volatile Point to = null;
 
+   /** Constant <code>mandelBrot</code> */
    public static Mandel mandelBrot = null;
 
+   /**
+    * <p>main.</p>
+    *
+    * @param _args an array of {@link java.lang.String} objects.
+    */
    @SuppressWarnings("serial") public static void main(String[] _args) {
 
       final JFrame frame = new JFrame("MandelBrot");
diff --git a/src/main/java/com/aparapi/examples/extension/Pow4Example.java b/src/main/java/com/aparapi/examples/extension/Pow4Example.java
index 27de334274724ecceab51ef83f86b9260214c4f9..2871e84e2b3a7f51c92c740023f07beae18865a4 100644
--- a/src/main/java/com/aparapi/examples/extension/Pow4Example.java
+++ b/src/main/java/com/aparapi/examples/extension/Pow4Example.java
@@ -32,6 +32,12 @@ import com.aparapi.internal.kernel.*;
 import com.aparapi.opencl.OpenCL;
 import com.aparapi.opencl.OpenCL.Resource;
 
+/**
+ * <p>Pow4Example class.</p>
+ *
+ * @author freemo
+ * @version $Id: $Id
+ */
 public class Pow4Example{
 
    @Resource("squarer.cl")
@@ -43,6 +49,11 @@ public class Pow4Example{
             @GlobalReadWrite("out") float[] out);
    }
 
+   /**
+    * <p>main.</p>
+    *
+    * @param args an array of {@link java.lang.String} objects.
+    */
    public static void main(String[] args) {
 
       final int size = 32;
diff --git a/src/main/java/com/aparapi/examples/extension/SquareExample.java b/src/main/java/com/aparapi/examples/extension/SquareExample.java
index 1131ca0a65c76881b1adce4401faa1c8e58ee043..a488d1264d9635017f5b440f52172c7c71d261fa 100644
--- a/src/main/java/com/aparapi/examples/extension/SquareExample.java
+++ b/src/main/java/com/aparapi/examples/extension/SquareExample.java
@@ -35,6 +35,12 @@ import com.aparapi.opencl.OpenCL.Resource;
 import com.aparapi.opencl.OpenCL.Source;
 import java.util.List;
 
+/**
+ * <p>SquareExample class.</p>
+ *
+ * @author freemo
+ * @version $Id: $Id
+ */
 public class SquareExample{
 
    interface Squarer extends OpenCL<Squarer>{
@@ -68,6 +74,11 @@ public class SquareExample{
             @GlobalWriteOnly("out") float[] out);
    }
 
+   /**
+    * <p>main.</p>
+    *
+    * @param args an array of {@link java.lang.String} objects.
+    */
    public static void main(String[] args) {
       final int size = 32;
       final float[] in = new float[size];
diff --git a/src/main/java/com/aparapi/examples/extension/StopWatch.java b/src/main/java/com/aparapi/examples/extension/StopWatch.java
index e919ca38921762c6ca26aa63958468403c6ce054..c1cb8fc79d7623f1374b3263be76f69b3ac3dbb7 100644
--- a/src/main/java/com/aparapi/examples/extension/StopWatch.java
+++ b/src/main/java/com/aparapi/examples/extension/StopWatch.java
@@ -25,13 +25,27 @@
  */
 package com.aparapi.examples.extension;
 
+/**
+ * <p>StopWatch class.</p>
+ *
+ * @author freemo
+ * @version $Id: $Id
+ */
 public class StopWatch{
    long start = 0L;
 
+   /**
+    * <p>start.</p>
+    */
    public void start() {
       start = System.nanoTime();
    }
 
+   /**
+    * <p>print.</p>
+    *
+    * @param _str a {@link java.lang.String} object.
+    */
    public void print(String _str) {
       long end = (System.nanoTime() - start) / 1000000;
       System.out.println(_str + " " + end);
diff --git a/src/main/java/com/aparapi/examples/extension/SwapExample.java b/src/main/java/com/aparapi/examples/extension/SwapExample.java
index e938ae230d87f306cb6f063cb65845130e864888..6fcd92fe5860437bf47758396f4d72eacf29ff76 100644
--- a/src/main/java/com/aparapi/examples/extension/SwapExample.java
+++ b/src/main/java/com/aparapi/examples/extension/SwapExample.java
@@ -31,6 +31,12 @@ import com.aparapi.device.OpenCLDevice;
 import com.aparapi.internal.kernel.*;
 import com.aparapi.opencl.OpenCL;
 
+/**
+ * <p>SwapExample class.</p>
+ *
+ * @author freemo
+ * @version $Id: $Id
+ */
 public class SwapExample{
 
    interface Swapper extends OpenCL<Swapper>{
@@ -45,6 +51,11 @@ public class SwapExample{
             @GlobalReadWrite("rhs") float[] rhs);
    }
 
+   /**
+    * <p>main.</p>
+    *
+    * @param args an array of {@link java.lang.String} objects.
+    */
    public static void main(String[] args) {
 
       final int size = 32;
diff --git a/src/main/java/com/aparapi/examples/info/Main.java b/src/main/java/com/aparapi/examples/info/Main.java
index 9fa65eaf3ca01c5f94a202aad737374ccd7f4e36..f2df080b04637421c5f6a5cf8a35c4fc36e7d5ac 100644
--- a/src/main/java/com/aparapi/examples/info/Main.java
+++ b/src/main/java/com/aparapi/examples/info/Main.java
@@ -69,7 +69,18 @@ import com.aparapi.internal.opencl.*;
 
 import java.util.*;
 
+/**
+ * <p>Main class.</p>
+ *
+ * @author freemo
+ * @version $Id: $Id
+ */
 public class Main{
+   /**
+    * <p>main.</p>
+    *
+    * @param _args an array of {@link java.lang.String} objects.
+    */
    public static void main(String[] _args) {
       System.out.println("com.aparapi.examples.info.Main");
       List<OpenCLPlatform> platforms = (new OpenCLPlatform()).getOpenCLPlatforms();
diff --git a/src/main/java/com/aparapi/examples/javaonedemo/Life.java b/src/main/java/com/aparapi/examples/javaonedemo/Life.java
index 8d5bcac0483dcbbfd426a9b53d1bd25e93583013..b60c3525efb4ba76fc296bec79eab34cbd6bbe6d 100644
--- a/src/main/java/com/aparapi/examples/javaonedemo/Life.java
+++ b/src/main/java/com/aparapi/examples/javaonedemo/Life.java
@@ -91,13 +91,14 @@ import com.aparapi.Range;
 
 /**
  * An example Aparapi application which demonstrates Conways 'Game Of Life'.
- * 
+ *
  * Original code from Witold Bolt's site https://github.com/houp/aparapi/tree/master/samples/gameoflife.
- * 
+ *
  * Converted to use int buffer and some performance tweaks by Gary Frost
- * 
+ *
  * @author Wiltold Bolt
  * @author Gary Frost
+ * @version $Id: $Id
  */
 public class Life{
 
@@ -217,6 +218,11 @@ public class Life{
 
    static double generationsPerSecondField = 0;
 
+   /**
+    * <p>main.</p>
+    *
+    * @param _args an array of {@link java.lang.String} objects.
+    */
    public static void main(String[] _args) {
 
       final JFrame frame = new JFrame("Game of Life");
diff --git a/src/main/java/com/aparapi/examples/javaonedemo/Mandel.java b/src/main/java/com/aparapi/examples/javaonedemo/Mandel.java
index 7041ecac27f47d5f035aacb4dffc30b85a52bcd4..e87e12aa71f1f539a7d5b3d40136715c1b7850f3 100644
--- a/src/main/java/com/aparapi/examples/javaonedemo/Mandel.java
+++ b/src/main/java/com/aparapi/examples/javaonedemo/Mandel.java
@@ -91,16 +91,15 @@ import com.aparapi.ProfileInfo;
 import com.aparapi.Range;
 
 /**
- * An example Aparapi application which displays a view of the Mandelbrot set and lets the user zoom in to a particular point. 
- * 
+ * An example Aparapi application which displays a view of the Mandelbrot set and lets the user zoom in to a particular point.
+ *
  * When the user clicks on the view, this example application will zoom in to the clicked point and zoom out there after.
- * On GPU, additional computing units will offer a better viewing experience. On the other hand on CPU, this example 
- * application might suffer with sub-optimal frame refresh rate as compared to GPU. 
- *  
- * @author gfrost
+ * On GPU, additional computing units will offer a better viewing experience. On the other hand on CPU, this example
+ * application might suffer with sub-optimal frame refresh rate as compared to GPU.
  *
+ * @author gfrost
+ * @version $Id: $Id
  */
-
 public class Mandel{
 
    /**
@@ -194,10 +193,17 @@ public class Mandel{
    /** User selected zoom-in point on the Mandelbrot view. */
    public static volatile Point to = null;
 
+   /** Constant <code>frameCount=0</code> */
    public static int frameCount = 0;
 
+   /** Constant <code>start=0</code> */
    public static long start = 0;
 
+   /**
+    * <p>main.</p>
+    *
+    * @param _args an array of {@link java.lang.String} objects.
+    */
    @SuppressWarnings("serial") public static void main(String[] _args) {
 
       final JFrame frame = new JFrame("MandelBrot");
diff --git a/src/main/java/com/aparapi/examples/javaonedemo/NBody.java b/src/main/java/com/aparapi/examples/javaonedemo/NBody.java
index 70f05b455cb4c503e15c8b52abb1d0834faf6d0e..a3d609be3b89797dc504b8be7fe305fafdd6f7f1 100644
--- a/src/main/java/com/aparapi/examples/javaonedemo/NBody.java
+++ b/src/main/java/com/aparapi/examples/javaonedemo/NBody.java
@@ -100,7 +100,7 @@ import com.jogamp.opengl.util.texture.Texture;
 import com.jogamp.opengl.util.texture.TextureIO;
 
 /**
- * NBody implementing demonstrating Aparapi kernels. 
+ * NBody implementing demonstrating Aparapi kernels.
  *
  * For a description of the NBody problem, see
  * <a href="https://en.wikipedia.org/wiki/N-body_problem">n-body problem</a>
@@ -109,8 +109,8 @@ import com.jogamp.opengl.util.texture.TextureIO;
  *
  * @see <a href="http://jogamp.org/jogl/www/">JOGL</a>
  * @see <a href="https://en.wikipedia.org/wiki/N-body_problem">n-body problem</a>
- *
  * @author gfrost
+ * @version $Id: $Id
  */
 public class NBody {
 
@@ -216,14 +216,23 @@ public class NBody {
 
     }
 
+    /** Constant <code>width</code> */
     public static int width;
 
+    /** Constant <code>height</code> */
     public static int height;
 
+    /** Constant <code>running</code> */
     public static boolean running;
 
+    /** Constant <code>texture</code> */
     public static Texture texture;
 
+    /**
+     * <p>main.</p>
+     *
+     * @param _args an array of {@link java.lang.String} objects.
+     */
     public static void main(String _args[]) {
 
         final NBodyKernel kernel = new NBodyKernel(Range.create(Integer.getInteger("bodies", 10000)));
diff --git a/src/main/java/com/aparapi/examples/life/Main.java b/src/main/java/com/aparapi/examples/life/Main.java
index 1a663ee6ef7240c4dd428195bd4209d7d12b07b6..c95c404bb55eac3745f6e5f20e18d57f4d2eea88 100644
--- a/src/main/java/com/aparapi/examples/life/Main.java
+++ b/src/main/java/com/aparapi/examples/life/Main.java
@@ -74,13 +74,14 @@ import java.util.List;
 
 /**
  * An example Aparapi application which demonstrates Conways 'Game Of Life'.
- * 
+ *
  * Original code from Witold Bolt's site https://github.com/houp/aparapi/tree/master/samples/gameoflife.
- * 
+ *
  * Converted to use int buffer and some performance tweaks by Gary Frost
- * 
+ *
  * @author Wiltold Bolt
  * @author Gary Frost
+ * @version $Id: $Id
  */
 public class Main{
 
@@ -205,6 +206,11 @@ public class Main{
 
    static boolean running = false;
 
+   /**
+    * <p>main.</p>
+    *
+    * @param _args an array of {@link java.lang.String} objects.
+    */
    public static void main(String[] _args) {
 
       final JFrame frame = new JFrame("Game of Life");
diff --git a/src/main/java/com/aparapi/examples/mandel/Main.java b/src/main/java/com/aparapi/examples/mandel/Main.java
index 4eb94f21d5f673142b4c59360d24897dc6f1789f..fa3c57d4825708d7b09ab99fdc230786fdefaedf 100644
--- a/src/main/java/com/aparapi/examples/mandel/Main.java
+++ b/src/main/java/com/aparapi/examples/mandel/Main.java
@@ -73,16 +73,15 @@ import java.awt.image.*;
 import java.util.List;
 
 /**
- * An example Aparapi application which displays a view of the Mandelbrot set and lets the user zoom in to a particular point. 
- * 
+ * An example Aparapi application which displays a view of the Mandelbrot set and lets the user zoom in to a particular point.
+ *
  * When the user clicks on the view, this example application will zoom in to the clicked point and zoom out there after.
- * On GPU, additional computing units will offer a better viewing experience. On the other hand on CPU, this example 
- * application might suffer with sub-optimal frame refresh rate as compared to GPU. 
- *  
- * @author gfrost
+ * On GPU, additional computing units will offer a better viewing experience. On the other hand on CPU, this example
+ * application might suffer with sub-optimal frame refresh rate as compared to GPU.
  *
+ * @author gfrost
+ * @version $Id: $Id
  */
-
 public class Main{
 
    static {
@@ -201,6 +200,11 @@ public class Main{
    /** User selected zoom-in point on the Mandelbrot view. */
    public static volatile Point to = null;
 
+   /**
+    * <p>main.</p>
+    *
+    * @param _args an array of {@link java.lang.String} objects.
+    */
    @SuppressWarnings("serial") public static void main(String[] _args) {
 
       final JFrame frame = new JFrame("MandelBrot");
diff --git a/src/main/java/com/aparapi/examples/mandel/Main2D.java b/src/main/java/com/aparapi/examples/mandel/Main2D.java
index 8bb99ab066648f597210a12b8e2f257c7cecc11a..74daef1c380a89eed7b2a9f8b944507dcf6fbba3 100644
--- a/src/main/java/com/aparapi/examples/mandel/Main2D.java
+++ b/src/main/java/com/aparapi/examples/mandel/Main2D.java
@@ -73,16 +73,15 @@ import java.awt.image.*;
 import java.util.List;
 
 /**
- * An example Aparapi application which displays a view of the Mandelbrot set and lets the user zoom in to a particular point. 
- * 
+ * An example Aparapi application which displays a view of the Mandelbrot set and lets the user zoom in to a particular point.
+ *
  * When the user clicks on the view, this example application will zoom in to the clicked point and zoom out there after.
- * On GPU, additional computing units will offer a better viewing experience. On the other hand on CPU, this example 
- * application might suffer with sub-optimal frame refresh rate as compared to GPU. 
- *  
- * @author gfrost
+ * On GPU, additional computing units will offer a better viewing experience. On the other hand on CPU, this example
+ * application might suffer with sub-optimal frame refresh rate as compared to GPU.
  *
+ * @author gfrost
+ * @version $Id: $Id
  */
-
 public class Main2D{
 
    /**
@@ -166,6 +165,11 @@ public class Main2D{
    /** User selected zoom-in point on the Mandelbrot view. */
    public static volatile Point to = null;
 
+   /**
+    * <p>main.</p>
+    *
+    * @param _args an array of {@link java.lang.String} objects.
+    */
    @SuppressWarnings("serial") public static void main(String[] _args) {
 
 
diff --git a/src/main/java/com/aparapi/examples/mapreduce/Main.java b/src/main/java/com/aparapi/examples/mapreduce/Main.java
index 7b566cb3a754d6ca8625b9b2e1c2b1a22b375a33..8a46598d63a316fb4520e84d5286137abeef7b47 100644
--- a/src/main/java/com/aparapi/examples/mapreduce/Main.java
+++ b/src/main/java/com/aparapi/examples/mapreduce/Main.java
@@ -20,7 +20,18 @@ import com.aparapi.Range;
 
 import java.util.Arrays;
 
+/**
+ * <p>Main class.</p>
+ *
+ * @author freemo
+ * @version $Id: $Id
+ */
 public class Main {
+    /**
+     * <p>main.</p>
+     *
+     * @param args an array of {@link java.lang.String} objects.
+     */
     public static void main(String[] args) {
         int size = 1048576;
         final int count = 3;
diff --git a/src/main/java/com/aparapi/examples/matrix/CorrMatrixHost.java b/src/main/java/com/aparapi/examples/matrix/CorrMatrixHost.java
index c445fddcc4564339bc4f692cb4b0f44ed2dd3308..c95cb24eb80b86383db5ec3e5ce20534ca54851b 100644
--- a/src/main/java/com/aparapi/examples/matrix/CorrMatrixHost.java
+++ b/src/main/java/com/aparapi/examples/matrix/CorrMatrixHost.java
@@ -33,12 +33,13 @@ import com.aparapi.device.OpenCLDevice;
 
 /**
  * GPU calculations using OpenBitSet Intersection for OpenBitSets
- * 
+ *
  * Based on code from:
  * <a href="http://grepcode.com/file/repo1.maven.org/maven2/org.apache.lucene/lucene-core/3.1.0/org/apache/lucene/util/BitUtil.java">apache.lucene.util.BitUtil.java</a>
- * 
+ *
  * @author ryan.lamothe at gmail.com
  * @author sedillard at gmail.com
+ * @version $Id: $Id
  */
 public class CorrMatrixHost {
 
@@ -46,7 +47,7 @@ public class CorrMatrixHost {
 
    /**
     * Perform matrix intersection for two lists of Lucene OpenBitSet-based packed longs
-    * 
+    *
     * @param matrixA
     *    The first term-document matrix
     * @param matrixB
diff --git a/src/main/java/com/aparapi/examples/matrix/CorrMatrixKernel.java b/src/main/java/com/aparapi/examples/matrix/CorrMatrixKernel.java
index 45ffd74491045b6d2290e7a618651014bd271bdc..bec9a10701facfa5e177b57ccd404c3187dee17d 100644
--- a/src/main/java/com/aparapi/examples/matrix/CorrMatrixKernel.java
+++ b/src/main/java/com/aparapi/examples/matrix/CorrMatrixKernel.java
@@ -33,6 +33,7 @@ import com.aparapi.Kernel;
  *
  * @author ryan.lamothe at gmail.com
  * @author sedillard at gmail.com
+ * @version $Id: $Id
  */
 public class CorrMatrixKernel extends Kernel {
 
@@ -68,6 +69,7 @@ public class CorrMatrixKernel extends Kernel {
       this.resultMatrix = resultMatrix;
    }
 
+   /** {@inheritDoc} */
    @Override
    public void run() {
       final int i = this.getGlobalId(0);
diff --git a/src/main/java/com/aparapi/examples/matrix/Main.java b/src/main/java/com/aparapi/examples/matrix/Main.java
index f0bda21c714bb4e88af53f14ccdcbf1379d402b6..f464d99337e638a514322c02f3c3a7260a7bc4e5 100644
--- a/src/main/java/com/aparapi/examples/matrix/Main.java
+++ b/src/main/java/com/aparapi/examples/matrix/Main.java
@@ -45,7 +45,7 @@ import java.util.Random;
  * 4) Verify the results of FixedBitSet and CorrMatrix by comparing matrices to each other
  *
  * @author ryan.lamothe at gmail.com
- *
+ * @version $Id: $Id
  */
 public class Main {
     /**
diff --git a/src/main/java/com/aparapi/examples/mdarray/BMatMul1D.java b/src/main/java/com/aparapi/examples/mdarray/BMatMul1D.java
index 5b5115204c1e59667939ace2614dcd6c881a116d..f74a47b7de31f838b3caadcb54797500b8711d01 100644
--- a/src/main/java/com/aparapi/examples/mdarray/BMatMul1D.java
+++ b/src/main/java/com/aparapi/examples/mdarray/BMatMul1D.java
@@ -36,6 +36,14 @@ class BMatMul1D extends Kernel{
 
    int N;
 
+   /**
+    * <p>Constructor for BMatMul1D.</p>
+    *
+    * @param A an array of {@link byte} objects.
+    * @param B an array of {@link byte} objects.
+    * @param C an array of {@link byte} objects.
+    * @param N a int.
+    */
    public BMatMul1D(byte[] A, byte[] B, byte[] C, int N) {
       this.A = A;
       this.B = B;
@@ -43,6 +51,7 @@ class BMatMul1D extends Kernel{
       this.N = N;
    }
 
+   /** {@inheritDoc} */
    @Override public void run() {
       int id = getGlobalId();
       int i = id / N;
diff --git a/src/main/java/com/aparapi/examples/mdarray/BMatMul2D.java b/src/main/java/com/aparapi/examples/mdarray/BMatMul2D.java
index 8e59780ac940b933751a9dcd3f669bb3d0633ef2..3ee3ba540bedfd66840d9473b229a28af8432016 100644
--- a/src/main/java/com/aparapi/examples/mdarray/BMatMul2D.java
+++ b/src/main/java/com/aparapi/examples/mdarray/BMatMul2D.java
@@ -36,6 +36,14 @@ class BMatMul2D extends Kernel{
 
    int N;
 
+   /**
+    * <p>Constructor for BMatMul2D.</p>
+    *
+    * @param A an array of {@link byte} objects.
+    * @param B an array of {@link byte} objects.
+    * @param C an array of {@link byte} objects.
+    * @param N a int.
+    */
    public BMatMul2D(byte[][] A, byte[][] B, byte[][] C, int N) {
       this.A = A;
       this.B = B;
@@ -43,6 +51,7 @@ class BMatMul2D extends Kernel{
       this.N = N;
    }
 
+   /** {@inheritDoc} */
    @Override public void run() {
       int id = getGlobalId();
       int i = id / N;
diff --git a/src/main/java/com/aparapi/examples/mdarray/BMatMul3D.java b/src/main/java/com/aparapi/examples/mdarray/BMatMul3D.java
index ff1c408b452180c7526a5f15e20a44fc68a615e3..269ce3acec413e1559080396090aafcdd0a512b8 100644
--- a/src/main/java/com/aparapi/examples/mdarray/BMatMul3D.java
+++ b/src/main/java/com/aparapi/examples/mdarray/BMatMul3D.java
@@ -36,6 +36,14 @@ class BMatMul3D extends Kernel{
 
    int N;
 
+   /**
+    * <p>Constructor for BMatMul3D.</p>
+    *
+    * @param A an array of {@link byte} objects.
+    * @param B an array of {@link byte} objects.
+    * @param C an array of {@link byte} objects.
+    * @param N a int.
+    */
    public BMatMul3D(byte[][][] A, byte[][][] B, byte[][][] C, int N) {
       this.A = A;
       this.B = B;
@@ -43,6 +51,7 @@ class BMatMul3D extends Kernel{
       this.N = N;
    }
 
+   /** {@inheritDoc} */
    @Override public void run() {
       int id = getGlobalId();
       int i = id / (N * N);
diff --git a/src/main/java/com/aparapi/examples/mdarray/DMatMul1D.java b/src/main/java/com/aparapi/examples/mdarray/DMatMul1D.java
index b146aec90cf99c446c84ff48f65c3c0b44997d0f..322ee6e32a7689a2159936ff72cce74ae7d9dd76 100644
--- a/src/main/java/com/aparapi/examples/mdarray/DMatMul1D.java
+++ b/src/main/java/com/aparapi/examples/mdarray/DMatMul1D.java
@@ -36,6 +36,14 @@ class DMatMul1D extends Kernel{
 
    int N;
 
+   /**
+    * <p>Constructor for DMatMul1D.</p>
+    *
+    * @param A an array of {@link double} objects.
+    * @param B an array of {@link double} objects.
+    * @param C an array of {@link double} objects.
+    * @param N a int.
+    */
    public DMatMul1D(double[] A, double[] B, double[] C, int N) {
       this.A = A;
       this.B = B;
@@ -43,6 +51,7 @@ class DMatMul1D extends Kernel{
       this.N = N;
    }
 
+   /** {@inheritDoc} */
    @Override public void run() {
       int id = getGlobalId();
       int i = id / N;
diff --git a/src/main/java/com/aparapi/examples/mdarray/DMatMul2D.java b/src/main/java/com/aparapi/examples/mdarray/DMatMul2D.java
index 7ee5139beca88d60674c76250296759bd99e8932..362f43936569afa4f0f6fcbea2ee80abd9732d66 100644
--- a/src/main/java/com/aparapi/examples/mdarray/DMatMul2D.java
+++ b/src/main/java/com/aparapi/examples/mdarray/DMatMul2D.java
@@ -36,6 +36,14 @@ class DMatMul2D extends Kernel{
 
    int N;
 
+   /**
+    * <p>Constructor for DMatMul2D.</p>
+    *
+    * @param A an array of {@link double} objects.
+    * @param B an array of {@link double} objects.
+    * @param C an array of {@link double} objects.
+    * @param N a int.
+    */
    public DMatMul2D(double[][] A, double[][] B, double[][] C, int N) {
       this.A = A;
       this.B = B;
@@ -43,6 +51,7 @@ class DMatMul2D extends Kernel{
       this.N = N;
    }
 
+   /** {@inheritDoc} */
    @Override public void run() {
       int id = getGlobalId();
       int i = id / N;
diff --git a/src/main/java/com/aparapi/examples/mdarray/DMatMul3D.java b/src/main/java/com/aparapi/examples/mdarray/DMatMul3D.java
index 48f8c6b0cca557f6e141dcdcdf1bb03893a87134..a845162bec30ccc3858c79511f52f400c4d14737 100644
--- a/src/main/java/com/aparapi/examples/mdarray/DMatMul3D.java
+++ b/src/main/java/com/aparapi/examples/mdarray/DMatMul3D.java
@@ -36,6 +36,14 @@ class DMatMul3D extends Kernel{
 
    int N;
 
+   /**
+    * <p>Constructor for DMatMul3D.</p>
+    *
+    * @param A an array of {@link double} objects.
+    * @param B an array of {@link double} objects.
+    * @param C an array of {@link double} objects.
+    * @param N a int.
+    */
    public DMatMul3D(double[][][] A, double[][][] B, double[][][] C, int N) {
       this.A = A;
       this.B = B;
@@ -43,6 +51,7 @@ class DMatMul3D extends Kernel{
       this.N = N;
    }
 
+   /** {@inheritDoc} */
    @Override public void run() {
       int id = getGlobalId();
       int i = id / (N * N);
diff --git a/src/main/java/com/aparapi/examples/mdarray/FMatMul1D.java b/src/main/java/com/aparapi/examples/mdarray/FMatMul1D.java
index 2b033a16191c7b71ca74570c93880bd212dbc873..e6a267a71fae95d3febebe45ca90433206130e54 100644
--- a/src/main/java/com/aparapi/examples/mdarray/FMatMul1D.java
+++ b/src/main/java/com/aparapi/examples/mdarray/FMatMul1D.java
@@ -36,6 +36,14 @@ class FMatMul1D extends Kernel{
 
    int N;
 
+   /**
+    * <p>Constructor for FMatMul1D.</p>
+    *
+    * @param A an array of {@link float} objects.
+    * @param B an array of {@link float} objects.
+    * @param C an array of {@link float} objects.
+    * @param N a int.
+    */
    public FMatMul1D(float[] A, float[] B, float[] C, int N) {
       this.A = A;
       this.B = B;
@@ -43,6 +51,7 @@ class FMatMul1D extends Kernel{
       this.N = N;
    }
 
+   /** {@inheritDoc} */
    @Override public void run() {
       int id = getGlobalId();
       int i = id / N;
diff --git a/src/main/java/com/aparapi/examples/mdarray/FMatMul2D.java b/src/main/java/com/aparapi/examples/mdarray/FMatMul2D.java
index 624b09d6836c0cd895ef288d5850eaca0ef95622..3cc81f0da57cdb0531b2d4a8c0dce464027c840e 100644
--- a/src/main/java/com/aparapi/examples/mdarray/FMatMul2D.java
+++ b/src/main/java/com/aparapi/examples/mdarray/FMatMul2D.java
@@ -36,6 +36,14 @@ class FMatMul2D extends Kernel{
 
    int N;
 
+   /**
+    * <p>Constructor for FMatMul2D.</p>
+    *
+    * @param A an array of {@link float} objects.
+    * @param B an array of {@link float} objects.
+    * @param C an array of {@link float} objects.
+    * @param N a int.
+    */
    public FMatMul2D(float[][] A, float[][] B, float[][] C, int N) {
       this.A = A;
       this.B = B;
@@ -43,6 +51,7 @@ class FMatMul2D extends Kernel{
       this.N = N;
    }
 
+   /** {@inheritDoc} */
    @Override public void run() {
       int id = getGlobalId();
       int i = id / N;
diff --git a/src/main/java/com/aparapi/examples/mdarray/FMatMul3D.java b/src/main/java/com/aparapi/examples/mdarray/FMatMul3D.java
index a32cfb4a8e7b03a81ab7af1603947d5d2870562c..3f79617997e00efe4fb8329ef984a17654261af1 100644
--- a/src/main/java/com/aparapi/examples/mdarray/FMatMul3D.java
+++ b/src/main/java/com/aparapi/examples/mdarray/FMatMul3D.java
@@ -36,6 +36,14 @@ class FMatMul3D extends Kernel{
 
    int N;
 
+   /**
+    * <p>Constructor for FMatMul3D.</p>
+    *
+    * @param A an array of {@link float} objects.
+    * @param B an array of {@link float} objects.
+    * @param C an array of {@link float} objects.
+    * @param N a int.
+    */
    public FMatMul3D(float[][][] A, float[][][] B, float[][][] C, int N) {
       this.A = A;
       this.B = B;
@@ -43,6 +51,7 @@ class FMatMul3D extends Kernel{
       this.N = N;
    }
 
+   /** {@inheritDoc} */
    @Override public void run() {
       int id = getGlobalId();
       int i = id / (N * N);
diff --git a/src/main/java/com/aparapi/examples/mdarray/IMatMul1D.java b/src/main/java/com/aparapi/examples/mdarray/IMatMul1D.java
index 6be855df1bb4fd1afb26eb088fb77c97ca41cfd3..bdc6a15ae3205cd3f007ea6b2f88ae30da3c86d5 100644
--- a/src/main/java/com/aparapi/examples/mdarray/IMatMul1D.java
+++ b/src/main/java/com/aparapi/examples/mdarray/IMatMul1D.java
@@ -36,6 +36,14 @@ class IMatMul1D extends Kernel{
 
    int N;
 
+   /**
+    * <p>Constructor for IMatMul1D.</p>
+    *
+    * @param A an array of {@link int} objects.
+    * @param B an array of {@link int} objects.
+    * @param C an array of {@link int} objects.
+    * @param N a int.
+    */
    public IMatMul1D(int[] A, int[] B, int[] C, int N) {
       this.A = A;
       this.B = B;
@@ -43,6 +51,7 @@ class IMatMul1D extends Kernel{
       this.N = N;
    }
 
+   /** {@inheritDoc} */
    @Override public void run() {
       int id = getGlobalId();
       int i = id / N;
diff --git a/src/main/java/com/aparapi/examples/mdarray/IMatMul2D.java b/src/main/java/com/aparapi/examples/mdarray/IMatMul2D.java
index 4e197c20c27e11f4939a61ae331132791300d291..ff59da03a8bef3e83b34dc9355cfd65ad63a92f9 100644
--- a/src/main/java/com/aparapi/examples/mdarray/IMatMul2D.java
+++ b/src/main/java/com/aparapi/examples/mdarray/IMatMul2D.java
@@ -36,6 +36,14 @@ class IMatMul2D extends Kernel{
 
    int N;
 
+   /**
+    * <p>Constructor for IMatMul2D.</p>
+    *
+    * @param A an array of {@link int} objects.
+    * @param B an array of {@link int} objects.
+    * @param C an array of {@link int} objects.
+    * @param N a int.
+    */
    public IMatMul2D(int[][] A, int[][] B, int[][] C, int N) {
       this.A = A;
       this.B = B;
@@ -43,6 +51,7 @@ class IMatMul2D extends Kernel{
       this.N = N;
    }
 
+   /** {@inheritDoc} */
    @Override public void run() {
       int id = getGlobalId();
       int i = id / N;
diff --git a/src/main/java/com/aparapi/examples/mdarray/IMatMul3D.java b/src/main/java/com/aparapi/examples/mdarray/IMatMul3D.java
index 67a5d892b09a0b348df07af518afb306508011af..5b921c58865793cba3fe630701284f9b909fb695 100644
--- a/src/main/java/com/aparapi/examples/mdarray/IMatMul3D.java
+++ b/src/main/java/com/aparapi/examples/mdarray/IMatMul3D.java
@@ -36,6 +36,14 @@ class IMatMul3D extends Kernel{
 
    int N;
 
+   /**
+    * <p>Constructor for IMatMul3D.</p>
+    *
+    * @param A an array of {@link int} objects.
+    * @param B an array of {@link int} objects.
+    * @param C an array of {@link int} objects.
+    * @param N a int.
+    */
    public IMatMul3D(int[][][] A, int[][][] B, int[][][] C, int N) {
       this.A = A;
       this.B = B;
@@ -43,6 +51,7 @@ class IMatMul3D extends Kernel{
       this.N = N;
    }
 
+   /** {@inheritDoc} */
    @Override public void run() {
       int id = getGlobalId();
       int i = id / (N * N);
diff --git a/src/main/java/com/aparapi/examples/mdarray/LMatMul1D.java b/src/main/java/com/aparapi/examples/mdarray/LMatMul1D.java
index adc56c22c1d2a10201febfbe181ef8de666cf6dc..e41d3f637c14d09389151434154e8db1976a9788 100644
--- a/src/main/java/com/aparapi/examples/mdarray/LMatMul1D.java
+++ b/src/main/java/com/aparapi/examples/mdarray/LMatMul1D.java
@@ -36,6 +36,14 @@ class LMatMul1D extends Kernel{
 
    int N;
 
+   /**
+    * <p>Constructor for LMatMul1D.</p>
+    *
+    * @param A an array of {@link long} objects.
+    * @param B an array of {@link long} objects.
+    * @param C an array of {@link long} objects.
+    * @param N a int.
+    */
    public LMatMul1D(long[] A, long[] B, long[] C, int N) {
       this.A = A;
       this.B = B;
@@ -43,6 +51,7 @@ class LMatMul1D extends Kernel{
       this.N = N;
    }
 
+   /** {@inheritDoc} */
    @Override public void run() {
       int id = getGlobalId();
       int i = id / N;
diff --git a/src/main/java/com/aparapi/examples/mdarray/LMatMul2D.java b/src/main/java/com/aparapi/examples/mdarray/LMatMul2D.java
index af3be45b5f91d69bc89cdaa31f9152ee58ecf8e0..908d9f3709b62701fa0bef058c0e3321713eed10 100644
--- a/src/main/java/com/aparapi/examples/mdarray/LMatMul2D.java
+++ b/src/main/java/com/aparapi/examples/mdarray/LMatMul2D.java
@@ -36,6 +36,14 @@ class LMatMul2D extends Kernel{
 
    int N;
 
+   /**
+    * <p>Constructor for LMatMul2D.</p>
+    *
+    * @param A an array of {@link long} objects.
+    * @param B an array of {@link long} objects.
+    * @param C an array of {@link long} objects.
+    * @param N a int.
+    */
    public LMatMul2D(long[][] A, long[][] B, long[][] C, int N) {
       this.A = A;
       this.B = B;
@@ -43,6 +51,7 @@ class LMatMul2D extends Kernel{
       this.N = N;
    }
 
+   /** {@inheritDoc} */
    @Override public void run() {
       int id = getGlobalId();
       int i = id / N;
diff --git a/src/main/java/com/aparapi/examples/mdarray/LMatMul3D.java b/src/main/java/com/aparapi/examples/mdarray/LMatMul3D.java
index d6b863c1a60d2b6d828096a5ba873fc5dc52b195..f006ab11c078668955cca6a9f335f71446995960 100644
--- a/src/main/java/com/aparapi/examples/mdarray/LMatMul3D.java
+++ b/src/main/java/com/aparapi/examples/mdarray/LMatMul3D.java
@@ -36,6 +36,14 @@ class LMatMul3D extends Kernel{
 
    int N;
 
+   /**
+    * <p>Constructor for LMatMul3D.</p>
+    *
+    * @param A an array of {@link long} objects.
+    * @param B an array of {@link long} objects.
+    * @param C an array of {@link long} objects.
+    * @param N a int.
+    */
    public LMatMul3D(long[][][] A, long[][][] B, long[][][] C, int N) {
       this.A = A;
       this.B = B;
@@ -43,6 +51,7 @@ class LMatMul3D extends Kernel{
       this.N = N;
    }
 
+   /** {@inheritDoc} */
    @Override public void run() {
       int id = getGlobalId();
       int i = id / (N * N);
diff --git a/src/main/java/com/aparapi/examples/mdarray/MDArray.java b/src/main/java/com/aparapi/examples/mdarray/MDArray.java
index 2e03d846e11cdcf32b25b8775d7aec57742edccc..71508812909f94fb4322d8e8a698e1108536c5d3 100644
--- a/src/main/java/com/aparapi/examples/mdarray/MDArray.java
+++ b/src/main/java/com/aparapi/examples/mdarray/MDArray.java
@@ -27,12 +27,23 @@ package com.aparapi.examples.mdarray;
 
 import com.aparapi.Kernel;
 
+/**
+ * <p>MDArray class.</p>
+ *
+ * @author freemo
+ * @version $Id: $Id
+ */
 public class MDArray {
 
    static int N = 1 << 10;
 
    static int M = 1 << 5;
 
+   /**
+    * <p>main.</p>
+    *
+    * @param args an array of {@link java.lang.String} objects.
+    */
    public static void main(String[] args) {
       System.out.println("boolean 1D");
       Zrun1D();
@@ -575,6 +586,9 @@ public class MDArray {
       return true;
    }
 
+   /**
+    * <p>Zrun1D.</p>
+    */
    public static void Zrun1D() {
       final boolean[] A = new boolean[N * N];
       final boolean[] B = new boolean[N * N];
@@ -609,6 +623,9 @@ public class MDArray {
       }
    }
 
+   /**
+    * <p>Brun1D.</p>
+    */
    public static void Brun1D() {
       final byte[] A = new byte[N * N];
       final byte[] B = new byte[N * N];
@@ -643,6 +660,9 @@ public class MDArray {
       }
    }
 
+   /**
+    * <p>Srun1D.</p>
+    */
    public static void Srun1D() {
       final short[] A = new short[N * N];
       final short[] B = new short[N * N];
@@ -677,6 +697,9 @@ public class MDArray {
       }
    }
 
+   /**
+    * <p>Irun1D.</p>
+    */
    public static void Irun1D() {
       final int[] A = new int[N * N];
       final int[] B = new int[N * N];
@@ -711,6 +734,9 @@ public class MDArray {
       }
    }
 
+   /**
+    * <p>Lrun1D.</p>
+    */
    public static void Lrun1D() {
       final long[] A = new long[N * N];
       final long[] B = new long[N * N];
@@ -745,6 +771,9 @@ public class MDArray {
       }
    }
 
+   /**
+    * <p>Frun1D.</p>
+    */
    public static void Frun1D() {
       final float[] A = new float[N * N];
       final float[] B = new float[N * N];
@@ -779,6 +808,9 @@ public class MDArray {
       }
    }
 
+   /**
+    * <p>Drun1D.</p>
+    */
    public static void Drun1D() {
       final double[] A = new double[N * N];
       final double[] B = new double[N * N];
@@ -813,6 +845,9 @@ public class MDArray {
       }
    }
 
+   /**
+    * <p>Zrun2D.</p>
+    */
    public static void Zrun2D() {
       final boolean[][] A = new boolean[N][N];
       final boolean[][] B = new boolean[N][N];
@@ -847,6 +882,9 @@ public class MDArray {
       }
    }
 
+   /**
+    * <p>Brun2D.</p>
+    */
    public static void Brun2D() {
       final byte[][] A = new byte[N][N];
       final byte[][] B = new byte[N][N];
@@ -881,6 +919,9 @@ public class MDArray {
       }
    }
 
+   /**
+    * <p>Srun2D.</p>
+    */
    public static void Srun2D() {
       final short[][] A = new short[N][N];
       final short[][] B = new short[N][N];
@@ -915,6 +956,9 @@ public class MDArray {
       }
    }
 
+   /**
+    * <p>Irun2D.</p>
+    */
    public static void Irun2D() {
       final int[][] A = new int[N][N];
       final int[][] B = new int[N][N];
@@ -949,6 +993,9 @@ public class MDArray {
       }
    }
 
+   /**
+    * <p>Lrun2D.</p>
+    */
    public static void Lrun2D() {
       final long[][] A = new long[N][N];
       final long[][] B = new long[N][N];
@@ -983,6 +1030,9 @@ public class MDArray {
       }
    }
 
+   /**
+    * <p>Frun2D.</p>
+    */
    public static void Frun2D() {
       final float[][] A = new float[N][N];
       final float[][] B = new float[N][N];
@@ -1017,6 +1067,9 @@ public class MDArray {
       }
    }
 
+   /**
+    * <p>Drun2D.</p>
+    */
    public static void Drun2D() {
       final double[][] A = new double[N][N];
       final double[][] B = new double[N][N];
@@ -1051,6 +1104,9 @@ public class MDArray {
       }
    }
 
+   /**
+    * <p>Zrun3D.</p>
+    */
    public static void Zrun3D() {
       final boolean[][][] A = new boolean[M][M][M];
       final boolean[][][] B = new boolean[M][M][M];
@@ -1088,6 +1144,9 @@ public class MDArray {
       }
    }
 
+   /**
+    * <p>Brun3D.</p>
+    */
    public static void Brun3D() {
       final byte[][][] A = new byte[M][M][M];
       final byte[][][] B = new byte[M][M][M];
@@ -1124,6 +1183,9 @@ public class MDArray {
       }
    }
 
+   /**
+    * <p>Srun3D.</p>
+    */
    public static void Srun3D() {
       final short[][][] A = new short[M][M][M];
       final short[][][] B = new short[M][M][M];
@@ -1160,6 +1222,9 @@ public class MDArray {
       }
    }
 
+   /**
+    * <p>Irun3D.</p>
+    */
    public static void Irun3D() {
       final int[][][] A = new int[M][M][M];
       final int[][][] B = new int[M][M][M];
@@ -1196,6 +1261,9 @@ public class MDArray {
       }
    }
 
+   /**
+    * <p>Lrun3D.</p>
+    */
    public static void Lrun3D() {
       final long[][][] A = new long[M][M][M];
       final long[][][] B = new long[M][M][M];
@@ -1232,6 +1300,9 @@ public class MDArray {
       }
    }
 
+   /**
+    * <p>Frun3D.</p>
+    */
    public static void Frun3D() {
       final float[][][] A = new float[M][M][M];
       final float[][][] B = new float[M][M][M];
@@ -1268,6 +1339,9 @@ public class MDArray {
       }
    }
 
+   /**
+    * <p>Drun3D.</p>
+    */
    public static void Drun3D() {
       final double[][][] A = new double[M][M][M];
       final double[][][] B = new double[M][M][M];
diff --git a/src/main/java/com/aparapi/examples/mdarray/SMatMul1D.java b/src/main/java/com/aparapi/examples/mdarray/SMatMul1D.java
index f9788528ebed4d7666862b9fb6c1a183e2c058bb..554a05ac6864c3433113c37efe21c4432191ec64 100644
--- a/src/main/java/com/aparapi/examples/mdarray/SMatMul1D.java
+++ b/src/main/java/com/aparapi/examples/mdarray/SMatMul1D.java
@@ -36,6 +36,14 @@ class SMatMul1D extends Kernel{
 
    int N;
 
+   /**
+    * <p>Constructor for SMatMul1D.</p>
+    *
+    * @param A an array of {@link short} objects.
+    * @param B an array of {@link short} objects.
+    * @param C an array of {@link short} objects.
+    * @param N a int.
+    */
    public SMatMul1D(short[] A, short[] B, short[] C, int N) {
       this.A = A;
       this.B = B;
@@ -43,6 +51,7 @@ class SMatMul1D extends Kernel{
       this.N = N;
    }
 
+   /** {@inheritDoc} */
    @Override public void run() {
       int id = getGlobalId();
       int i = id / N;
diff --git a/src/main/java/com/aparapi/examples/mdarray/SMatMul2D.java b/src/main/java/com/aparapi/examples/mdarray/SMatMul2D.java
index 4a19296dd5e8bc1df57ce831ae5b20d314f86ee3..f5d2e28277363d9cd4ac6d2db7c9c8f74874a332 100644
--- a/src/main/java/com/aparapi/examples/mdarray/SMatMul2D.java
+++ b/src/main/java/com/aparapi/examples/mdarray/SMatMul2D.java
@@ -36,6 +36,14 @@ class SMatMul2D extends Kernel{
 
    int N;
 
+   /**
+    * <p>Constructor for SMatMul2D.</p>
+    *
+    * @param A an array of {@link short} objects.
+    * @param B an array of {@link short} objects.
+    * @param C an array of {@link short} objects.
+    * @param N a int.
+    */
    public SMatMul2D(short[][] A, short[][] B, short[][] C, int N) {
       this.A = A;
       this.B = B;
@@ -43,6 +51,7 @@ class SMatMul2D extends Kernel{
       this.N = N;
    }
 
+   /** {@inheritDoc} */
    @Override public void run() {
       int id = getGlobalId();
       int i = id / N;
diff --git a/src/main/java/com/aparapi/examples/mdarray/SMatMul3D.java b/src/main/java/com/aparapi/examples/mdarray/SMatMul3D.java
index 2379627176964049b7ff53c3b3be4b176307958f..33f451b28ee401ac4bd389471cd1850cfc39f8cc 100644
--- a/src/main/java/com/aparapi/examples/mdarray/SMatMul3D.java
+++ b/src/main/java/com/aparapi/examples/mdarray/SMatMul3D.java
@@ -36,6 +36,14 @@ class SMatMul3D extends Kernel{
 
    int N;
 
+   /**
+    * <p>Constructor for SMatMul3D.</p>
+    *
+    * @param A an array of {@link short} objects.
+    * @param B an array of {@link short} objects.
+    * @param C an array of {@link short} objects.
+    * @param N a int.
+    */
    public SMatMul3D(short[][][] A, short[][][] B, short[][][] C, int N) {
       this.A = A;
       this.B = B;
@@ -43,6 +51,7 @@ class SMatMul3D extends Kernel{
       this.N = N;
    }
 
+   /** {@inheritDoc} */
    @Override public void run() {
       int id = getGlobalId();
       int i = id / (N * N);
diff --git a/src/main/java/com/aparapi/examples/mdarray/ZMatMul1D.java b/src/main/java/com/aparapi/examples/mdarray/ZMatMul1D.java
index 1ce290dcfd3296ec20b1751c602b3eb0a06e2eb3..e2e740159b72123a354e4b516a54f9090a2bdf55 100644
--- a/src/main/java/com/aparapi/examples/mdarray/ZMatMul1D.java
+++ b/src/main/java/com/aparapi/examples/mdarray/ZMatMul1D.java
@@ -36,6 +36,14 @@ class ZMatMul1D extends Kernel{
 
    int N;
 
+   /**
+    * <p>Constructor for ZMatMul1D.</p>
+    *
+    * @param A an array of {@link boolean} objects.
+    * @param B an array of {@link boolean} objects.
+    * @param C an array of {@link boolean} objects.
+    * @param N a int.
+    */
    public ZMatMul1D(boolean[] A, boolean[] B, boolean[] C, int N) {
       this.A = A;
       this.B = B;
@@ -43,6 +51,7 @@ class ZMatMul1D extends Kernel{
       this.N = N;
    }
 
+   /** {@inheritDoc} */
    @Override public void run() {
       int id = getGlobalId();
       int i = id / N;
diff --git a/src/main/java/com/aparapi/examples/mdarray/ZMatMul2D.java b/src/main/java/com/aparapi/examples/mdarray/ZMatMul2D.java
index d014f6f00cea9636717d90a430164f7a0e7d6302..1813ac053f4eaa4f6633026aa49364216bc04000 100644
--- a/src/main/java/com/aparapi/examples/mdarray/ZMatMul2D.java
+++ b/src/main/java/com/aparapi/examples/mdarray/ZMatMul2D.java
@@ -36,6 +36,14 @@ class ZMatMul2D extends Kernel{
 
    int N;
 
+   /**
+    * <p>Constructor for ZMatMul2D.</p>
+    *
+    * @param A an array of {@link boolean} objects.
+    * @param B an array of {@link boolean} objects.
+    * @param C an array of {@link boolean} objects.
+    * @param N a int.
+    */
    public ZMatMul2D(boolean[][] A, boolean[][] B, boolean[][] C, int N) {
       this.A = A;
       this.B = B;
@@ -43,6 +51,7 @@ class ZMatMul2D extends Kernel{
       this.N = N;
    }
 
+   /** {@inheritDoc} */
    @Override public void run() {
       int id = getGlobalId();
       int i = id / N;
diff --git a/src/main/java/com/aparapi/examples/mdarray/ZMatMul3D.java b/src/main/java/com/aparapi/examples/mdarray/ZMatMul3D.java
index 50679fb8b35ffe5b0b3886f4e0051389d0e9bb1c..ad66c1864e9d127cd0d8e2a7cae8c5da637185f2 100644
--- a/src/main/java/com/aparapi/examples/mdarray/ZMatMul3D.java
+++ b/src/main/java/com/aparapi/examples/mdarray/ZMatMul3D.java
@@ -36,6 +36,14 @@ class ZMatMul3D extends Kernel{
 
    int N;
 
+   /**
+    * <p>Constructor for ZMatMul3D.</p>
+    *
+    * @param A an array of {@link boolean} objects.
+    * @param B an array of {@link boolean} objects.
+    * @param C an array of {@link boolean} objects.
+    * @param N a int.
+    */
    public ZMatMul3D(boolean[][][] A, boolean[][][] B, boolean[][][] C, int N) {
       this.A = A;
       this.B = B;
@@ -43,6 +51,7 @@ class ZMatMul3D extends Kernel{
       this.N = N;
    }
 
+   /** {@inheritDoc} */
    @Override public void run() {
       int id = getGlobalId();
       int i = id / (N * N);
diff --git a/src/main/java/com/aparapi/examples/median/MedianDemo.java b/src/main/java/com/aparapi/examples/median/MedianDemo.java
index dd42ab0428b5914bb51084285afeddeb3b867ac6..2381ae0a4b03f1058a78d51b3eaeaca0a25439e6 100644
--- a/src/main/java/com/aparapi/examples/median/MedianDemo.java
+++ b/src/main/java/com/aparapi/examples/median/MedianDemo.java
@@ -36,8 +36,12 @@ import java.net.URISyntaxException;
 
 /**
  * Demonstrate use of __private namespaces and @NoCL annotations.
+ *
+ * @author freemo
+ * @version $Id: $Id
  */
 public class MedianDemo {
+   /** Constant <code>testImage</code> */
    public static BufferedImage testImage;
 
    static {
@@ -51,6 +55,11 @@ public class MedianDemo {
       }
    }
 
+   /**
+    * <p>main.</p>
+    *
+    * @param ignored an array of {@link java.lang.String} objects.
+    */
    public static void main(String[] ignored) {
       final int size = 5;
       System.setProperty("com.aparapi.dumpProfilesOnExit", "true");
diff --git a/src/main/java/com/aparapi/examples/median/MedianKernel7x7.java b/src/main/java/com/aparapi/examples/median/MedianKernel7x7.java
index 29201750c1b7a057b174cc69c7ad4ab022bcc762..2a5c78e8b2a91bc340966d6f13cf3144f7d5814a 100644
--- a/src/main/java/com/aparapi/examples/median/MedianKernel7x7.java
+++ b/src/main/java/com/aparapi/examples/median/MedianKernel7x7.java
@@ -31,18 +31,30 @@ import com.aparapi.*;
  * Provides support for pixel windows of size no greater than 49 (e.g. 7x7).
  *
  * <p>Demonstrates use of __private array for (partial) sorting, also demonstrates @NoCl annotation for specialised use of ThreadLocal in JTP execution.
+ *
+ * @author freemo
+ * @version $Id: $Id
  */
 public class MedianKernel7x7 extends Kernel {
+   /** Constant <code>CHANNEL_GRAY=-1</code> */
    public static final int CHANNEL_GRAY = -1;
+   /** Constant <code>CHANNEL_ALPHA=0</code> */
    public static final int CHANNEL_ALPHA = 0;
+   /** Constant <code>CHANNEL_RED=1</code> */
    public static final int CHANNEL_RED = 1;
+   /** Constant <code>CHANNEL_GREEN=2</code> */
    public static final int CHANNEL_GREEN = 2;
+   /** Constant <code>CHANNEL_BLUE=3</code> */
    public static final int CHANNEL_BLUE = 3;
 
+   /** Constant <code>MONOCHROME=0</code> */
    protected static final int MONOCHROME = 0;
+   /** Constant <code>RGB=1</code> */
    protected static final int RGB = 1;
+   /** Constant <code>ARGB=2</code> */
    protected static final int ARGB = 2;
 
+   /** Constant <code>MAX_WINDOW_SIZE=49</code> */
    public static final int MAX_WINDOW_SIZE = 49;
 
    protected int _imageTypeOrdinal;
@@ -64,17 +76,26 @@ public class MedianKernel7x7 extends Kernel {
    protected int _windowWidth;
    protected int _windowHeight;
 
+   /**
+    * <p>setUpWindow.</p>
+    */
    @NoCL
    public void setUpWindow() {
       _window = _threadLocalWindow.get();
    }
 
+   /**
+    * <p>processImages.</p>
+    *
+    * @param settings a {@link com.aparapi.examples.median.MedianSettings} object.
+    */
    public void processImages(MedianSettings settings) {
       _windowWidth = settings.windowWidth;
       _windowHeight = settings.windowHeight;
       execute(_sourceWidth * _sourceHeight);
    }
 
+   /** {@inheritDoc} */
    @Override
    public void run() {
       setUpWindow();
@@ -116,6 +137,15 @@ public class MedianKernel7x7 extends Kernel {
       _destPixels[index] = medianPixel;
    }
 
+   /**
+    * <p>populateWindow.</p>
+    *
+    * @param channel a int.
+    * @param windowX0 a int.
+    * @param windowX1 a int.
+    * @param windowY0 a int.
+    * @param windowY1 a int.
+    */
    protected void populateWindow(int channel, int windowX0, int windowX1, int windowY0, int windowY1) {
       int windowIndex = 0;
       for (int u = windowX0; u < windowX1; ++u) {
@@ -128,6 +158,13 @@ public class MedianKernel7x7 extends Kernel {
       }
    }
 
+   /**
+    * <p>valueForChannel.</p>
+    *
+    * @param channel a int.
+    * @param argb a int.
+    * @return a int.
+    */
    protected final int valueForChannel(int channel, int argb) {
       int sourcePixel = 0;
       if (channel == CHANNEL_GRAY) {
@@ -144,6 +181,12 @@ public class MedianKernel7x7 extends Kernel {
       return sourcePixel;
    }
 
+   /**
+    * <p>setPixelWindowValue.</p>
+    *
+    * @param windowIndex a int.
+    * @param value a short.
+    */
    protected void setPixelWindowValue(int windowIndex, short value) {
       _window[windowIndex] = value;
    }
@@ -157,6 +200,7 @@ public class MedianKernel7x7 extends Kernel {
     * </pre>
     *
     * @param actualPixelCount The actual pixel count.
+    * @return a int.
     */
    protected final int median(int actualPixelCount) {
       int i, j, L, m;
diff --git a/src/main/java/com/aparapi/examples/median/MedianSettings.java b/src/main/java/com/aparapi/examples/median/MedianSettings.java
index fb6952aab47b23095da737592683065cbc18c585..e4b8aa8c8f0900366b89a33fc0c62850a2ccf8ee 100644
--- a/src/main/java/com/aparapi/examples/median/MedianSettings.java
+++ b/src/main/java/com/aparapi/examples/median/MedianSettings.java
@@ -25,14 +25,31 @@
  */
 package com.aparapi.examples.median;
 
+/**
+ * <p>MedianSettings class.</p>
+ *
+ * @author freemo
+ * @version $Id: $Id
+ */
 public class MedianSettings {
    public final int windowWidth;
    public final int windowHeight;
 
+   /**
+    * <p>Constructor for MedianSettings.</p>
+    *
+    * @param windowSize a int.
+    */
    public MedianSettings(int windowSize) {
       this(windowSize, windowSize);
    }
 
+   /**
+    * <p>Constructor for MedianSettings.</p>
+    *
+    * @param windowWidth a int.
+    * @param windowHeight a int.
+    */
    public MedianSettings(int windowWidth, int windowHeight) {
       this.windowWidth = windowWidth;
       this.windowHeight = windowHeight;
diff --git a/src/main/java/com/aparapi/examples/nbody/Local.java b/src/main/java/com/aparapi/examples/nbody/Local.java
index dccaa44af8d2aef15eeaff7220976c5966e4d5e6..0d50dd81b8cde24d2eef6b41dac168a04c1d8a9f 100644
--- a/src/main/java/com/aparapi/examples/nbody/Local.java
+++ b/src/main/java/com/aparapi/examples/nbody/Local.java
@@ -96,13 +96,12 @@ import com.jogamp.opengl.util.texture.TextureIO;
 
 /**
  * An NBody clone which uses local memory to cache NBody positions for execution.
- * 
+ *
  * http://www.browndeertechnology.com/docs/BDT_OpenCL_Tutorial_NBody-rev3.html
- * 
+ *
  * @see Main
- * 
  * @author gfrost
- *
+ * @version $Id: $Id
  */
 public class Local{
 
@@ -219,12 +218,20 @@ public class Local{
 
    }
 
+   /** Constant <code>width</code> */
    public static int width;
 
+   /** Constant <code>height</code> */
    public static int height;
 
+   /** Constant <code>running</code> */
    public static boolean running;
 
+   /**
+    * <p>main.</p>
+    *
+    * @param _args an array of {@link java.lang.String} objects.
+    */
    public static void main(String _args[]) {
 
       final NBodyKernel kernel = new NBodyKernel(Range.create(Integer.getInteger("bodies", 8192), 256));
diff --git a/src/main/java/com/aparapi/examples/nbody/Main.java b/src/main/java/com/aparapi/examples/nbody/Main.java
index d178b0b43684e05154ace11e8451fdb0406edeb6..a6aa043f1d9f22ec1c20e2652ff160b71eb53b5e 100644
--- a/src/main/java/com/aparapi/examples/nbody/Main.java
+++ b/src/main/java/com/aparapi/examples/nbody/Main.java
@@ -106,8 +106,8 @@ import com.jogamp.opengl.util.texture.TextureIO;
  *
  * @see <a href="http://jogamp.org/jogl/www/">JOGL</a>
  * @see <a href="https://en.wikipedia.org/wiki/N-body_problem">n-body problem</a>
- *
  * @author gfrost
+ * @version $Id: $Id
  */
 public class Main{
 
@@ -218,14 +218,22 @@ public class Main{
 
    }
 
+   /** Constant <code>width</code> */
    public static int width;
 
+   /** Constant <code>height</code> */
    public static int height;
 
+   /** Constant <code>running</code> */
    public static boolean running;
 
    static Texture texture;
 
+   /**
+    * <p>main.</p>
+    *
+    * @param _args an array of {@link java.lang.String} objects.
+    */
    public static void main(String _args[]) {
 
       //System.load("/Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk/Contents/Home/jre/lib/libawt.dylib");
diff --git a/src/main/java/com/aparapi/examples/nbody/Seq.java b/src/main/java/com/aparapi/examples/nbody/Seq.java
index e6382803bbd161d95424bf54349fb28b0b4e24d8..453c805163c907102b156caa952d5479a89e27e5 100644
--- a/src/main/java/com/aparapi/examples/nbody/Seq.java
+++ b/src/main/java/com/aparapi/examples/nbody/Seq.java
@@ -97,7 +97,7 @@ import com.jogamp.opengl.util.texture.TextureData;
 import com.jogamp.opengl.util.texture.TextureIO;
 
 /**
- * NBody implemented sequentially 
+ * NBody implemented sequentially
  *
  * For a description of the NBody problem, see
  * <a href="https://en.wikipedia.org/wiki/N-body_problem">n-body problem</a>
@@ -106,8 +106,8 @@ import com.jogamp.opengl.util.texture.TextureIO;
  *
  * @see <a href="http://jogamp.org/jogl/www/">JOGL</a>
  * @see <a href="https://en.wikipedia.org/wiki/N-body_problem">n-body problem</a>
- *
  * @author gfrost
+ * @version $Id: $Id
  */
 public class Seq{
 
@@ -217,16 +217,25 @@ public class Seq{
 
    }
 
+   /** Constant <code>bodies=Integer.getInteger("bodies", 8192)</code> */
    public final static int bodies = Integer.getInteger("bodies", 8192);
 
+   /** Constant <code>width=</code> */
    public static int width;
 
+   /** Constant <code>height=</code> */
    public static int height;
 
+   /** Constant <code>running=</code> */
    public static boolean running;
 
    static Texture texture;
 
+   /**
+    * <p>main.</p>
+    *
+    * @param _args an array of {@link java.lang.String} objects.
+    */
    public static void main(String _args[]) {
 
       //System.load("/Library/Java/JavaVirtualMachines/jdk1.7.0_09.jdk/Contents/Home/jre/lib/libawt.dylib");
diff --git a/src/main/java/com/aparapi/examples/oopnbody/Body.java b/src/main/java/com/aparapi/examples/oopnbody/Body.java
index 6436eea56fa4c2223e050a28411f73be185da69a..ba6127945263a5c464cdcda9ac66661a27e36a53 100644
--- a/src/main/java/com/aparapi/examples/oopnbody/Body.java
+++ b/src/main/java/com/aparapi/examples/oopnbody/Body.java
@@ -26,11 +26,27 @@
 package com.aparapi.examples.oopnbody;
 
 
+/**
+ * <p>Body class.</p>
+ *
+ * @author freemo
+ * @version $Id: $Id
+ */
 public final class Body{
+   /** Constant <code>allBodies</code> */
    public static Body[] allBodies;
 
    final private boolean isHeavy;
 
+   /**
+    * <p>Constructor for Body.</p>
+    *
+    * @param x a float.
+    * @param y a float.
+    * @param z a float.
+    * @param _m a float.
+    * @param isHeavy a boolean.
+    */
    public Body(float x, float y, float z, float _m, boolean isHeavy) {
       this.x = x;
       this.y = y;
@@ -41,66 +57,146 @@ public final class Body{
 
    float x, y, z, m, vx, vy, vz;
 
+   /**
+    * <p>isHeavy.</p>
+    *
+    * @return a boolean.
+    */
    public boolean isHeavy() {
       return isHeavy;
    }
 
+   /**
+    * <p>Getter for the field <code>x</code>.</p>
+    *
+    * @return a float.
+    */
    public float getX() {
       return x;
    }
 
+   /**
+    * <p>Getter for the field <code>y</code>.</p>
+    *
+    * @return a float.
+    */
    public float getY() {
       return y;
    }
 
+   /**
+    * <p>Getter for the field <code>z</code>.</p>
+    *
+    * @return a float.
+    */
    public float getZ() {
       return z;
    }
 
+   /**
+    * <p>getRadius.</p>
+    *
+    * @return a float.
+    */
    public float getRadius() {
       return (float) Math.sqrt(x * x + y * y + z* z);
    }
 
+   /**
+    * <p>getTheta.</p>
+    *
+    * @return a float.
+    */
    public float getTheta() {
       return (float) Math.acos(z / getRadius());
    }
 
+   /**
+    * <p>getPhi.</p>
+    *
+    * @return a float.
+    */
    public float getPhi() {
       return (float) Math.atan(y / x);
    }
 
+   /**
+    * <p>Getter for the field <code>vx</code>.</p>
+    *
+    * @return a float.
+    */
    public float getVx() {
       return vx;
    }
 
+   /**
+    * <p>Getter for the field <code>vy</code>.</p>
+    *
+    * @return a float.
+    */
    public float getVy() {
       return vy;
    }
 
+   /**
+    * <p>Getter for the field <code>vz</code>.</p>
+    *
+    * @return a float.
+    */
    public float getVz() {
       return vz;
    }
 
+   /**
+    * <p>Getter for the field <code>m</code>.</p>
+    *
+    * @return a float.
+    */
    public float getM() {
       return m;
    }
 
+   /**
+    * <p>Setter for the field <code>m</code>.</p>
+    *
+    * @param _m a float.
+    */
    public void setM(float _m) {
       m = _m;
    }
 
+   /**
+    * <p>Setter for the field <code>x</code>.</p>
+    *
+    * @param _x a float.
+    */
    public void setX(float _x) {
       x = _x;
    }
 
+   /**
+    * <p>Setter for the field <code>y</code>.</p>
+    *
+    * @param _y a float.
+    */
    public void setY(float _y) {
       y = _y;
    }
 
+   /**
+    * <p>Setter for the field <code>z</code>.</p>
+    *
+    * @param _z a float.
+    */
    public void setZ(float _z) {
       z = _z;
    }
 
+   /**
+    * <p>setRadius.</p>
+    *
+    * @param radius a float.
+    */
    public void setRadius(float radius) {
       final float theta = getTheta();
       final float phi = getPhi();
@@ -109,6 +205,11 @@ public final class Body{
       z = (float) (radius * Math.cos(phi));
    }
 
+   /**
+    * <p>setTheta.</p>
+    *
+    * @param theta a float.
+    */
    public void setTheta(float theta) {
       final float radius = getRadius();
       final float phi = getPhi();
@@ -117,6 +218,11 @@ public final class Body{
       z = (float) (radius * Math.cos(phi));
    }
 
+   /**
+    * <p>setPhi.</p>
+    *
+    * @param phi a float.
+    */
    public void setPhi(float phi) {
       final float radius = getRadius();
       final float theta = getTheta();
@@ -125,14 +231,29 @@ public final class Body{
       z = (float) (radius * Math.cos(phi));
    }
 
+   /**
+    * <p>Setter for the field <code>vx</code>.</p>
+    *
+    * @param _vx a float.
+    */
    public void setVx(float _vx) {
       vx = _vx;
    }
 
+   /**
+    * <p>Setter for the field <code>vy</code>.</p>
+    *
+    * @param _vy a float.
+    */
    public void setVy(float _vy) {
       vy = _vy;
    }
 
+   /**
+    * <p>Setter for the field <code>vz</code>.</p>
+    *
+    * @param _vz a float.
+    */
    public void setVz(float _vz) {
       vz = _vz;
    }
diff --git a/src/main/java/com/aparapi/examples/oopnbody/Main.java b/src/main/java/com/aparapi/examples/oopnbody/Main.java
index 7b41147f13b345a45ead88c1b10fe78dd8bb8765..1bc89177bfe20954c07c4594970735f15687d88d 100644
--- a/src/main/java/com/aparapi/examples/oopnbody/Main.java
+++ b/src/main/java/com/aparapi/examples/oopnbody/Main.java
@@ -103,8 +103,8 @@ import com.jogamp.opengl.util.texture.TextureIO;
  *
  * @see <a href="http://jogamp.org/jogl/www/">JOGL</a>
  * @see <a href="https://en.wikipedia.org/wiki/N-body_problem">n-body problem</a>
- *
  * @author gfrost
+ * @version $Id: $Id
  */
 public class Main{
 
@@ -225,14 +225,23 @@ public class Main{
       }
    }
 
+   /** Constant <code>width</code> */
    public static int width;
 
+   /** Constant <code>height</code> */
    public static int height;
 
+   /** Constant <code>running</code> */
    public static boolean running;
 
+   /** Constant <code>texture</code> */
    public static Texture texture = null;
 
+   /**
+    * <p>main.</p>
+    *
+    * @param _args an array of {@link java.lang.String} objects.
+    */
    public static void main(String _args[]) {
       final int bodyCount = Integer.getInteger("bodies", 8192);
 
diff --git a/src/main/java/com/aparapi/examples/oopnbody/Perspective.java b/src/main/java/com/aparapi/examples/oopnbody/Perspective.java
index 5066e01b41a3b02a2ce9ebf53e0709ae9bb76b0f..4f13c1cc1cdd4aeecb591a5978478133ade156e6 100644
--- a/src/main/java/com/aparapi/examples/oopnbody/Perspective.java
+++ b/src/main/java/com/aparapi/examples/oopnbody/Perspective.java
@@ -30,9 +30,23 @@ class Perspective {
 
    public float zoomFactor;
 
+   /**
+    * <p>Constructor for Perspective.</p>
+    */
    public Perspective() {
    }
 
+   /**
+    * <p>Constructor for Perspective.</p>
+    *
+    * @param xeye a float.
+    * @param yeye a float.
+    * @param zeye a float.
+    * @param xat a float.
+    * @param yat a float.
+    * @param zat a float.
+    * @param zoomFactor a float.
+    */
    public Perspective(float xeye, float yeye, float zeye, float xat, float yat, float zat, float zoomFactor) {
       this.xeye = xeye;
       this.yeye = yeye;
@@ -43,78 +57,168 @@ class Perspective {
       this.zoomFactor = zoomFactor;
    }
 
+   /**
+    * <p>Getter for the field <code>xeye</code>.</p>
+    *
+    * @return a float.
+    */
    public float getXeye() {
       return xeye;
    }
 
+   /**
+    * <p>Setter for the field <code>xeye</code>.</p>
+    *
+    * @param xeye a float.
+    */
    public void setXeye(float xeye) {
       this.xeye = xeye;
    }
 
+   /**
+    * <p>Getter for the field <code>yeye</code>.</p>
+    *
+    * @return a float.
+    */
    public float getYeye() {
       return yeye;
    }
 
+   /**
+    * <p>Setter for the field <code>yeye</code>.</p>
+    *
+    * @param yeye a float.
+    */
    public void setYeye(float yeye) {
       this.yeye = yeye;
    }
 
+   /**
+    * <p>Getter for the field <code>zeye</code>.</p>
+    *
+    * @return a float.
+    */
    public float getZeye() {
       return zeye;
    }
 
+   /**
+    * <p>Setter for the field <code>zeye</code>.</p>
+    *
+    * @param zeye a float.
+    */
    public void setZeye(float zeye) {
       this.zeye = zeye;
    }
 
+   /**
+    * <p>Getter for the field <code>xat</code>.</p>
+    *
+    * @return a float.
+    */
    public float getXat() {
       return xat;
    }
 
+   /**
+    * <p>Setter for the field <code>xat</code>.</p>
+    *
+    * @param xat a float.
+    */
    public void setXat(float xat) {
       this.xat = xat;
    }
 
+   /**
+    * <p>Getter for the field <code>yat</code>.</p>
+    *
+    * @return a float.
+    */
    public float getYat() {
       return yat;
    }
 
+   /**
+    * <p>Setter for the field <code>yat</code>.</p>
+    *
+    * @param yat a float.
+    */
    public void setYat(float yat) {
       this.yat = yat;
    }
 
+   /**
+    * <p>Getter for the field <code>zat</code>.</p>
+    *
+    * @return a float.
+    */
    public float getZat() {
       return zat;
    }
 
+   /**
+    * <p>Setter for the field <code>zat</code>.</p>
+    *
+    * @param zat a float.
+    */
    public void setZat(float zat) {
       this.zat = zat;
    }
 
+   /**
+    * <p>Getter for the field <code>zoomFactor</code>.</p>
+    *
+    * @return a float.
+    */
    public float getZoomFactor() {
       return zoomFactor;
    }
 
+   /**
+    * <p>Setter for the field <code>zoomFactor</code>.</p>
+    *
+    * @param zoomFactor a float.
+    */
    public void setZoomFactor(float zoomFactor) {
       this.zoomFactor = zoomFactor;
    }
 
+   /**
+    * <p>getRadius.</p>
+    *
+    * @return a float.
+    */
    public float getRadius() {
       return (float) Math.sqrt(xeye * xeye + yeye * yeye + zeye * zeye);
    }
 
+   /**
+    * <p>getTheta.</p>
+    *
+    * @return a float.
+    */
    public float getTheta() {
       if( getRadius()  == 0f)
          return 0f;
       return (float) Math.acos(zeye / getRadius());
    }
 
+   /**
+    * <p>getPhi.</p>
+    *
+    * @return a float.
+    */
    public float getPhi() {
       if(xeye == 0f)
          return 0f;
       return (float) Math.atan(yeye / xeye);
    }
 
+   /**
+    * <p>setRadius.</p>
+    *
+    * @param radius a float.
+    */
    public void setRadius(float radius) {
       final float theta = getTheta();
       final float phi = getPhi();
@@ -123,6 +227,11 @@ class Perspective {
       zeye = radius * ((float)Math.cos(theta));
    }
 
+   /**
+    * <p>setTheta.</p>
+    *
+    * @param theta a float.
+    */
    public void setTheta(float theta) {
       final float radius = getRadius();
       final float phi = getPhi();
@@ -131,6 +240,11 @@ class Perspective {
       zeye = radius * ((float)Math.cos(theta));
    }
 
+   /**
+    * <p>setPhi.</p>
+    *
+    * @param phi a float.
+    */
    public void setPhi(float phi) {
       final float radius = getRadius();
       final float theta = getTheta();
@@ -139,6 +253,7 @@ class Perspective {
       zeye = radius * ((float)Math.cos(theta));
    }
 
+   /** {@inheritDoc} */
    @Override
    public String toString() {
       return "Perspective{" +
diff --git a/src/main/java/com/aparapi/examples/progress/LongRunningKernel.java b/src/main/java/com/aparapi/examples/progress/LongRunningKernel.java
index 2daae69e99ec6b093d62d6fe8762fd1d25ed7877..1ad52e01ab32f4d213167d5812e2987613a1bc1b 100644
--- a/src/main/java/com/aparapi/examples/progress/LongRunningKernel.java
+++ b/src/main/java/com/aparapi/examples/progress/LongRunningKernel.java
@@ -29,14 +29,19 @@ import com.aparapi.Kernel;
 
 /**
  * Kernel which performs very many meaningless calculations, used to demonstrate progress tracking and cancellation of multi-pass Kernels.
+ *
+ * @author freemo
+ * @version $Id: $Id
  */
 public class LongRunningKernel extends Kernel {
 
+   /** Constant <code>RANGE=20000</code> */
    public static final int RANGE = 20000;
    private static final int REPETITIONS = 1 * 1000 * 1000;
 
    public final long[] data = new long[RANGE];
 
+   /** {@inheritDoc} */
    @Override
    public void run() {
       int id = getGlobalId();
@@ -48,6 +53,9 @@ public class LongRunningKernel extends Kernel {
       }
    }
 
+   /**
+    * <p>report.</p>
+    */
    @NoCL
    public void report() {
       int passId = getPassId();
diff --git a/src/main/java/com/aparapi/examples/progress/MultiPassKernelSwingWorkerDemo.java b/src/main/java/com/aparapi/examples/progress/MultiPassKernelSwingWorkerDemo.java
index eecf50a9f058a822cb0e62eb7da2923584dd64fb..fb70d519c3ce99428ab02dc82199dfff0bb6f83b 100644
--- a/src/main/java/com/aparapi/examples/progress/MultiPassKernelSwingWorkerDemo.java
+++ b/src/main/java/com/aparapi/examples/progress/MultiPassKernelSwingWorkerDemo.java
@@ -36,7 +36,10 @@ import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
 
 /**
- * Demonstrates progress tracking and cancellation for multi-pass kernels, via {@link MultiPassKernelSwingWorker}.
+ * Demonstrates progress tracking and cancellation for multi-pass kernels, via {@link com.aparapi.util.swing.MultiPassKernelSwingWorker}.
+ *
+ * @author freemo
+ * @version $Id: $Id
  */
 public class MultiPassKernelSwingWorkerDemo {
 
@@ -50,6 +53,12 @@ public class MultiPassKernelSwingWorkerDemo {
 
    private static final boolean TEST_JTP = false;
 
+   /**
+    * <p>main.</p>
+    *
+    * @param ignored an array of {@link java.lang.String} objects.
+    * @throws java.lang.Exception if any.
+    */
    public static void main(String[] ignored) throws Exception {
       if (TEST_JTP) {
          KernelManager.setKernelManager(KernelManagers.JTP_ONLY);
diff --git a/src/main/java/com/aparapi/examples/progress/ProgressAndCancelDemo.java b/src/main/java/com/aparapi/examples/progress/ProgressAndCancelDemo.java
index bac151cebae970ef9441fb6df4f08aeb05f11a36..b18a805863e608eecd53221579462af29973c538 100644
--- a/src/main/java/com/aparapi/examples/progress/ProgressAndCancelDemo.java
+++ b/src/main/java/com/aparapi/examples/progress/ProgressAndCancelDemo.java
@@ -34,6 +34,9 @@ import java.awt.event.*;
 
 /**
  * Demonstrates progress tracking and cancellation for multi-pass kernels.
+ *
+ * @author freemo
+ * @version $Id: $Id
  */
 public class ProgressAndCancelDemo {
 
@@ -49,6 +52,12 @@ public class ProgressAndCancelDemo {
 
    private static final boolean TEST_JTP = false;
 
+   /**
+    * <p>main.</p>
+    *
+    * @param ignored an array of {@link java.lang.String} objects.
+    * @throws java.lang.Exception if any.
+    */
    public static void main(String[] ignored) throws Exception {
 
       System.setProperty("com.aparapi.enableShowGeneratedOpenCL", "true");
diff --git a/src/main/java/com/aparapi/examples/squares/Main.java b/src/main/java/com/aparapi/examples/squares/Main.java
index 1f4b6ba3f85094d12ff8effb763090dbc610bad2..d6b0ae3bbcc12ac3398f74b4e208b0bbd07399e9 100644
--- a/src/main/java/com/aparapi/examples/squares/Main.java
+++ b/src/main/java/com/aparapi/examples/squares/Main.java
@@ -68,15 +68,19 @@ import com.aparapi.Range;
 
 /**
  * An example Aparapi application which computes and displays squares of a set of 512 input values.
- * While executing on GPU using Aparpi framework, each square value is computed in a separate kernel invocation and 
- * can thus maximize performance by optimally utilizing all GPU computing units 
- *  
- * @author gfrost
+ * While executing on GPU using Aparpi framework, each square value is computed in a separate kernel invocation and
+ * can thus maximize performance by optimally utilizing all GPU computing units
  *
+ * @author gfrost
+ * @version $Id: $Id
  */
-
 public class Main{
 
+   /**
+    * <p>main.</p>
+    *
+    * @param _args an array of {@link java.lang.String} objects.
+    */
    public static void main(String[] _args) {
 
       final int size = 512;