From 86833ebc2a08f3b7094b982f0af8884575aef6f5 Mon Sep 17 00:00:00 2001
From: Jeffrey Phillips Freeman <the@jeffreyfreeman.me>
Date: Mon, 12 Jul 2021 11:04:15 -0400
Subject: [PATCH] doc: Fixed all javadocs.

---
 src/main/java/com/aparapi/examples/All.java   |  12 ++
 .../java/com/aparapi/examples/add/Main.java   |  11 ++
 .../examples/afmandelbrot/AfAparapiUtils.java |  61 +++++++--
 .../examples/afmandelbrot/AfBenchmark.java    |  51 ++++++--
 .../aparapi/examples/afmandelbrot/AfGUI.java  |  26 +++-
 .../examples/afmandelbrot/AfKernel.java       |  26 +++-
 .../aparapi/examples/afmandelbrot/AfMain.java |  69 ++++++++--
 .../aparapi/examples/blackscholes/Main.java   |  14 ++
 .../configuration/AutoCleanUpArraysDemo.java  |  11 ++
 .../configuration/CleanUpArraysDemo.java      |  11 ++
 .../configuration/ConfigurationDemo.java      |   8 ++
 .../CustomConfigurationDemo.java              |   8 ++
 .../configuration/KernelOkayInOpenCL.java     |   4 +
 .../KernelWithAlternateFallbackAlgorithm.java |   6 +
 ...rnelWithoutAlternateFallbackAlgorithm.java |   4 +
 .../LegacyConfigurationDemo.java              |   8 ++
 .../examples/configuration/ProfilingDemo.java |   8 ++
 .../ProfilingDemoNoBinaryCaching.java         |   8 ++
 .../convolution/ConvMatrix3x3Editor.java      |  11 ++
 .../examples/convolution/Convolution.java     |  14 +-
 .../convolution/ConvolutionOpenCL.java        |  11 ++
 .../convolution/ConvolutionViewer.java        |  21 +++
 .../examples/convolution/PureJava.java        |  11 ++
 .../com/aparapi/examples/effects/Main.java    |  18 ++-
 .../examples/extension/FFTExample.java        |  11 ++
 .../aparapi/examples/extension/Histogram.java |  11 ++
 .../examples/extension/HistogramIdeal.java    |  11 ++
 .../examples/extension/JavaMandelBrot.java    |   7 +
 .../extension/JavaMandelBrotMultiThread.java  |   7 +
 .../aparapi/examples/extension/Mandel.java    |  12 +-
 .../examples/extension/MandelBrot.java        |  12 +-
 .../examples/extension/MandelExample.java     |  15 +++
 .../examples/extension/MandelSimple.java      |  12 ++
 .../examples/extension/Pow4Example.java       |  11 ++
 .../examples/extension/SquareExample.java     |  11 ++
 .../aparapi/examples/extension/StopWatch.java |  14 ++
 .../examples/extension/SwapExample.java       |  11 ++
 .../java/com/aparapi/examples/info/Main.java  |  11 ++
 .../aparapi/examples/javaonedemo/Life.java    |  12 +-
 .../aparapi/examples/javaonedemo/Mandel.java  |  20 ++-
 .../aparapi/examples/javaonedemo/NBody.java   |  13 +-
 .../java/com/aparapi/examples/life/Main.java  |  12 +-
 .../com/aparapi/examples/mandel/Main.java     |  18 ++-
 .../com/aparapi/examples/mandel/Main2D.java   |  18 ++-
 .../com/aparapi/examples/mapreduce/Main.java  |  11 ++
 .../examples/matrix/CorrMatrixHost.java       |   7 +-
 .../examples/matrix/CorrMatrixKernel.java     |   2 +
 .../com/aparapi/examples/matrix/Main.java     |   2 +-
 .../aparapi/examples/mdarray/BMatMul1D.java   |   9 ++
 .../aparapi/examples/mdarray/BMatMul2D.java   |   9 ++
 .../aparapi/examples/mdarray/BMatMul3D.java   |   9 ++
 .../aparapi/examples/mdarray/DMatMul1D.java   |   9 ++
 .../aparapi/examples/mdarray/DMatMul2D.java   |   9 ++
 .../aparapi/examples/mdarray/DMatMul3D.java   |   9 ++
 .../aparapi/examples/mdarray/FMatMul1D.java   |   9 ++
 .../aparapi/examples/mdarray/FMatMul2D.java   |   9 ++
 .../aparapi/examples/mdarray/FMatMul3D.java   |   9 ++
 .../aparapi/examples/mdarray/IMatMul1D.java   |   9 ++
 .../aparapi/examples/mdarray/IMatMul2D.java   |   9 ++
 .../aparapi/examples/mdarray/IMatMul3D.java   |   9 ++
 .../aparapi/examples/mdarray/LMatMul1D.java   |   9 ++
 .../aparapi/examples/mdarray/LMatMul2D.java   |   9 ++
 .../aparapi/examples/mdarray/LMatMul3D.java   |   9 ++
 .../com/aparapi/examples/mdarray/MDArray.java |  74 +++++++++++
 .../aparapi/examples/mdarray/SMatMul1D.java   |   9 ++
 .../aparapi/examples/mdarray/SMatMul2D.java   |   9 ++
 .../aparapi/examples/mdarray/SMatMul3D.java   |   9 ++
 .../aparapi/examples/mdarray/ZMatMul1D.java   |   9 ++
 .../aparapi/examples/mdarray/ZMatMul2D.java   |   9 ++
 .../aparapi/examples/mdarray/ZMatMul3D.java   |   9 ++
 .../aparapi/examples/median/MedianDemo.java   |   9 ++
 .../examples/median/MedianKernel7x7.java      |  44 +++++++
 .../examples/median/MedianSettings.java       |  17 +++
 .../com/aparapi/examples/nbody/Local.java     |  15 ++-
 .../java/com/aparapi/examples/nbody/Main.java |  10 +-
 .../java/com/aparapi/examples/nbody/Seq.java  |  13 +-
 .../com/aparapi/examples/oopnbody/Body.java   | 121 ++++++++++++++++++
 .../com/aparapi/examples/oopnbody/Main.java   |  11 +-
 .../examples/oopnbody/Perspective.java        | 115 +++++++++++++++++
 .../examples/progress/LongRunningKernel.java  |   8 ++
 .../MultiPassKernelSwingWorkerDemo.java       |  11 +-
 .../progress/ProgressAndCancelDemo.java       |   9 ++
 .../com/aparapi/examples/squares/Main.java    |  14 +-
 83 files changed, 1262 insertions(+), 101 deletions(-)

