diff --git a/doc/PrivateMemorySpace.md b/doc/PrivateMemorySpace.md
index 2db7557201cf4797a0c4301a44d4a31c3d81773c..4b51d2f8aded645703376d97724d192cf0d65ddd 100644
--- a/doc/PrivateMemorySpace.md
+++ b/doc/PrivateMemorySpace.md
@@ -29,6 +29,6 @@ Without modification, an Aparapi kernel which uses private buffers may fail to w
 
 The Kernel.NoCL annotation exists to allow specialised code to be executed when running in Java (or JTP) which is not invoked when running on the GPU. A NoCL method can be inserted at the begining of a Kernel's run() method which sets the private array to a value obtained from a static ThreadLocal<foo[]> where foo is the primitive type of the array in question. This will have no effect upon OpenCL execution, but will allow threadsafe execution when running in java.
 
-In the project samples, there is a package com.syncleus.aparapi.sample.median which gives an example of a median image filter which uses a private array of pixel data to apply a distructive median algorithm to a "window" of local pixels. This sample also demonstrates how to use the ThreadLocal trick to allow correct behaviour when running in JTP execution mode.
+In the project samples, there is a package com.syncleus.com.syncleus.aparapi.examples.median which gives an example of a median image filter which uses a private array of pixel data to apply a distructive median algorithm to a "window" of local pixels. This sample also demonstrates how to use the ThreadLocal trick to allow correct behaviour when running in JTP execution mode.
 
 [http://code.google.com/p/aparapi/source/browse/trunk/samples/median/src/com/amd/aparapi/sample/median/MedianDemo.java](http://code.google.com/p/aparapi/source/browse/trunk/samples/median/src/com/amd/aparapi/sample/median/MedianDemo.java)
\ No newline at end of file
diff --git a/samples/median/src/com/amd/aparapi/sample/median/MedianSettings.java b/samples/median/src/com/amd/aparapi/sample/median/MedianSettings.java
deleted file mode 100644
index dbbbede5265d4e3543c67b1ef968c3524cc9dc1f..0000000000000000000000000000000000000000
--- a/samples/median/src/com/amd/aparapi/sample/median/MedianSettings.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package com.syncleus.aparapi.sample.median;
-
-public class MedianSettings {
-   public final int windowWidth;
-   public final int windowHeight;
-
-   public MedianSettings(int windowSize) {
-      this(windowSize, windowSize);
-   }
-
-   public MedianSettings(int windowWidth, int windowHeight) {
-      this.windowWidth = windowWidth;
-      this.windowHeight = windowHeight;
-   }
-}
diff --git a/src/main/java/com/syncleus/aparapi/examples/All.java b/src/main/java/com/syncleus/aparapi/examples/All.java
index b8120b87c21a58fcf8f85530fe825a972c871127..448a8c5ac7ebd05dae00d5c5880476e0e7b31839 100644
--- a/src/main/java/com/syncleus/aparapi/examples/All.java
+++ b/src/main/java/com/syncleus/aparapi/examples/All.java
@@ -25,7 +25,8 @@ public class All {
         System.out.println("  8) Squares");
         System.out.println("  9) Multipass swing worker");
         System.out.println("  10) Progress and cancel demo");
-        System.out.println("  11) info");
+        System.out.println("  11) Info");
+        System.out.println("  12) Medians");
         System.out.println();
 
         Scanner in = new Scanner(System.in);
@@ -89,6 +90,9 @@ public class All {
             case "11":
                 com.syncleus.aparapi.examples.info.Main.main(args);
                 break;
+            case "12":
+                com.syncleus.aparapi.examples.median.MedianDemo.main(args);
+                break;
             default:
                 System.out.println("Invalid selection.");
         }
diff --git a/samples/median/src/com/amd/aparapi/sample/median/MedianDemo.java b/src/main/java/com/syncleus/aparapi/examples/median/MedianDemo.java
similarity index 86%
rename from samples/median/src/com/amd/aparapi/sample/median/MedianDemo.java
rename to src/main/java/com/syncleus/aparapi/examples/median/MedianDemo.java
index cec33d9c1e44b7388a1192583e0afd3187b805e9..bbff9bbdfbc1007d0c67aa191481238db01de945 100644
--- a/samples/median/src/com/amd/aparapi/sample/median/MedianDemo.java
+++ b/src/main/java/com/syncleus/aparapi/examples/median/MedianDemo.java
@@ -1,4 +1,14 @@
-package com.syncleus.aparapi.sample.median;
+/**
+ * This product currently only contains code developed by authors
+ * of specific components, as identified by the source code files.
+ *
+ * Since product implements StAX API, it has dependencies to StAX API
+ * classes.
+ *
+ * For additional credits (generally to people who reported problems)
+ * see CREDITS file.
+ */
+package com.syncleus.aparapi.examples.median;
 
 import com.syncleus.aparapi.internal.kernel.*;
 
@@ -16,7 +26,7 @@ public class MedianDemo {
 
    static {
       try {
-         File imageFile = new File("./samples/convolution/testcard.jpg").getCanonicalFile();
+         File imageFile = new File("./src/main/resources/testcard.jpg").getCanonicalFile();
          if (imageFile.exists()) {
             testImage = ImageIO.read(imageFile);
          }
diff --git a/samples/median/src/com/amd/aparapi/sample/median/MedianKernel7x7.java b/src/main/java/com/syncleus/aparapi/examples/median/MedianKernel7x7.java
similarity index 90%
rename from samples/median/src/com/amd/aparapi/sample/median/MedianKernel7x7.java
rename to src/main/java/com/syncleus/aparapi/examples/median/MedianKernel7x7.java
index 46653f17d031d638823ad4062e9b180bff70dc96..349c2eecda207b2160d704c7b454dbf8af0ae24c 100644
--- a/samples/median/src/com/amd/aparapi/sample/median/MedianKernel7x7.java
+++ b/src/main/java/com/syncleus/aparapi/examples/median/MedianKernel7x7.java
@@ -1,4 +1,14 @@
-package com.syncleus.aparapi.sample.median;
+/**
+ * This product currently only contains code developed by authors
+ * of specific components, as identified by the source code files.
+ *
+ * Since product implements StAX API, it has dependencies to StAX API
+ * classes.
+ *
+ * For additional credits (generally to people who reported problems)
+ * see CREDITS file.
+ */
+package com.syncleus.aparapi.examples.median;
 
 import com.syncleus.aparapi.*;
 
diff --git a/src/main/java/com/syncleus/aparapi/examples/median/MedianSettings.java b/src/main/java/com/syncleus/aparapi/examples/median/MedianSettings.java
new file mode 100644
index 0000000000000000000000000000000000000000..76068c4a40e716aa0c017a9ae3b4be7a67f9ff3f
--- /dev/null
+++ b/src/main/java/com/syncleus/aparapi/examples/median/MedianSettings.java
@@ -0,0 +1,25 @@
+/**
+ * This product currently only contains code developed by authors
+ * of specific components, as identified by the source code files.
+ *
+ * Since product implements StAX API, it has dependencies to StAX API
+ * classes.
+ *
+ * For additional credits (generally to people who reported problems)
+ * see CREDITS file.
+ */
+package com.syncleus.aparapi.examples.median;
+
+public class MedianSettings {
+   public final int windowWidth;
+   public final int windowHeight;
+
+   public MedianSettings(int windowSize) {
+      this(windowSize, windowSize);
+   }
+
+   public MedianSettings(int windowWidth, int windowHeight) {
+      this.windowWidth = windowWidth;
+      this.windowHeight = windowHeight;
+   }
+}