diff --git a/src/main/java/com/aparapi/examples/All.java b/src/main/java/com/aparapi/examples/All.java
index fa1adcb3..678be2e0 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 b6916fc5..875bc8cd 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 fd4ea7d2..6d9d46aa 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 016837a7..691b11ac 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 aa47a801..8713a965 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 a51bdf06..677482b1 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 9c8d2b31..4fd1045e 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 3ca4c6af..0e57d7c9 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 36cd140d..c94c4e76 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 bedd7285..62901542 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 0fbdf7e2..82195d32 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 2d83fbec..ff1a34b2 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 7846ed0a..bd2b488f 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 6f2f7c76..943cb3d8 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 cd671315..c5a26f94 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 3f4fb9bc..c10fe4a5 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 0c3f13b6..095d808c 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 e90e3d44..a04ab7b2 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 02588b17..c00932f8 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 19751826..ca7f639c 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 ad7d4d80..2f857150 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 52f9c68d..ecae217d 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 665ef096..909ae995 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 9d4e85e7..561f613a 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 16638aee..b9eeff2b 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 d4b6c97a..bc2b4675 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 8e961352..df60e5a5 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 a8bc20c2..d99e075c 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 d5e837bc..317d8aab 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 7f0a8e4d..b5f676d2 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 cdc2ccbb..3d08e7b5 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 352e118f..ebb57441 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 7feb79d2..65c8d3dc 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 27de3342..2871e84e 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 1131ca0a..a488d126 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 e919ca38..c1cb8fc7 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 e938ae23..6fcd92fe 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 9fa65eaf..f2df080b 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 8d5bcac0..b60c3525 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 7041ecac..e87e12aa 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 70f05b45..a3d609be 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 1a663ee6..c95c404b 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 4eb94f21..fa3c57d4 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 8bb99ab0..74daef1c 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 7b566cb3..8a46598d 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 c445fddc..c95cb24e 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 45ffd744..bec9a107 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 f0bda21c..f464d993 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 5b511520..f74a47b7 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 8e59780a..3ee3ba54 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 ff1c408b..269ce3ac 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 b146aec9..322ee6e3 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 7ee5139b..362f4393 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 48f8c6b0..a845162b 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 2b033a16..e6a267a7 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 624b09d6..3cc81f0d 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 a32cfb4a..3f796179 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 6be855df..bdc6a15a 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 4e197c20..ff59da03 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 67a5d892..5b921c58 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 adc56c22..e41d3f63 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 af3be45b..908d9f37 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 d6b863c1..f006ab11 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 2e03d846..71508812 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 f9788528..554a05ac 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 4a19296d..f5d2e282 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 23796271..33f451b2 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 1ce290dc..e2e74015 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 d014f6f0..1813ac05 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 50679fb8..ad66c186 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 dd42ab04..2381ae0a 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 29201750..2a5c78e8 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 fb6952aa..e4b8aa8c 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 dccaa44a..0d50dd81 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 d178b0b4..a6aa043f 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 e6382803..453c8051 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 6436eea5..ba612794 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 7b41147f..1bc89177 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 5066e01b..4f13c1cc 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 2daae69e..1ad52e01 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 eecf50a9..fb70d519 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 bac151ce..b18a8058 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 1f4b6ba3..d6b0ae3b 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;
-- 
GitLab