Rename packages org.apache.sanselan.* to org.apache.commons.sanselan.*

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/sanselan/trunk@1220540 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/pom.xml b/pom.xml
index 0bd594b..7fc93a7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -67,7 +67,7 @@
     <commons.release.version>0.98</commons.release.version>
     <commons.jira.id>SANSELAN</commons.jira.id>
     <commons.jira.pid>12310720</commons.jira.pid>
-    <commons.osgi.export>org.apache.sanselan.*;version=${project.version};-noimport:=true</commons.osgi.export>
+    <commons.osgi.export>org.apache.commons.sanselan.*;version=${project.version};-noimport:=true</commons.osgi.export>
     <commons.binary.suffix />
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
diff --git a/src/main/java/org/apache/sanselan/ColorTools.java b/src/main/java/org/apache/commons/sanselan/ColorTools.java
similarity index 99%
rename from src/main/java/org/apache/sanselan/ColorTools.java
rename to src/main/java/org/apache/commons/sanselan/ColorTools.java
index cb2d90c..1470c82 100644
--- a/src/main/java/org/apache/sanselan/ColorTools.java
+++ b/src/main/java/org/apache/commons/sanselan/ColorTools.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan;
+package org.apache.commons.sanselan;
 
 import java.awt.RenderingHints;
 import java.awt.color.ColorSpace;
diff --git a/src/main/java/org/apache/sanselan/FormatCompliance.java b/src/main/java/org/apache/commons/sanselan/FormatCompliance.java
similarity index 98%
rename from src/main/java/org/apache/sanselan/FormatCompliance.java
rename to src/main/java/org/apache/commons/sanselan/FormatCompliance.java
index 18869f4..b5d3c6a 100644
--- a/src/main/java/org/apache/sanselan/FormatCompliance.java
+++ b/src/main/java/org/apache/commons/sanselan/FormatCompliance.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan;
+package org.apache.commons.sanselan;
 
 import java.io.OutputStreamWriter;
 import java.io.PrintWriter;
diff --git a/src/main/java/org/apache/sanselan/ImageDump.java b/src/main/java/org/apache/commons/sanselan/ImageDump.java
similarity index 95%
rename from src/main/java/org/apache/sanselan/ImageDump.java
rename to src/main/java/org/apache/commons/sanselan/ImageDump.java
index e8aec59..81ba7ad 100644
--- a/src/main/java/org/apache/sanselan/ImageDump.java
+++ b/src/main/java/org/apache/commons/sanselan/ImageDump.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan;
+package org.apache.commons.sanselan;
 
 import java.awt.color.ColorSpace;
 import java.awt.color.ICC_ColorSpace;
@@ -22,8 +22,8 @@
 import java.awt.image.BufferedImage;
 import java.io.IOException;
 
-import org.apache.sanselan.icc.IccProfileInfo;
-import org.apache.sanselan.icc.IccProfileParser;
+import org.apache.commons.sanselan.icc.IccProfileInfo;
+import org.apache.commons.sanselan.icc.IccProfileParser;
 
 public class ImageDump
 {
diff --git a/src/main/java/org/apache/sanselan/ImageFormat.java b/src/main/java/org/apache/commons/sanselan/ImageFormat.java
similarity index 98%
rename from src/main/java/org/apache/sanselan/ImageFormat.java
rename to src/main/java/org/apache/commons/sanselan/ImageFormat.java
index fb8d9cc..6839b26 100644
--- a/src/main/java/org/apache/sanselan/ImageFormat.java
+++ b/src/main/java/org/apache/commons/sanselan/ImageFormat.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan;
+package org.apache.commons.sanselan;
 
 public class ImageFormat
 {
diff --git a/src/main/java/org/apache/sanselan/ImageInfo.java b/src/main/java/org/apache/commons/sanselan/ImageInfo.java
similarity index 99%
rename from src/main/java/org/apache/sanselan/ImageInfo.java
rename to src/main/java/org/apache/commons/sanselan/ImageInfo.java
index 8f6a244..b8875c8 100644
--- a/src/main/java/org/apache/sanselan/ImageInfo.java
+++ b/src/main/java/org/apache/commons/sanselan/ImageInfo.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan;
+package org.apache.commons.sanselan;
 
 import java.io.IOException;
 import java.io.PrintWriter;
diff --git a/src/main/java/org/apache/sanselan/ImageParser.java b/src/main/java/org/apache/commons/sanselan/ImageParser.java
similarity index 89%
rename from src/main/java/org/apache/sanselan/ImageParser.java
rename to src/main/java/org/apache/commons/sanselan/ImageParser.java
index 69cd73d..f44929b 100644
--- a/src/main/java/org/apache/sanselan/ImageParser.java
+++ b/src/main/java/org/apache/commons/sanselan/ImageParser.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan;
+package org.apache.commons.sanselan;
 
 import java.awt.Dimension;
 import java.awt.image.BufferedImage;
@@ -26,28 +26,28 @@
 import java.util.ArrayList;
 import java.util.Map;
 
-import org.apache.sanselan.common.BinaryFileParser;
-import org.apache.sanselan.common.IBufferedImageFactory;
-import org.apache.sanselan.common.IImageMetadata;
-import org.apache.sanselan.common.SimpleBufferedImageFactory;
-import org.apache.sanselan.common.byteSources.ByteSource;
-import org.apache.sanselan.common.byteSources.ByteSourceArray;
-import org.apache.sanselan.common.byteSources.ByteSourceFile;
-import org.apache.sanselan.formats.bmp.BmpImageParser;
-import org.apache.sanselan.formats.dcx.DcxImageParser;
-import org.apache.sanselan.formats.gif.GifImageParser;
-import org.apache.sanselan.formats.icns.IcnsImageParser;
-import org.apache.sanselan.formats.ico.IcoImageParser;
-import org.apache.sanselan.formats.jpeg.JpegImageParser;
-import org.apache.sanselan.formats.pcx.PcxImageParser;
-import org.apache.sanselan.formats.png.PngImageParser;
-import org.apache.sanselan.formats.pnm.PNMImageParser;
-import org.apache.sanselan.formats.psd.PsdImageParser;
-import org.apache.sanselan.formats.tiff.TiffImageParser;
-import org.apache.sanselan.formats.wbmp.WbmpImageParser;
-import org.apache.sanselan.formats.xbm.XbmImageParser;
-import org.apache.sanselan.formats.xpm.XpmImageParser;
-import org.apache.sanselan.util.Debug;
+import org.apache.commons.sanselan.common.BinaryFileParser;
+import org.apache.commons.sanselan.common.IBufferedImageFactory;
+import org.apache.commons.sanselan.common.IImageMetadata;
+import org.apache.commons.sanselan.common.SimpleBufferedImageFactory;
+import org.apache.commons.sanselan.common.byteSources.ByteSource;
+import org.apache.commons.sanselan.common.byteSources.ByteSourceArray;
+import org.apache.commons.sanselan.common.byteSources.ByteSourceFile;
+import org.apache.commons.sanselan.formats.bmp.BmpImageParser;
+import org.apache.commons.sanselan.formats.dcx.DcxImageParser;
+import org.apache.commons.sanselan.formats.gif.GifImageParser;
+import org.apache.commons.sanselan.formats.icns.IcnsImageParser;
+import org.apache.commons.sanselan.formats.ico.IcoImageParser;
+import org.apache.commons.sanselan.formats.jpeg.JpegImageParser;
+import org.apache.commons.sanselan.formats.pcx.PcxImageParser;
+import org.apache.commons.sanselan.formats.png.PngImageParser;
+import org.apache.commons.sanselan.formats.pnm.PNMImageParser;
+import org.apache.commons.sanselan.formats.psd.PsdImageParser;
+import org.apache.commons.sanselan.formats.tiff.TiffImageParser;
+import org.apache.commons.sanselan.formats.wbmp.WbmpImageParser;
+import org.apache.commons.sanselan.formats.xbm.XbmImageParser;
+import org.apache.commons.sanselan.formats.xpm.XpmImageParser;
+import org.apache.commons.sanselan.util.Debug;
 
 public abstract class ImageParser extends BinaryFileParser implements
         SanselanConstants
diff --git a/src/main/java/org/apache/sanselan/ImageReadException.java b/src/main/java/org/apache/commons/sanselan/ImageReadException.java
similarity index 96%
rename from src/main/java/org/apache/sanselan/ImageReadException.java
rename to src/main/java/org/apache/commons/sanselan/ImageReadException.java
index 2adb61d..e427360 100644
--- a/src/main/java/org/apache/sanselan/ImageReadException.java
+++ b/src/main/java/org/apache/commons/sanselan/ImageReadException.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan;
+package org.apache.commons.sanselan;
 
 public class ImageReadException extends SanselanException
 {
diff --git a/src/main/java/org/apache/sanselan/ImageWriteException.java b/src/main/java/org/apache/commons/sanselan/ImageWriteException.java
similarity index 96%
rename from src/main/java/org/apache/sanselan/ImageWriteException.java
rename to src/main/java/org/apache/commons/sanselan/ImageWriteException.java
index abcd4ae..b923d6a 100644
--- a/src/main/java/org/apache/sanselan/ImageWriteException.java
+++ b/src/main/java/org/apache/commons/sanselan/ImageWriteException.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan;
+package org.apache.commons.sanselan;
 
 public class ImageWriteException extends SanselanException
 {
diff --git a/src/main/java/org/apache/sanselan/Sanselan.java b/src/main/java/org/apache/commons/sanselan/Sanselan.java
similarity index 98%
rename from src/main/java/org/apache/sanselan/Sanselan.java
rename to src/main/java/org/apache/commons/sanselan/Sanselan.java
index 0dc6b7b..a9cea85 100644
--- a/src/main/java/org/apache/sanselan/Sanselan.java
+++ b/src/main/java/org/apache/commons/sanselan/Sanselan.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan;
+package org.apache.commons.sanselan;
 
 import java.awt.Dimension;
 import java.awt.color.ICC_Profile;
@@ -30,14 +30,14 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import org.apache.sanselan.common.IImageMetadata;
-import org.apache.sanselan.common.byteSources.ByteSource;
-import org.apache.sanselan.common.byteSources.ByteSourceArray;
-import org.apache.sanselan.common.byteSources.ByteSourceFile;
-import org.apache.sanselan.common.byteSources.ByteSourceInputStream;
-import org.apache.sanselan.icc.IccProfileInfo;
-import org.apache.sanselan.icc.IccProfileParser;
-import org.apache.sanselan.util.Debug;
+import org.apache.commons.sanselan.common.IImageMetadata;
+import org.apache.commons.sanselan.common.byteSources.ByteSource;
+import org.apache.commons.sanselan.common.byteSources.ByteSourceArray;
+import org.apache.commons.sanselan.common.byteSources.ByteSourceFile;
+import org.apache.commons.sanselan.common.byteSources.ByteSourceInputStream;
+import org.apache.commons.sanselan.icc.IccProfileInfo;
+import org.apache.commons.sanselan.icc.IccProfileParser;
+import org.apache.commons.sanselan.util.Debug;
 
 /**
  * The primary interface to the sanselan library.
@@ -48,9 +48,9 @@
  * All of Sanselan's methods are static.
  * <p>
  * See the source of the SampleUsage class and other classes in the
- * org.apache.sanselan.sampleUsage package for examples.
+ * org.apache.commons.sanselan.sampleUsage package for examples.
  *
- * @see org.apache.sanselan.sampleUsage.SampleUsage
+ * @see org.apache.commons.sanselan.sampleUsage.SampleUsage
  */
 public abstract class Sanselan implements SanselanConstants {
 
diff --git a/src/main/java/org/apache/sanselan/SanselanConstants.java b/src/main/java/org/apache/commons/sanselan/SanselanConstants.java
similarity index 96%
rename from src/main/java/org/apache/sanselan/SanselanConstants.java
rename to src/main/java/org/apache/commons/sanselan/SanselanConstants.java
index 241bdde..06ef32d 100644
--- a/src/main/java/org/apache/sanselan/SanselanConstants.java
+++ b/src/main/java/org/apache/commons/sanselan/SanselanConstants.java
@@ -14,11 +14,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan;
+package org.apache.commons.sanselan;
 
 import java.io.InputStream;
 
-import org.apache.sanselan.formats.tiff.constants.TiffConstants;
+import org.apache.commons.sanselan.formats.tiff.constants.TiffConstants;
 
 public interface SanselanConstants
 {
diff --git a/src/main/java/org/apache/sanselan/SanselanException.java b/src/main/java/org/apache/commons/sanselan/SanselanException.java
similarity index 96%
rename from src/main/java/org/apache/sanselan/SanselanException.java
rename to src/main/java/org/apache/commons/sanselan/SanselanException.java
index 28b2189..96133b8 100644
--- a/src/main/java/org/apache/sanselan/SanselanException.java
+++ b/src/main/java/org/apache/commons/sanselan/SanselanException.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan;
+package org.apache.commons.sanselan;
 
 public class SanselanException extends Exception
 {
diff --git a/src/main/java/org/apache/sanselan/color/ColorCIELCH.java b/src/main/java/org/apache/commons/sanselan/color/ColorCIELCH.java
similarity index 95%
rename from src/main/java/org/apache/sanselan/color/ColorCIELCH.java
rename to src/main/java/org/apache/commons/sanselan/color/ColorCIELCH.java
index e1be0f5..1c629f1 100644
--- a/src/main/java/org/apache/sanselan/color/ColorCIELCH.java
+++ b/src/main/java/org/apache/commons/sanselan/color/ColorCIELCH.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.color;
+package org.apache.commons.sanselan.color;
 
 public final class ColorCIELCH
 {
diff --git a/src/main/java/org/apache/sanselan/color/ColorCIELab.java b/src/main/java/org/apache/commons/sanselan/color/ColorCIELab.java
similarity index 95%
rename from src/main/java/org/apache/sanselan/color/ColorCIELab.java
rename to src/main/java/org/apache/commons/sanselan/color/ColorCIELab.java
index 21f657a..659f0fb 100644
--- a/src/main/java/org/apache/sanselan/color/ColorCIELab.java
+++ b/src/main/java/org/apache/commons/sanselan/color/ColorCIELab.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.color;
+package org.apache.commons.sanselan.color;
 
 public final class ColorCIELab
 {
diff --git a/src/main/java/org/apache/sanselan/color/ColorCIELuv.java b/src/main/java/org/apache/commons/sanselan/color/ColorCIELuv.java
similarity index 95%
rename from src/main/java/org/apache/sanselan/color/ColorCIELuv.java
rename to src/main/java/org/apache/commons/sanselan/color/ColorCIELuv.java
index 7fd2a12..cf87022 100644
--- a/src/main/java/org/apache/sanselan/color/ColorCIELuv.java
+++ b/src/main/java/org/apache/commons/sanselan/color/ColorCIELuv.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.color;
+package org.apache.commons.sanselan.color;
 
 public final class ColorCIELuv
 {
diff --git a/src/main/java/org/apache/sanselan/color/ColorCMY.java b/src/main/java/org/apache/commons/sanselan/color/ColorCMY.java
similarity index 95%
rename from src/main/java/org/apache/sanselan/color/ColorCMY.java
rename to src/main/java/org/apache/commons/sanselan/color/ColorCMY.java
index 1064b09..ca0e35b 100644
--- a/src/main/java/org/apache/sanselan/color/ColorCMY.java
+++ b/src/main/java/org/apache/commons/sanselan/color/ColorCMY.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.color;
+package org.apache.commons.sanselan.color;
 
 public final class ColorCMY
 {
diff --git a/src/main/java/org/apache/sanselan/color/ColorCMYK.java b/src/main/java/org/apache/commons/sanselan/color/ColorCMYK.java
similarity index 96%
rename from src/main/java/org/apache/sanselan/color/ColorCMYK.java
rename to src/main/java/org/apache/commons/sanselan/color/ColorCMYK.java
index fec04eb..49b17ba 100644
--- a/src/main/java/org/apache/sanselan/color/ColorCMYK.java
+++ b/src/main/java/org/apache/commons/sanselan/color/ColorCMYK.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.color;
+package org.apache.commons.sanselan.color;
 
 public final class ColorCMYK
 {
diff --git a/src/main/java/org/apache/sanselan/color/ColorConversions.java b/src/main/java/org/apache/commons/sanselan/color/ColorConversions.java
similarity index 99%
rename from src/main/java/org/apache/sanselan/color/ColorConversions.java
rename to src/main/java/org/apache/commons/sanselan/color/ColorConversions.java
index 87a1770..86f8187 100644
--- a/src/main/java/org/apache/sanselan/color/ColorConversions.java
+++ b/src/main/java/org/apache/commons/sanselan/color/ColorConversions.java
@@ -14,9 +14,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.color;
+package org.apache.commons.sanselan.color;
 
-import org.apache.sanselan.util.Debug;
+import org.apache.commons.sanselan.util.Debug;
 
 public abstract class ColorConversions
 {
diff --git a/src/main/java/org/apache/sanselan/color/ColorHSL.java b/src/main/java/org/apache/commons/sanselan/color/ColorHSL.java
similarity index 95%
rename from src/main/java/org/apache/sanselan/color/ColorHSL.java
rename to src/main/java/org/apache/commons/sanselan/color/ColorHSL.java
index b486c84..331da2d 100644
--- a/src/main/java/org/apache/sanselan/color/ColorHSL.java
+++ b/src/main/java/org/apache/commons/sanselan/color/ColorHSL.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.color;
+package org.apache.commons.sanselan.color;
 
 public final class ColorHSL
 {
diff --git a/src/main/java/org/apache/sanselan/color/ColorHSV.java b/src/main/java/org/apache/commons/sanselan/color/ColorHSV.java
similarity index 95%
rename from src/main/java/org/apache/sanselan/color/ColorHSV.java
rename to src/main/java/org/apache/commons/sanselan/color/ColorHSV.java
index b0d114a..011242b 100644
--- a/src/main/java/org/apache/sanselan/color/ColorHSV.java
+++ b/src/main/java/org/apache/commons/sanselan/color/ColorHSV.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.color;
+package org.apache.commons.sanselan.color;
 
 public final class ColorHSV
 {
diff --git a/src/main/java/org/apache/sanselan/color/ColorHunterLab.java b/src/main/java/org/apache/commons/sanselan/color/ColorHunterLab.java
similarity index 96%
rename from src/main/java/org/apache/sanselan/color/ColorHunterLab.java
rename to src/main/java/org/apache/commons/sanselan/color/ColorHunterLab.java
index 5168df1..e8eae7f 100644
--- a/src/main/java/org/apache/sanselan/color/ColorHunterLab.java
+++ b/src/main/java/org/apache/commons/sanselan/color/ColorHunterLab.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.color;
+package org.apache.commons.sanselan.color;
 
 public final class ColorHunterLab
 {
diff --git a/src/main/java/org/apache/sanselan/color/ColorXYZ.java b/src/main/java/org/apache/commons/sanselan/color/ColorXYZ.java
similarity index 95%
rename from src/main/java/org/apache/sanselan/color/ColorXYZ.java
rename to src/main/java/org/apache/commons/sanselan/color/ColorXYZ.java
index 931423b..2048216 100644
--- a/src/main/java/org/apache/sanselan/color/ColorXYZ.java
+++ b/src/main/java/org/apache/commons/sanselan/color/ColorXYZ.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.color;
+package org.apache.commons.sanselan.color;
 
 public final class ColorXYZ
 {
diff --git a/src/main/java/org/apache/sanselan/common/BasicCParser.java b/src/main/java/org/apache/commons/sanselan/common/BasicCParser.java
similarity index 98%
rename from src/main/java/org/apache/sanselan/common/BasicCParser.java
rename to src/main/java/org/apache/commons/sanselan/common/BasicCParser.java
index 4b394a1..5608795 100644
--- a/src/main/java/org/apache/sanselan/common/BasicCParser.java
+++ b/src/main/java/org/apache/commons/sanselan/common/BasicCParser.java
@@ -13,7 +13,7 @@
  *  under the License.
  */
 
-package org.apache.sanselan.common;
+package org.apache.commons.sanselan.common;
 
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
@@ -21,7 +21,8 @@
 import java.io.InputStream;
 import java.io.PushbackInputStream;
 import java.util.Map;
-import org.apache.sanselan.ImageReadException;
+
+import org.apache.commons.sanselan.ImageReadException;
 
 public class BasicCParser
 {
diff --git a/src/main/java/org/apache/sanselan/common/BinaryConstants.java b/src/main/java/org/apache/commons/sanselan/common/BinaryConstants.java
similarity index 96%
rename from src/main/java/org/apache/sanselan/common/BinaryConstants.java
rename to src/main/java/org/apache/commons/sanselan/common/BinaryConstants.java
index 335510e..3314c8b 100644
--- a/src/main/java/org/apache/sanselan/common/BinaryConstants.java
+++ b/src/main/java/org/apache/commons/sanselan/common/BinaryConstants.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.common;
+package org.apache.commons.sanselan.common;
 
 public interface BinaryConstants
 {
diff --git a/src/main/java/org/apache/sanselan/common/BinaryFileFunctions.java b/src/main/java/org/apache/commons/sanselan/common/BinaryFileFunctions.java
similarity index 99%
rename from src/main/java/org/apache/sanselan/common/BinaryFileFunctions.java
rename to src/main/java/org/apache/commons/sanselan/common/BinaryFileFunctions.java
index 6c0a47a..a2638a7 100644
--- a/src/main/java/org/apache/sanselan/common/BinaryFileFunctions.java
+++ b/src/main/java/org/apache/commons/sanselan/common/BinaryFileFunctions.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.common;
+package org.apache.commons.sanselan.common;
 
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
@@ -23,8 +23,8 @@
 import java.io.PrintWriter;
 import java.io.RandomAccessFile;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageWriteException;
 
 public class BinaryFileFunctions implements BinaryConstants
 {
diff --git a/src/main/java/org/apache/sanselan/common/BinaryFileParser.java b/src/main/java/org/apache/commons/sanselan/common/BinaryFileParser.java
similarity index 97%
rename from src/main/java/org/apache/sanselan/common/BinaryFileParser.java
rename to src/main/java/org/apache/commons/sanselan/common/BinaryFileParser.java
index dbb82d2..ea68240 100644
--- a/src/main/java/org/apache/sanselan/common/BinaryFileParser.java
+++ b/src/main/java/org/apache/commons/sanselan/common/BinaryFileParser.java
@@ -14,12 +14,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.common;
+package org.apache.commons.sanselan.common;
 
 import java.io.IOException;
 import java.io.InputStream;
 
-import org.apache.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageReadException;
 
 public class BinaryFileParser extends BinaryFileFunctions
 {
diff --git a/src/main/java/org/apache/sanselan/common/BinaryInputStream.java b/src/main/java/org/apache/commons/sanselan/common/BinaryInputStream.java
similarity index 99%
rename from src/main/java/org/apache/sanselan/common/BinaryInputStream.java
rename to src/main/java/org/apache/commons/sanselan/common/BinaryInputStream.java
index dde2e50..7567de5 100644
--- a/src/main/java/org/apache/sanselan/common/BinaryInputStream.java
+++ b/src/main/java/org/apache/commons/sanselan/common/BinaryInputStream.java
@@ -14,14 +14,14 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.common;
+package org.apache.commons.sanselan.common;
 
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.RandomAccessFile;
 
-import org.apache.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageReadException;
 
 public class BinaryInputStream extends InputStream implements BinaryConstants
 {
diff --git a/src/main/java/org/apache/sanselan/common/BinaryOutputStream.java b/src/main/java/org/apache/commons/sanselan/common/BinaryOutputStream.java
similarity index 97%
rename from src/main/java/org/apache/sanselan/common/BinaryOutputStream.java
rename to src/main/java/org/apache/commons/sanselan/common/BinaryOutputStream.java
index b73b780..7e1ed86 100644
--- a/src/main/java/org/apache/sanselan/common/BinaryOutputStream.java
+++ b/src/main/java/org/apache/commons/sanselan/common/BinaryOutputStream.java
@@ -14,12 +14,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.common;
+package org.apache.commons.sanselan.common;
 
 import java.io.IOException;
 import java.io.OutputStream;
 
-import org.apache.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.ImageWriteException;
 
 public class BinaryOutputStream extends OutputStream implements BinaryConstants
 {
diff --git a/src/main/java/org/apache/sanselan/common/BitArrayOutputStream.java b/src/main/java/org/apache/commons/sanselan/common/BitArrayOutputStream.java
similarity index 97%
rename from src/main/java/org/apache/sanselan/common/BitArrayOutputStream.java
rename to src/main/java/org/apache/commons/sanselan/common/BitArrayOutputStream.java
index e758c00..738c2f5 100644
--- a/src/main/java/org/apache/sanselan/common/BitArrayOutputStream.java
+++ b/src/main/java/org/apache/commons/sanselan/common/BitArrayOutputStream.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.common;
+package org.apache.commons.sanselan.common;
 
 public class BitArrayOutputStream {
     private byte[] buffer;
diff --git a/src/main/java/org/apache/sanselan/common/BitInputStream.java b/src/main/java/org/apache/commons/sanselan/common/BitInputStream.java
similarity index 98%
rename from src/main/java/org/apache/sanselan/common/BitInputStream.java
rename to src/main/java/org/apache/commons/sanselan/common/BitInputStream.java
index 1340d28..bf2a622 100644
--- a/src/main/java/org/apache/sanselan/common/BitInputStream.java
+++ b/src/main/java/org/apache/commons/sanselan/common/BitInputStream.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.common;
+package org.apache.commons.sanselan.common;
 
 import java.io.IOException;
 import java.io.InputStream;
diff --git a/src/main/java/org/apache/sanselan/common/BitInputStreamFlexible.java b/src/main/java/org/apache/commons/sanselan/common/BitInputStreamFlexible.java
similarity index 98%
rename from src/main/java/org/apache/sanselan/common/BitInputStreamFlexible.java
rename to src/main/java/org/apache/commons/sanselan/common/BitInputStreamFlexible.java
index c7c14e2..c555370 100644
--- a/src/main/java/org/apache/sanselan/common/BitInputStreamFlexible.java
+++ b/src/main/java/org/apache/commons/sanselan/common/BitInputStreamFlexible.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.common;
+package org.apache.commons.sanselan.common;
 
 import java.io.IOException;
 import java.io.InputStream;
diff --git a/src/main/java/org/apache/sanselan/common/Compression.java b/src/main/java/org/apache/commons/sanselan/common/Compression.java
similarity index 89%
rename from src/main/java/org/apache/sanselan/common/Compression.java
rename to src/main/java/org/apache/commons/sanselan/common/Compression.java
index 7e783b5..4a7ef05 100644
--- a/src/main/java/org/apache/sanselan/common/Compression.java
+++ b/src/main/java/org/apache/commons/sanselan/common/Compression.java
@@ -14,15 +14,15 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.common;
+package org.apache.commons.sanselan.common;
 
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.common.mylzw.MyLZWCompressor;
-import org.apache.sanselan.common.mylzw.MyLZWDecompressor;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.common.mylzw.MyLZWCompressor;
+import org.apache.commons.sanselan.common.mylzw.MyLZWDecompressor;
 
 public class Compression
 {
diff --git a/src/main/java/org/apache/sanselan/common/IBufferedImageFactory.java b/src/main/java/org/apache/commons/sanselan/common/IBufferedImageFactory.java
similarity index 95%
rename from src/main/java/org/apache/sanselan/common/IBufferedImageFactory.java
rename to src/main/java/org/apache/commons/sanselan/common/IBufferedImageFactory.java
index 77ca7d6..960de77 100644
--- a/src/main/java/org/apache/sanselan/common/IBufferedImageFactory.java
+++ b/src/main/java/org/apache/commons/sanselan/common/IBufferedImageFactory.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.common;
+package org.apache.commons.sanselan.common;
 
 import java.awt.image.BufferedImage;
 
diff --git a/src/main/java/org/apache/sanselan/common/IImageMetadata.java b/src/main/java/org/apache/commons/sanselan/common/IImageMetadata.java
similarity index 95%
rename from src/main/java/org/apache/sanselan/common/IImageMetadata.java
rename to src/main/java/org/apache/commons/sanselan/common/IImageMetadata.java
index 9ddccbc..c432cee 100644
--- a/src/main/java/org/apache/sanselan/common/IImageMetadata.java
+++ b/src/main/java/org/apache/commons/sanselan/common/IImageMetadata.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.common;
+package org.apache.commons.sanselan.common;
 
 import java.util.ArrayList;
 
diff --git a/src/main/java/org/apache/sanselan/common/ImageMetadata.java b/src/main/java/org/apache/commons/sanselan/common/ImageMetadata.java
similarity index 98%
rename from src/main/java/org/apache/sanselan/common/ImageMetadata.java
rename to src/main/java/org/apache/commons/sanselan/common/ImageMetadata.java
index 6ba36ee..c66319c 100644
--- a/src/main/java/org/apache/sanselan/common/ImageMetadata.java
+++ b/src/main/java/org/apache/commons/sanselan/common/ImageMetadata.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.common;
+package org.apache.commons.sanselan.common;
 
 import java.util.ArrayList;
 
diff --git a/src/main/java/org/apache/sanselan/common/MyByteArrayOutputStream.java b/src/main/java/org/apache/commons/sanselan/common/MyByteArrayOutputStream.java
similarity index 97%
rename from src/main/java/org/apache/sanselan/common/MyByteArrayOutputStream.java
rename to src/main/java/org/apache/commons/sanselan/common/MyByteArrayOutputStream.java
index 261a60e..91546ad 100644
--- a/src/main/java/org/apache/sanselan/common/MyByteArrayOutputStream.java
+++ b/src/main/java/org/apache/commons/sanselan/common/MyByteArrayOutputStream.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.common;
+package org.apache.commons.sanselan.common;
 
 import java.io.IOException;
 import java.io.OutputStream;
diff --git a/src/main/java/org/apache/sanselan/common/PackBits.java b/src/main/java/org/apache/commons/sanselan/common/PackBits.java
similarity index 97%
rename from src/main/java/org/apache/sanselan/common/PackBits.java
rename to src/main/java/org/apache/commons/sanselan/common/PackBits.java
index 4352e32..7544469 100644
--- a/src/main/java/org/apache/sanselan/common/PackBits.java
+++ b/src/main/java/org/apache/commons/sanselan/common/PackBits.java
@@ -14,12 +14,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.common;
+package org.apache.commons.sanselan.common;
 
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 
-import org.apache.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageReadException;
 
 public class PackBits
 {
diff --git a/src/main/java/org/apache/sanselan/common/RationalNumber.java b/src/main/java/org/apache/commons/sanselan/common/RationalNumber.java
similarity index 98%
rename from src/main/java/org/apache/sanselan/common/RationalNumber.java
rename to src/main/java/org/apache/commons/sanselan/common/RationalNumber.java
index 9e5b775..361210c 100644
--- a/src/main/java/org/apache/sanselan/common/RationalNumber.java
+++ b/src/main/java/org/apache/commons/sanselan/common/RationalNumber.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.common;
+package org.apache.commons.sanselan.common;
 
 import java.text.DecimalFormat;
 import java.text.NumberFormat;
diff --git a/src/main/java/org/apache/sanselan/common/RationalNumberUtilities.java b/src/main/java/org/apache/commons/sanselan/common/RationalNumberUtilities.java
similarity index 98%
rename from src/main/java/org/apache/sanselan/common/RationalNumberUtilities.java
rename to src/main/java/org/apache/commons/sanselan/common/RationalNumberUtilities.java
index f2bae2e..7a7a58c 100644
--- a/src/main/java/org/apache/sanselan/common/RationalNumberUtilities.java
+++ b/src/main/java/org/apache/commons/sanselan/common/RationalNumberUtilities.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.common;
+package org.apache.commons.sanselan.common;
 
 public abstract class RationalNumberUtilities extends Number
 {
diff --git a/src/main/java/org/apache/sanselan/common/RgbBufferedImageFactory.java b/src/main/java/org/apache/commons/sanselan/common/RgbBufferedImageFactory.java
similarity index 96%
rename from src/main/java/org/apache/sanselan/common/RgbBufferedImageFactory.java
rename to src/main/java/org/apache/commons/sanselan/common/RgbBufferedImageFactory.java
index 5877f25..9e51812 100644
--- a/src/main/java/org/apache/sanselan/common/RgbBufferedImageFactory.java
+++ b/src/main/java/org/apache/commons/sanselan/common/RgbBufferedImageFactory.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.common;
+package org.apache.commons.sanselan.common;
 
 import java.awt.image.BufferedImage;
 
diff --git a/src/main/java/org/apache/sanselan/common/SimpleBufferedImageFactory.java b/src/main/java/org/apache/commons/sanselan/common/SimpleBufferedImageFactory.java
similarity index 96%
rename from src/main/java/org/apache/sanselan/common/SimpleBufferedImageFactory.java
rename to src/main/java/org/apache/commons/sanselan/common/SimpleBufferedImageFactory.java
index 0f71617..77fb1a1 100644
--- a/src/main/java/org/apache/sanselan/common/SimpleBufferedImageFactory.java
+++ b/src/main/java/org/apache/commons/sanselan/common/SimpleBufferedImageFactory.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.common;
+package org.apache.commons.sanselan.common;
 
 import java.awt.image.BufferedImage;
 
diff --git a/src/main/java/org/apache/sanselan/common/ZLibUtils.java b/src/main/java/org/apache/commons/sanselan/common/ZLibUtils.java
similarity index 97%
rename from src/main/java/org/apache/sanselan/common/ZLibUtils.java
rename to src/main/java/org/apache/commons/sanselan/common/ZLibUtils.java
index 755b287..040fcd0 100644
--- a/src/main/java/org/apache/sanselan/common/ZLibUtils.java
+++ b/src/main/java/org/apache/commons/sanselan/common/ZLibUtils.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.common;
+package org.apache.commons.sanselan.common;
 
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
diff --git a/src/main/java/org/apache/sanselan/common/byteSources/ByteSource.java b/src/main/java/org/apache/commons/sanselan/common/byteSources/ByteSource.java
similarity index 93%
rename from src/main/java/org/apache/sanselan/common/byteSources/ByteSource.java
rename to src/main/java/org/apache/commons/sanselan/common/byteSources/ByteSource.java
index 3e4c33a..68a4e2f 100644
--- a/src/main/java/org/apache/sanselan/common/byteSources/ByteSource.java
+++ b/src/main/java/org/apache/commons/sanselan/common/byteSources/ByteSource.java
@@ -14,12 +14,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.common.byteSources;
+package org.apache.commons.sanselan.common.byteSources;
 
 import java.io.IOException;
 import java.io.InputStream;
 
-import org.apache.sanselan.common.BinaryFileFunctions;
+import org.apache.commons.sanselan.common.BinaryFileFunctions;
 
 public abstract class ByteSource extends BinaryFileFunctions
 {
diff --git a/src/main/java/org/apache/sanselan/common/byteSources/ByteSourceArray.java b/src/main/java/org/apache/commons/sanselan/common/byteSources/ByteSourceArray.java
similarity index 97%
rename from src/main/java/org/apache/sanselan/common/byteSources/ByteSourceArray.java
rename to src/main/java/org/apache/commons/sanselan/common/byteSources/ByteSourceArray.java
index 6cb54bd..544cb6b 100644
--- a/src/main/java/org/apache/sanselan/common/byteSources/ByteSourceArray.java
+++ b/src/main/java/org/apache/commons/sanselan/common/byteSources/ByteSourceArray.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.common.byteSources;
+package org.apache.commons.sanselan.common.byteSources;
 
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
diff --git a/src/main/java/org/apache/sanselan/common/byteSources/ByteSourceFile.java b/src/main/java/org/apache/commons/sanselan/common/byteSources/ByteSourceFile.java
similarity index 96%
rename from src/main/java/org/apache/sanselan/common/byteSources/ByteSourceFile.java
rename to src/main/java/org/apache/commons/sanselan/common/byteSources/ByteSourceFile.java
index 6a592f6..32b730f 100644
--- a/src/main/java/org/apache/sanselan/common/byteSources/ByteSourceFile.java
+++ b/src/main/java/org/apache/commons/sanselan/common/byteSources/ByteSourceFile.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.common.byteSources;
+package org.apache.commons.sanselan.common.byteSources;
 
 import java.io.BufferedInputStream;
 import java.io.ByteArrayOutputStream;
@@ -24,7 +24,7 @@
 import java.io.InputStream;
 import java.io.RandomAccessFile;
 
-import org.apache.sanselan.util.Debug;
+import org.apache.commons.sanselan.util.Debug;
 
 public class ByteSourceFile extends ByteSource
 {
diff --git a/src/main/java/org/apache/sanselan/common/byteSources/ByteSourceInputStream.java b/src/main/java/org/apache/commons/sanselan/common/byteSources/ByteSourceInputStream.java
similarity index 98%
rename from src/main/java/org/apache/sanselan/common/byteSources/ByteSourceInputStream.java
rename to src/main/java/org/apache/commons/sanselan/common/byteSources/ByteSourceInputStream.java
index 4907870..37f8d21 100644
--- a/src/main/java/org/apache/sanselan/common/byteSources/ByteSourceInputStream.java
+++ b/src/main/java/org/apache/commons/sanselan/common/byteSources/ByteSourceInputStream.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.common.byteSources;
+package org.apache.commons.sanselan.common.byteSources;
 
 import java.io.BufferedInputStream;
 import java.io.ByteArrayOutputStream;
diff --git a/src/main/java/org/apache/sanselan/common/itu_t4/HuffmanTree.java b/src/main/java/org/apache/commons/sanselan/common/itu_t4/HuffmanTree.java
similarity index 96%
rename from src/main/java/org/apache/sanselan/common/itu_t4/HuffmanTree.java
rename to src/main/java/org/apache/commons/sanselan/common/itu_t4/HuffmanTree.java
index c012742..408a98e 100644
--- a/src/main/java/org/apache/sanselan/common/itu_t4/HuffmanTree.java
+++ b/src/main/java/org/apache/commons/sanselan/common/itu_t4/HuffmanTree.java
@@ -14,12 +14,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.common.itu_t4;
+package org.apache.commons.sanselan.common.itu_t4;
 
 import java.io.IOException;
 import java.util.ArrayList;
 
-import org.apache.sanselan.common.BitInputStreamFlexible;
+import org.apache.commons.sanselan.common.BitInputStreamFlexible;
 
 /**
  * A Huffman tree implemented as 1 array for high locality of reference.
diff --git a/src/main/java/org/apache/sanselan/common/itu_t4/HuffmanTreeException.java b/src/main/java/org/apache/commons/sanselan/common/itu_t4/HuffmanTreeException.java
similarity index 95%
rename from src/main/java/org/apache/sanselan/common/itu_t4/HuffmanTreeException.java
rename to src/main/java/org/apache/commons/sanselan/common/itu_t4/HuffmanTreeException.java
index e12b2bb..571c100 100644
--- a/src/main/java/org/apache/sanselan/common/itu_t4/HuffmanTreeException.java
+++ b/src/main/java/org/apache/commons/sanselan/common/itu_t4/HuffmanTreeException.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.common.itu_t4;
+package org.apache.commons.sanselan.common.itu_t4;
 
 public class HuffmanTreeException extends Exception {
     private static final long serialVersionUID = 1L;
diff --git a/src/main/java/org/apache/sanselan/common/itu_t4/T4Compression.java b/src/main/java/org/apache/commons/sanselan/common/itu_t4/T4Compression.java
similarity index 94%
rename from src/main/java/org/apache/sanselan/common/itu_t4/T4Compression.java
rename to src/main/java/org/apache/commons/sanselan/common/itu_t4/T4Compression.java
index e2842a2..3cc7787 100644
--- a/src/main/java/org/apache/sanselan/common/itu_t4/T4Compression.java
+++ b/src/main/java/org/apache/commons/sanselan/common/itu_t4/T4Compression.java
@@ -14,13 +14,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.common.itu_t4;
+package org.apache.commons.sanselan.common.itu_t4;
 
 import java.io.ByteArrayInputStream;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.common.BitArrayOutputStream;
-import org.apache.sanselan.common.BitInputStreamFlexible;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.common.BitArrayOutputStream;
+import org.apache.commons.sanselan.common.BitInputStreamFlexible;
 
 
 public class T4Compression {
diff --git a/src/main/java/org/apache/sanselan/common/itu_t4/T4_T6_Tables.java b/src/main/java/org/apache/commons/sanselan/common/itu_t4/T4_T6_Tables.java
similarity index 99%
rename from src/main/java/org/apache/sanselan/common/itu_t4/T4_T6_Tables.java
rename to src/main/java/org/apache/commons/sanselan/common/itu_t4/T4_T6_Tables.java
index 805077e..2958700 100644
--- a/src/main/java/org/apache/sanselan/common/itu_t4/T4_T6_Tables.java
+++ b/src/main/java/org/apache/commons/sanselan/common/itu_t4/T4_T6_Tables.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.common.itu_t4;
+package org.apache.commons.sanselan.common.itu_t4;
 
 public class T4_T6_Tables {
     public static class Entry {
diff --git a/src/main/java/org/apache/sanselan/common/mylzw/BitsToByteInputStream.java b/src/main/java/org/apache/commons/sanselan/common/mylzw/BitsToByteInputStream.java
similarity index 96%
rename from src/main/java/org/apache/sanselan/common/mylzw/BitsToByteInputStream.java
rename to src/main/java/org/apache/commons/sanselan/common/mylzw/BitsToByteInputStream.java
index 9ec72a1..914f829 100644
--- a/src/main/java/org/apache/sanselan/common/mylzw/BitsToByteInputStream.java
+++ b/src/main/java/org/apache/commons/sanselan/common/mylzw/BitsToByteInputStream.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.common.mylzw;
+package org.apache.commons.sanselan.common.mylzw;
 
 import java.io.IOException;
 import java.io.InputStream;
diff --git a/src/main/java/org/apache/sanselan/common/mylzw/MyBitInputStream.java b/src/main/java/org/apache/commons/sanselan/common/mylzw/MyBitInputStream.java
similarity index 96%
rename from src/main/java/org/apache/sanselan/common/mylzw/MyBitInputStream.java
rename to src/main/java/org/apache/commons/sanselan/common/mylzw/MyBitInputStream.java
index 1f4528a..d4c0c9c 100644
--- a/src/main/java/org/apache/sanselan/common/mylzw/MyBitInputStream.java
+++ b/src/main/java/org/apache/commons/sanselan/common/mylzw/MyBitInputStream.java
@@ -14,12 +14,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.common.mylzw;
+package org.apache.commons.sanselan.common.mylzw;
 
 import java.io.IOException;
 import java.io.InputStream;
 
-import org.apache.sanselan.common.BinaryConstants;
+import org.apache.commons.sanselan.common.BinaryConstants;
 
 public class MyBitInputStream extends InputStream implements BinaryConstants
 {
diff --git a/src/main/java/org/apache/sanselan/common/mylzw/MyBitOutputStream.java b/src/main/java/org/apache/commons/sanselan/common/mylzw/MyBitOutputStream.java
similarity index 96%
rename from src/main/java/org/apache/sanselan/common/mylzw/MyBitOutputStream.java
rename to src/main/java/org/apache/commons/sanselan/common/mylzw/MyBitOutputStream.java
index fd22a2e..ee433b0 100644
--- a/src/main/java/org/apache/sanselan/common/mylzw/MyBitOutputStream.java
+++ b/src/main/java/org/apache/commons/sanselan/common/mylzw/MyBitOutputStream.java
@@ -14,12 +14,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.common.mylzw;
+package org.apache.commons.sanselan.common.mylzw;
 
 import java.io.IOException;
 import java.io.OutputStream;
 
-import org.apache.sanselan.common.BinaryConstants;
+import org.apache.commons.sanselan.common.BinaryConstants;
 
 public class MyBitOutputStream extends OutputStream implements BinaryConstants
 {
diff --git a/src/main/java/org/apache/sanselan/common/mylzw/MyLZWCompressor.java b/src/main/java/org/apache/commons/sanselan/common/mylzw/MyLZWCompressor.java
similarity index 99%
rename from src/main/java/org/apache/sanselan/common/mylzw/MyLZWCompressor.java
rename to src/main/java/org/apache/commons/sanselan/common/mylzw/MyLZWCompressor.java
index e9b3410..e659fa0 100644
--- a/src/main/java/org/apache/sanselan/common/mylzw/MyLZWCompressor.java
+++ b/src/main/java/org/apache/commons/sanselan/common/mylzw/MyLZWCompressor.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.common.mylzw;
+package org.apache.commons.sanselan.common.mylzw;
 
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
diff --git a/src/main/java/org/apache/sanselan/common/mylzw/MyLZWDecompressor.java b/src/main/java/org/apache/commons/sanselan/common/mylzw/MyLZWDecompressor.java
similarity index 98%
rename from src/main/java/org/apache/sanselan/common/mylzw/MyLZWDecompressor.java
rename to src/main/java/org/apache/commons/sanselan/common/mylzw/MyLZWDecompressor.java
index 46b1d70..302abfe 100644
--- a/src/main/java/org/apache/sanselan/common/mylzw/MyLZWDecompressor.java
+++ b/src/main/java/org/apache/commons/sanselan/common/mylzw/MyLZWDecompressor.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.common.mylzw;
+package org.apache.commons.sanselan.common.mylzw;
 
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
diff --git a/src/main/java/org/apache/sanselan/formats/bmp/BmpHeaderInfo.java b/src/main/java/org/apache/commons/sanselan/formats/bmp/BmpHeaderInfo.java
similarity index 98%
rename from src/main/java/org/apache/sanselan/formats/bmp/BmpHeaderInfo.java
rename to src/main/java/org/apache/commons/sanselan/formats/bmp/BmpHeaderInfo.java
index 0b0a136..6b0c752 100644
--- a/src/main/java/org/apache/sanselan/formats/bmp/BmpHeaderInfo.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/bmp/BmpHeaderInfo.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.bmp;
+package org.apache.commons.sanselan.formats.bmp;
 
 public class BmpHeaderInfo
 {
diff --git a/src/main/java/org/apache/sanselan/formats/bmp/BmpImageParser.java b/src/main/java/org/apache/commons/sanselan/formats/bmp/BmpImageParser.java
similarity index 95%
rename from src/main/java/org/apache/sanselan/formats/bmp/BmpImageParser.java
rename to src/main/java/org/apache/commons/sanselan/formats/bmp/BmpImageParser.java
index 0f22bbf..fb0a750 100644
--- a/src/main/java/org/apache/sanselan/formats/bmp/BmpImageParser.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/bmp/BmpImageParser.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.bmp;
+package org.apache.commons.sanselan.formats.bmp;
 
 import java.awt.Dimension;
 import java.awt.image.BufferedImage;
@@ -28,26 +28,26 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import org.apache.sanselan.FormatCompliance;
-import org.apache.sanselan.ImageFormat;
-import org.apache.sanselan.ImageInfo;
-import org.apache.sanselan.ImageParser;
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.common.BinaryOutputStream;
-import org.apache.sanselan.common.IImageMetadata;
-import org.apache.sanselan.common.byteSources.ByteSource;
-import org.apache.sanselan.formats.bmp.pixelparsers.PixelParser;
-import org.apache.sanselan.formats.bmp.pixelparsers.PixelParserBitFields;
-import org.apache.sanselan.formats.bmp.pixelparsers.PixelParserRgb;
-import org.apache.sanselan.formats.bmp.pixelparsers.PixelParserRle;
-import org.apache.sanselan.formats.bmp.writers.BMPWriter;
-import org.apache.sanselan.formats.bmp.writers.BMPWriterPalette;
-import org.apache.sanselan.formats.bmp.writers.BMPWriterRGB;
-import org.apache.sanselan.palette.PaletteFactory;
-import org.apache.sanselan.palette.SimplePalette;
-import org.apache.sanselan.util.Debug;
-import org.apache.sanselan.util.ParamMap;
+import org.apache.commons.sanselan.FormatCompliance;
+import org.apache.commons.sanselan.ImageFormat;
+import org.apache.commons.sanselan.ImageInfo;
+import org.apache.commons.sanselan.ImageParser;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.common.BinaryOutputStream;
+import org.apache.commons.sanselan.common.IImageMetadata;
+import org.apache.commons.sanselan.common.byteSources.ByteSource;
+import org.apache.commons.sanselan.formats.bmp.pixelparsers.PixelParser;
+import org.apache.commons.sanselan.formats.bmp.pixelparsers.PixelParserBitFields;
+import org.apache.commons.sanselan.formats.bmp.pixelparsers.PixelParserRgb;
+import org.apache.commons.sanselan.formats.bmp.pixelparsers.PixelParserRle;
+import org.apache.commons.sanselan.formats.bmp.writers.BMPWriter;
+import org.apache.commons.sanselan.formats.bmp.writers.BMPWriterPalette;
+import org.apache.commons.sanselan.formats.bmp.writers.BMPWriterRGB;
+import org.apache.commons.sanselan.palette.PaletteFactory;
+import org.apache.commons.sanselan.palette.SimplePalette;
+import org.apache.commons.sanselan.util.Debug;
+import org.apache.commons.sanselan.util.ParamMap;
 
 public class BmpImageParser extends ImageParser
 {
diff --git a/src/main/java/org/apache/sanselan/formats/bmp/ImageContents.java b/src/main/java/org/apache/commons/sanselan/formats/bmp/ImageContents.java
similarity index 90%
rename from src/main/java/org/apache/sanselan/formats/bmp/ImageContents.java
rename to src/main/java/org/apache/commons/sanselan/formats/bmp/ImageContents.java
index 1077721..a79819f 100644
--- a/src/main/java/org/apache/sanselan/formats/bmp/ImageContents.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/bmp/ImageContents.java
@@ -14,9 +14,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.bmp;
+package org.apache.commons.sanselan.formats.bmp;
 
-import org.apache.sanselan.formats.bmp.pixelparsers.PixelParser;
+import org.apache.commons.sanselan.formats.bmp.pixelparsers.PixelParser;
 
 class ImageContents
 {
diff --git a/src/main/java/org/apache/sanselan/formats/bmp/pixelparsers/PixelParser.java b/src/main/java/org/apache/commons/sanselan/formats/bmp/pixelparsers/PixelParser.java
similarity index 88%
rename from src/main/java/org/apache/sanselan/formats/bmp/pixelparsers/PixelParser.java
rename to src/main/java/org/apache/commons/sanselan/formats/bmp/pixelparsers/PixelParser.java
index a677e26..09ab1ac 100644
--- a/src/main/java/org/apache/sanselan/formats/bmp/pixelparsers/PixelParser.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/bmp/pixelparsers/PixelParser.java
@@ -14,15 +14,15 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.bmp.pixelparsers;
+package org.apache.commons.sanselan.formats.bmp.pixelparsers;
 
 import java.awt.image.BufferedImage;
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.common.BinaryFileParser;
-import org.apache.sanselan.formats.bmp.BmpHeaderInfo;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.common.BinaryFileParser;
+import org.apache.commons.sanselan.formats.bmp.BmpHeaderInfo;
 
 public abstract class PixelParser
 {
diff --git a/src/main/java/org/apache/sanselan/formats/bmp/pixelparsers/PixelParserBitFields.java b/src/main/java/org/apache/commons/sanselan/formats/bmp/pixelparsers/PixelParserBitFields.java
similarity index 95%
rename from src/main/java/org/apache/sanselan/formats/bmp/pixelparsers/PixelParserBitFields.java
rename to src/main/java/org/apache/commons/sanselan/formats/bmp/pixelparsers/PixelParserBitFields.java
index 8b314ad..0f9f05a 100644
--- a/src/main/java/org/apache/sanselan/formats/bmp/pixelparsers/PixelParserBitFields.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/bmp/pixelparsers/PixelParserBitFields.java
@@ -14,12 +14,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.bmp.pixelparsers;
+package org.apache.commons.sanselan.formats.bmp.pixelparsers;
 
 import java.io.IOException;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.formats.bmp.BmpHeaderInfo;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.formats.bmp.BmpHeaderInfo;
 
 public class PixelParserBitFields extends PixelParserSimple
 {
diff --git a/src/main/java/org/apache/sanselan/formats/bmp/pixelparsers/PixelParserRgb.java b/src/main/java/org/apache/commons/sanselan/formats/bmp/pixelparsers/PixelParserRgb.java
similarity index 95%
rename from src/main/java/org/apache/sanselan/formats/bmp/pixelparsers/PixelParserRgb.java
rename to src/main/java/org/apache/commons/sanselan/formats/bmp/pixelparsers/PixelParserRgb.java
index ea55975..b3e9eed 100644
--- a/src/main/java/org/apache/sanselan/formats/bmp/pixelparsers/PixelParserRgb.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/bmp/pixelparsers/PixelParserRgb.java
@@ -14,12 +14,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.bmp.pixelparsers;
+package org.apache.commons.sanselan.formats.bmp.pixelparsers;
 
 import java.io.IOException;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.formats.bmp.BmpHeaderInfo;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.formats.bmp.BmpHeaderInfo;
 
 public class PixelParserRgb extends PixelParserSimple
 {
diff --git a/src/main/java/org/apache/sanselan/formats/bmp/pixelparsers/PixelParserRle.java b/src/main/java/org/apache/commons/sanselan/formats/bmp/pixelparsers/PixelParserRle.java
similarity index 97%
rename from src/main/java/org/apache/sanselan/formats/bmp/pixelparsers/PixelParserRle.java
rename to src/main/java/org/apache/commons/sanselan/formats/bmp/pixelparsers/PixelParserRle.java
index 1f05218..83364b2 100644
--- a/src/main/java/org/apache/sanselan/formats/bmp/pixelparsers/PixelParserRle.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/bmp/pixelparsers/PixelParserRle.java
@@ -14,14 +14,14 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.bmp.pixelparsers;
+package org.apache.commons.sanselan.formats.bmp.pixelparsers;
 
 import java.awt.image.BufferedImage;
 import java.awt.image.DataBuffer;
 import java.io.IOException;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.formats.bmp.BmpHeaderInfo;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.formats.bmp.BmpHeaderInfo;
 
 public class PixelParserRle extends PixelParser
 {
diff --git a/src/main/java/org/apache/sanselan/formats/bmp/pixelparsers/PixelParserSimple.java b/src/main/java/org/apache/commons/sanselan/formats/bmp/pixelparsers/PixelParserSimple.java
similarity index 90%
rename from src/main/java/org/apache/sanselan/formats/bmp/pixelparsers/PixelParserSimple.java
rename to src/main/java/org/apache/commons/sanselan/formats/bmp/pixelparsers/PixelParserSimple.java
index 0449d32..adc6a22 100644
--- a/src/main/java/org/apache/sanselan/formats/bmp/pixelparsers/PixelParserSimple.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/bmp/pixelparsers/PixelParserSimple.java
@@ -14,13 +14,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.bmp.pixelparsers;
+package org.apache.commons.sanselan.formats.bmp.pixelparsers;
 
 import java.awt.image.BufferedImage;
 import java.io.IOException;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.formats.bmp.BmpHeaderInfo;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.formats.bmp.BmpHeaderInfo;
 
 public abstract class PixelParserSimple extends PixelParser
 {
diff --git a/src/main/java/org/apache/sanselan/formats/bmp/writers/BMPWriter.java b/src/main/java/org/apache/commons/sanselan/formats/bmp/writers/BMPWriter.java
similarity index 90%
rename from src/main/java/org/apache/sanselan/formats/bmp/writers/BMPWriter.java
rename to src/main/java/org/apache/commons/sanselan/formats/bmp/writers/BMPWriter.java
index a285dae..69ec932 100644
--- a/src/main/java/org/apache/sanselan/formats/bmp/writers/BMPWriter.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/bmp/writers/BMPWriter.java
@@ -14,12 +14,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.bmp.writers;
+package org.apache.commons.sanselan.formats.bmp.writers;
 
 import java.awt.image.BufferedImage;
 import java.io.IOException;
 
-import org.apache.sanselan.common.BinaryOutputStream;
+import org.apache.commons.sanselan.common.BinaryOutputStream;
 
 public abstract class BMPWriter
 {
diff --git a/src/main/java/org/apache/sanselan/formats/bmp/writers/BMPWriterPalette.java b/src/main/java/org/apache/commons/sanselan/formats/bmp/writers/BMPWriterPalette.java
similarity index 94%
rename from src/main/java/org/apache/sanselan/formats/bmp/writers/BMPWriterPalette.java
rename to src/main/java/org/apache/commons/sanselan/formats/bmp/writers/BMPWriterPalette.java
index 229ede4..1e4cf8d 100644
--- a/src/main/java/org/apache/sanselan/formats/bmp/writers/BMPWriterPalette.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/bmp/writers/BMPWriterPalette.java
@@ -14,14 +14,14 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.bmp.writers;
+package org.apache.commons.sanselan.formats.bmp.writers;
 
 import java.awt.image.BufferedImage;
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 
-import org.apache.sanselan.common.BinaryOutputStream;
-import org.apache.sanselan.palette.SimplePalette;
+import org.apache.commons.sanselan.common.BinaryOutputStream;
+import org.apache.commons.sanselan.palette.SimplePalette;
 
 public class BMPWriterPalette extends BMPWriter
 {
diff --git a/src/main/java/org/apache/sanselan/formats/bmp/writers/BMPWriterRGB.java b/src/main/java/org/apache/commons/sanselan/formats/bmp/writers/BMPWriterRGB.java
similarity index 95%
rename from src/main/java/org/apache/sanselan/formats/bmp/writers/BMPWriterRGB.java
rename to src/main/java/org/apache/commons/sanselan/formats/bmp/writers/BMPWriterRGB.java
index 9ebb296..b569b2a 100644
--- a/src/main/java/org/apache/sanselan/formats/bmp/writers/BMPWriterRGB.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/bmp/writers/BMPWriterRGB.java
@@ -14,13 +14,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.bmp.writers;
+package org.apache.commons.sanselan.formats.bmp.writers;
 
 import java.awt.image.BufferedImage;
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 
-import org.apache.sanselan.common.BinaryOutputStream;
+import org.apache.commons.sanselan.common.BinaryOutputStream;
 
 public class BMPWriterRGB extends BMPWriter
 {
diff --git a/src/main/java/org/apache/sanselan/formats/dcx/DcxImageParser.java b/src/main/java/org/apache/commons/sanselan/formats/dcx/DcxImageParser.java
similarity index 91%
rename from src/main/java/org/apache/sanselan/formats/dcx/DcxImageParser.java
rename to src/main/java/org/apache/commons/sanselan/formats/dcx/DcxImageParser.java
index 6f3ac7e..a63a895 100644
--- a/src/main/java/org/apache/sanselan/formats/dcx/DcxImageParser.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/dcx/DcxImageParser.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.dcx;
+package org.apache.commons.sanselan.formats.dcx;
 
 import java.awt.Dimension;
 import java.awt.image.BufferedImage;
@@ -27,17 +27,17 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import org.apache.sanselan.ImageFormat;
-import org.apache.sanselan.ImageInfo;
-import org.apache.sanselan.ImageParser;
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.common.BinaryOutputStream;
-import org.apache.sanselan.common.IImageMetadata;
-import org.apache.sanselan.common.byteSources.ByteSource;
-import org.apache.sanselan.common.byteSources.ByteSourceInputStream;
-import org.apache.sanselan.formats.pcx.PcxConstants;
-import org.apache.sanselan.formats.pcx.PcxImageParser;
+import org.apache.commons.sanselan.ImageFormat;
+import org.apache.commons.sanselan.ImageInfo;
+import org.apache.commons.sanselan.ImageParser;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.common.BinaryOutputStream;
+import org.apache.commons.sanselan.common.IImageMetadata;
+import org.apache.commons.sanselan.common.byteSources.ByteSource;
+import org.apache.commons.sanselan.common.byteSources.ByteSourceInputStream;
+import org.apache.commons.sanselan.formats.pcx.PcxConstants;
+import org.apache.commons.sanselan.formats.pcx.PcxImageParser;
 
 public class DcxImageParser extends ImageParser
 {
diff --git a/src/main/java/org/apache/sanselan/formats/gif/GIFBlock.java b/src/main/java/org/apache/commons/sanselan/formats/gif/GIFBlock.java
similarity index 94%
rename from src/main/java/org/apache/sanselan/formats/gif/GIFBlock.java
rename to src/main/java/org/apache/commons/sanselan/formats/gif/GIFBlock.java
index 8e25837..108cf29 100644
--- a/src/main/java/org/apache/sanselan/formats/gif/GIFBlock.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/gif/GIFBlock.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.gif;
+package org.apache.commons.sanselan.formats.gif;
 
 class GIFBlock
 {
diff --git a/src/main/java/org/apache/sanselan/formats/gif/GIFHeaderInfo.java b/src/main/java/org/apache/commons/sanselan/formats/gif/GIFHeaderInfo.java
similarity index 97%
rename from src/main/java/org/apache/sanselan/formats/gif/GIFHeaderInfo.java
rename to src/main/java/org/apache/commons/sanselan/formats/gif/GIFHeaderInfo.java
index 061880a..65f3913 100644
--- a/src/main/java/org/apache/sanselan/formats/gif/GIFHeaderInfo.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/gif/GIFHeaderInfo.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.gif;
+package org.apache.commons.sanselan.formats.gif;
 
 class GIFHeaderInfo
 {
diff --git a/src/main/java/org/apache/sanselan/formats/gif/GenericGIFBlock.java b/src/main/java/org/apache/commons/sanselan/formats/gif/GenericGIFBlock.java
similarity index 96%
rename from src/main/java/org/apache/sanselan/formats/gif/GenericGIFBlock.java
rename to src/main/java/org/apache/commons/sanselan/formats/gif/GenericGIFBlock.java
index f7a5b18..9a0b785 100644
--- a/src/main/java/org/apache/sanselan/formats/gif/GenericGIFBlock.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/gif/GenericGIFBlock.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.gif;
+package org.apache.commons.sanselan.formats.gif;
 
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
diff --git a/src/main/java/org/apache/sanselan/formats/gif/GifImageParser.java b/src/main/java/org/apache/commons/sanselan/formats/gif/GifImageParser.java
similarity index 97%
rename from src/main/java/org/apache/sanselan/formats/gif/GifImageParser.java
rename to src/main/java/org/apache/commons/sanselan/formats/gif/GifImageParser.java
index a5b831e..4fa7e37 100644
--- a/src/main/java/org/apache/sanselan/formats/gif/GifImageParser.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/gif/GifImageParser.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.gif;
+package org.apache.commons.sanselan.formats.gif;
 
 import java.awt.Dimension;
 import java.awt.image.BufferedImage;
@@ -31,21 +31,21 @@
 import java.util.List;
 import java.util.Map;
 
-import org.apache.sanselan.FormatCompliance;
-import org.apache.sanselan.ImageFormat;
-import org.apache.sanselan.ImageInfo;
-import org.apache.sanselan.ImageParser;
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.common.BinaryOutputStream;
-import org.apache.sanselan.common.IImageMetadata;
-import org.apache.sanselan.common.byteSources.ByteSource;
-import org.apache.sanselan.common.mylzw.MyLZWCompressor;
-import org.apache.sanselan.common.mylzw.MyLZWDecompressor;
-import org.apache.sanselan.palette.Palette;
-import org.apache.sanselan.palette.PaletteFactory;
-import org.apache.sanselan.util.Debug;
-import org.apache.sanselan.util.ParamMap;
+import org.apache.commons.sanselan.FormatCompliance;
+import org.apache.commons.sanselan.ImageFormat;
+import org.apache.commons.sanselan.ImageInfo;
+import org.apache.commons.sanselan.ImageParser;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.common.BinaryOutputStream;
+import org.apache.commons.sanselan.common.IImageMetadata;
+import org.apache.commons.sanselan.common.byteSources.ByteSource;
+import org.apache.commons.sanselan.common.mylzw.MyLZWCompressor;
+import org.apache.commons.sanselan.common.mylzw.MyLZWDecompressor;
+import org.apache.commons.sanselan.palette.Palette;
+import org.apache.commons.sanselan.palette.PaletteFactory;
+import org.apache.commons.sanselan.util.Debug;
+import org.apache.commons.sanselan.util.ParamMap;
 
 public class GifImageParser extends ImageParser
 {
diff --git a/src/main/java/org/apache/sanselan/formats/gif/GraphicControlExtension.java b/src/main/java/org/apache/commons/sanselan/formats/gif/GraphicControlExtension.java
similarity index 96%
rename from src/main/java/org/apache/sanselan/formats/gif/GraphicControlExtension.java
rename to src/main/java/org/apache/commons/sanselan/formats/gif/GraphicControlExtension.java
index 6087250..c9d92d0 100644
--- a/src/main/java/org/apache/sanselan/formats/gif/GraphicControlExtension.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/gif/GraphicControlExtension.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.gif;
+package org.apache.commons.sanselan.formats.gif;
 
 class GraphicControlExtension extends GIFBlock
 {
diff --git a/src/main/java/org/apache/sanselan/formats/gif/ImageContents.java b/src/main/java/org/apache/commons/sanselan/formats/gif/ImageContents.java
similarity index 95%
rename from src/main/java/org/apache/sanselan/formats/gif/ImageContents.java
rename to src/main/java/org/apache/commons/sanselan/formats/gif/ImageContents.java
index d4c5d1b..1c49044 100644
--- a/src/main/java/org/apache/sanselan/formats/gif/ImageContents.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/gif/ImageContents.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.gif;
+package org.apache.commons.sanselan.formats.gif;
 
 import java.util.ArrayList;
 
diff --git a/src/main/java/org/apache/sanselan/formats/gif/ImageDescriptor.java b/src/main/java/org/apache/commons/sanselan/formats/gif/ImageDescriptor.java
similarity index 97%
rename from src/main/java/org/apache/sanselan/formats/gif/ImageDescriptor.java
rename to src/main/java/org/apache/commons/sanselan/formats/gif/ImageDescriptor.java
index 4d31cf6..4a3eaec 100644
--- a/src/main/java/org/apache/sanselan/formats/gif/ImageDescriptor.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/gif/ImageDescriptor.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.gif;
+package org.apache.commons.sanselan.formats.gif;
 
 public class ImageDescriptor extends GIFBlock
 {
diff --git a/src/main/java/org/apache/sanselan/formats/icns/IcnsDecoder.java b/src/main/java/org/apache/commons/sanselan/formats/icns/IcnsDecoder.java
similarity index 99%
rename from src/main/java/org/apache/sanselan/formats/icns/IcnsDecoder.java
rename to src/main/java/org/apache/commons/sanselan/formats/icns/IcnsDecoder.java
index 680f716..23f4d40 100644
--- a/src/main/java/org/apache/sanselan/formats/icns/IcnsDecoder.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/icns/IcnsDecoder.java
@@ -14,13 +14,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.icns;
+package org.apache.commons.sanselan.formats.icns;
 
 import java.awt.image.BufferedImage;
 import java.io.IOException;
 import java.util.ArrayList;
 
-import org.apache.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageReadException;
 
 public class IcnsDecoder
 {
diff --git a/src/main/java/org/apache/sanselan/formats/icns/IcnsImageParser.java b/src/main/java/org/apache/commons/sanselan/formats/icns/IcnsImageParser.java
similarity index 95%
rename from src/main/java/org/apache/sanselan/formats/icns/IcnsImageParser.java
rename to src/main/java/org/apache/commons/sanselan/formats/icns/IcnsImageParser.java
index 048b61b..f857e10 100644
--- a/src/main/java/org/apache/sanselan/formats/icns/IcnsImageParser.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/icns/IcnsImageParser.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.icns;
+package org.apache.commons.sanselan.formats.icns;
 
 import java.awt.Dimension;
 import java.awt.image.BufferedImage;
@@ -27,16 +27,16 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import org.apache.sanselan.ImageFormat;
-import org.apache.sanselan.ImageInfo;
-import org.apache.sanselan.ImageParser;
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.common.BinaryOutputStream;
-import org.apache.sanselan.common.IImageMetadata;
-import org.apache.sanselan.common.byteSources.ByteSource;
-import org.apache.sanselan.util.Debug;
-import org.apache.sanselan.util.ParamMap;
+import org.apache.commons.sanselan.ImageFormat;
+import org.apache.commons.sanselan.ImageInfo;
+import org.apache.commons.sanselan.ImageParser;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.common.BinaryOutputStream;
+import org.apache.commons.sanselan.common.IImageMetadata;
+import org.apache.commons.sanselan.common.byteSources.ByteSource;
+import org.apache.commons.sanselan.util.Debug;
+import org.apache.commons.sanselan.util.ParamMap;
 
 public class IcnsImageParser extends ImageParser
 {
diff --git a/src/main/java/org/apache/sanselan/formats/icns/IcnsType.java b/src/main/java/org/apache/commons/sanselan/formats/icns/IcnsType.java
similarity index 99%
rename from src/main/java/org/apache/sanselan/formats/icns/IcnsType.java
rename to src/main/java/org/apache/commons/sanselan/formats/icns/IcnsType.java
index 8787c50..62d4fb2 100644
--- a/src/main/java/org/apache/sanselan/formats/icns/IcnsType.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/icns/IcnsType.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.icns;
+package org.apache.commons.sanselan.formats.icns;
 
 import java.io.UnsupportedEncodingException;
 
diff --git a/src/main/java/org/apache/sanselan/formats/icns/Rle24Compression.java b/src/main/java/org/apache/commons/sanselan/formats/icns/Rle24Compression.java
similarity index 97%
rename from src/main/java/org/apache/sanselan/formats/icns/Rle24Compression.java
rename to src/main/java/org/apache/commons/sanselan/formats/icns/Rle24Compression.java
index 9d138c0..bd1a893 100644
--- a/src/main/java/org/apache/sanselan/formats/icns/Rle24Compression.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/icns/Rle24Compression.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.icns;
+package org.apache.commons.sanselan.formats.icns;
 
 class Rle24Compression
 {
diff --git a/src/main/java/org/apache/sanselan/formats/ico/IcoImageParser.java b/src/main/java/org/apache/commons/sanselan/formats/ico/IcoImageParser.java
similarity index 97%
rename from src/main/java/org/apache/sanselan/formats/ico/IcoImageParser.java
rename to src/main/java/org/apache/commons/sanselan/formats/ico/IcoImageParser.java
index c47c2d6..bb7ef79 100644
--- a/src/main/java/org/apache/sanselan/formats/ico/IcoImageParser.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/ico/IcoImageParser.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.ico;
+package org.apache.commons.sanselan.formats.ico;
 
 import java.awt.Dimension;
 import java.awt.image.BufferedImage;
@@ -29,19 +29,19 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import org.apache.sanselan.ImageFormat;
-import org.apache.sanselan.ImageInfo;
-import org.apache.sanselan.ImageParser;
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.Sanselan;
-import org.apache.sanselan.formats.bmp.BmpImageParser;
-import org.apache.sanselan.common.BinaryOutputStream;
-import org.apache.sanselan.common.IImageMetadata;
-import org.apache.sanselan.common.byteSources.ByteSource;
-import org.apache.sanselan.palette.PaletteFactory;
-import org.apache.sanselan.palette.SimplePalette;
-import org.apache.sanselan.util.Debug;
+import org.apache.commons.sanselan.ImageFormat;
+import org.apache.commons.sanselan.ImageInfo;
+import org.apache.commons.sanselan.ImageParser;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.Sanselan;
+import org.apache.commons.sanselan.common.BinaryOutputStream;
+import org.apache.commons.sanselan.common.IImageMetadata;
+import org.apache.commons.sanselan.common.byteSources.ByteSource;
+import org.apache.commons.sanselan.formats.bmp.BmpImageParser;
+import org.apache.commons.sanselan.palette.PaletteFactory;
+import org.apache.commons.sanselan.palette.SimplePalette;
+import org.apache.commons.sanselan.util.Debug;
 
 public class IcoImageParser extends ImageParser
 {
diff --git a/src/main/java/org/apache/sanselan/formats/jpeg/Block.java b/src/main/java/org/apache/commons/sanselan/formats/jpeg/Block.java
similarity index 94%
rename from src/main/java/org/apache/sanselan/formats/jpeg/Block.java
rename to src/main/java/org/apache/commons/sanselan/formats/jpeg/Block.java
index d22df24..ceb2a81 100644
--- a/src/main/java/org/apache/sanselan/formats/jpeg/Block.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/jpeg/Block.java
@@ -13,7 +13,7 @@
  *  under the License.
  */
 
-package org.apache.sanselan.formats.jpeg;
+package org.apache.commons.sanselan.formats.jpeg;
 
 public final class Block
 {
diff --git a/src/main/java/org/apache/sanselan/formats/jpeg/JpegConstants.java b/src/main/java/org/apache/commons/sanselan/formats/jpeg/JpegConstants.java
similarity index 98%
rename from src/main/java/org/apache/sanselan/formats/jpeg/JpegConstants.java
rename to src/main/java/org/apache/commons/sanselan/formats/jpeg/JpegConstants.java
index 551b897..baae855 100644
--- a/src/main/java/org/apache/sanselan/formats/jpeg/JpegConstants.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/jpeg/JpegConstants.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.jpeg;
+package org.apache.commons.sanselan.formats.jpeg;
 
 public interface JpegConstants
 {
diff --git a/src/main/java/org/apache/sanselan/formats/jpeg/JpegImageMetadata.java b/src/main/java/org/apache/commons/sanselan/formats/jpeg/JpegImageMetadata.java
similarity index 91%
rename from src/main/java/org/apache/sanselan/formats/jpeg/JpegImageMetadata.java
rename to src/main/java/org/apache/commons/sanselan/formats/jpeg/JpegImageMetadata.java
index ae7ae00..210e991 100644
--- a/src/main/java/org/apache/sanselan/formats/jpeg/JpegImageMetadata.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/jpeg/JpegImageMetadata.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.jpeg;
+package org.apache.commons.sanselan.formats.jpeg;
 
 import java.awt.Dimension;
 import java.awt.image.BufferedImage;
@@ -24,15 +24,15 @@
 
 import javax.imageio.ImageIO;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.Sanselan;
-import org.apache.sanselan.common.IImageMetadata;
-import org.apache.sanselan.formats.tiff.JpegImageData;
-import org.apache.sanselan.formats.tiff.TiffField;
-import org.apache.sanselan.formats.tiff.TiffImageData;
-import org.apache.sanselan.formats.tiff.TiffImageMetadata;
-import org.apache.sanselan.formats.tiff.constants.TagInfo;
-import org.apache.sanselan.util.Debug;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.Sanselan;
+import org.apache.commons.sanselan.common.IImageMetadata;
+import org.apache.commons.sanselan.formats.tiff.JpegImageData;
+import org.apache.commons.sanselan.formats.tiff.TiffField;
+import org.apache.commons.sanselan.formats.tiff.TiffImageData;
+import org.apache.commons.sanselan.formats.tiff.TiffImageMetadata;
+import org.apache.commons.sanselan.formats.tiff.constants.TagInfo;
+import org.apache.commons.sanselan.util.Debug;
 
 public class JpegImageMetadata implements IImageMetadata {
     private final JpegPhotoshopMetadata photoshop;
diff --git a/src/main/java/org/apache/sanselan/formats/jpeg/JpegImageParser.java b/src/main/java/org/apache/commons/sanselan/formats/jpeg/JpegImageParser.java
similarity index 95%
rename from src/main/java/org/apache/sanselan/formats/jpeg/JpegImageParser.java
rename to src/main/java/org/apache/commons/sanselan/formats/jpeg/JpegImageParser.java
index db30c44..f20bf9a 100644
--- a/src/main/java/org/apache/sanselan/formats/jpeg/JpegImageParser.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/jpeg/JpegImageParser.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.jpeg;
+package org.apache.commons.sanselan.formats.jpeg;
 
 import java.awt.Dimension;
 import java.awt.image.BufferedImage;
@@ -30,30 +30,30 @@
 import java.util.List;
 import java.util.Map;
 
-import org.apache.sanselan.ImageFormat;
-import org.apache.sanselan.ImageInfo;
-import org.apache.sanselan.ImageParser;
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.common.IImageMetadata;
-import org.apache.sanselan.common.byteSources.ByteSource;
-import org.apache.sanselan.formats.jpeg.decoder.JpegDecoder;
-import org.apache.sanselan.formats.jpeg.iptc.IPTCParser;
-import org.apache.sanselan.formats.jpeg.iptc.PhotoshopApp13Data;
-import org.apache.sanselan.formats.jpeg.segments.App13Segment;
-import org.apache.sanselan.formats.jpeg.segments.App2Segment;
-import org.apache.sanselan.formats.jpeg.segments.COMSegment;
-import org.apache.sanselan.formats.jpeg.segments.DQTSegment;
-import org.apache.sanselan.formats.jpeg.segments.GenericSegment;
-import org.apache.sanselan.formats.jpeg.segments.JFIFSegment;
-import org.apache.sanselan.formats.jpeg.segments.SOFNSegment;
-import org.apache.sanselan.formats.jpeg.segments.Segment;
-import org.apache.sanselan.formats.jpeg.segments.UnknownSegment;
-import org.apache.sanselan.formats.jpeg.xmp.JpegXmpParser;
-import org.apache.sanselan.formats.tiff.TiffField;
-import org.apache.sanselan.formats.tiff.TiffImageMetadata;
-import org.apache.sanselan.formats.tiff.TiffImageParser;
-import org.apache.sanselan.formats.tiff.constants.TiffTagConstants;
-import org.apache.sanselan.util.Debug;
+import org.apache.commons.sanselan.ImageFormat;
+import org.apache.commons.sanselan.ImageInfo;
+import org.apache.commons.sanselan.ImageParser;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.common.IImageMetadata;
+import org.apache.commons.sanselan.common.byteSources.ByteSource;
+import org.apache.commons.sanselan.formats.jpeg.decoder.JpegDecoder;
+import org.apache.commons.sanselan.formats.jpeg.iptc.IPTCParser;
+import org.apache.commons.sanselan.formats.jpeg.iptc.PhotoshopApp13Data;
+import org.apache.commons.sanselan.formats.jpeg.segments.App13Segment;
+import org.apache.commons.sanselan.formats.jpeg.segments.App2Segment;
+import org.apache.commons.sanselan.formats.jpeg.segments.COMSegment;
+import org.apache.commons.sanselan.formats.jpeg.segments.DQTSegment;
+import org.apache.commons.sanselan.formats.jpeg.segments.GenericSegment;
+import org.apache.commons.sanselan.formats.jpeg.segments.JFIFSegment;
+import org.apache.commons.sanselan.formats.jpeg.segments.SOFNSegment;
+import org.apache.commons.sanselan.formats.jpeg.segments.Segment;
+import org.apache.commons.sanselan.formats.jpeg.segments.UnknownSegment;
+import org.apache.commons.sanselan.formats.jpeg.xmp.JpegXmpParser;
+import org.apache.commons.sanselan.formats.tiff.TiffField;
+import org.apache.commons.sanselan.formats.tiff.TiffImageMetadata;
+import org.apache.commons.sanselan.formats.tiff.TiffImageParser;
+import org.apache.commons.sanselan.formats.tiff.constants.TiffTagConstants;
+import org.apache.commons.sanselan.util.Debug;
 
 public class JpegImageParser extends ImageParser implements JpegConstants,
         TiffTagConstants
diff --git a/src/main/java/org/apache/sanselan/formats/jpeg/JpegPhotoshopMetadata.java b/src/main/java/org/apache/commons/sanselan/formats/jpeg/JpegPhotoshopMetadata.java
similarity index 81%
rename from src/main/java/org/apache/sanselan/formats/jpeg/JpegPhotoshopMetadata.java
rename to src/main/java/org/apache/commons/sanselan/formats/jpeg/JpegPhotoshopMetadata.java
index 84c74f8..4a9f548 100644
--- a/src/main/java/org/apache/sanselan/formats/jpeg/JpegPhotoshopMetadata.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/jpeg/JpegPhotoshopMetadata.java
@@ -14,16 +14,16 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.jpeg;
+package org.apache.commons.sanselan.formats.jpeg;
 
 import java.util.Collections;
 import java.util.List;
 
-import org.apache.sanselan.common.ImageMetadata;
-import org.apache.sanselan.formats.jpeg.iptc.IPTCConstants;
-import org.apache.sanselan.formats.jpeg.iptc.IPTCRecord;
-import org.apache.sanselan.formats.jpeg.iptc.PhotoshopApp13Data;
-import org.apache.sanselan.util.Debug;
+import org.apache.commons.sanselan.common.ImageMetadata;
+import org.apache.commons.sanselan.formats.jpeg.iptc.IPTCConstants;
+import org.apache.commons.sanselan.formats.jpeg.iptc.IPTCRecord;
+import org.apache.commons.sanselan.formats.jpeg.iptc.PhotoshopApp13Data;
+import org.apache.commons.sanselan.util.Debug;
 
 public class JpegPhotoshopMetadata extends ImageMetadata implements
         IPTCConstants
diff --git a/src/main/java/org/apache/sanselan/formats/jpeg/JpegUtils.java b/src/main/java/org/apache/commons/sanselan/formats/jpeg/JpegUtils.java
similarity index 95%
rename from src/main/java/org/apache/sanselan/formats/jpeg/JpegUtils.java
rename to src/main/java/org/apache/commons/sanselan/formats/jpeg/JpegUtils.java
index 9089a25..d60b260 100644
--- a/src/main/java/org/apache/sanselan/formats/jpeg/JpegUtils.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/jpeg/JpegUtils.java
@@ -14,16 +14,16 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.jpeg;
+package org.apache.commons.sanselan.formats.jpeg;
 
 import java.io.IOException;
 import java.io.InputStream;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.common.BinaryFileParser;
-import org.apache.sanselan.common.byteSources.ByteSource;
-import org.apache.sanselan.util.Debug;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.common.BinaryFileParser;
+import org.apache.commons.sanselan.common.byteSources.ByteSource;
+import org.apache.commons.sanselan.util.Debug;
 
 public class JpegUtils extends BinaryFileParser implements JpegConstants
 {
diff --git a/src/main/java/org/apache/sanselan/formats/jpeg/ZigZag.java b/src/main/java/org/apache/commons/sanselan/formats/jpeg/ZigZag.java
similarity index 96%
rename from src/main/java/org/apache/sanselan/formats/jpeg/ZigZag.java
rename to src/main/java/org/apache/commons/sanselan/formats/jpeg/ZigZag.java
index bbd2fc2..471e0b8 100644
--- a/src/main/java/org/apache/sanselan/formats/jpeg/ZigZag.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/jpeg/ZigZag.java
@@ -13,7 +13,7 @@
  *  under the License.
  */
 
-package org.apache.sanselan.formats.jpeg;
+package org.apache.commons.sanselan.formats.jpeg;
 
 public class ZigZag
 {
diff --git a/src/main/java/org/apache/sanselan/formats/jpeg/decoder/DCT.java b/src/main/java/org/apache/commons/sanselan/formats/jpeg/decoder/DCT.java
similarity index 99%
rename from src/main/java/org/apache/sanselan/formats/jpeg/decoder/DCT.java
rename to src/main/java/org/apache/commons/sanselan/formats/jpeg/decoder/DCT.java
index 0a339e2..c53a9aa 100644
--- a/src/main/java/org/apache/sanselan/formats/jpeg/decoder/DCT.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/jpeg/decoder/DCT.java
@@ -13,7 +13,7 @@
  *  under the License.
  */
 
-package org.apache.sanselan.formats.jpeg.decoder;
+package org.apache.commons.sanselan.formats.jpeg.decoder;
 
 public class DCT
 {
diff --git a/src/main/java/org/apache/sanselan/formats/jpeg/decoder/JpegDecoder.java b/src/main/java/org/apache/commons/sanselan/formats/jpeg/decoder/JpegDecoder.java
similarity index 96%
rename from src/main/java/org/apache/sanselan/formats/jpeg/decoder/JpegDecoder.java
rename to src/main/java/org/apache/commons/sanselan/formats/jpeg/decoder/JpegDecoder.java
index 6f1097f..bc07bac 100644
--- a/src/main/java/org/apache/sanselan/formats/jpeg/decoder/JpegDecoder.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/jpeg/decoder/JpegDecoder.java
@@ -13,7 +13,7 @@
  *  under the License.
  */
 
-package org.apache.sanselan.formats.jpeg.decoder;
+package org.apache.commons.sanselan.formats.jpeg.decoder;
 
 import java.awt.image.BufferedImage;
 import java.awt.image.ColorModel;
@@ -24,17 +24,18 @@
 import java.io.IOException;
 import java.util.Arrays;
 import java.util.Properties;
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.common.BinaryFileParser;
-import org.apache.sanselan.common.byteSources.ByteSource;
-import org.apache.sanselan.formats.jpeg.Block;
-import org.apache.sanselan.formats.jpeg.JpegConstants;
-import org.apache.sanselan.formats.jpeg.JpegUtils;
-import org.apache.sanselan.formats.jpeg.ZigZag;
-import org.apache.sanselan.formats.jpeg.segments.DHTSegment;
-import org.apache.sanselan.formats.jpeg.segments.DQTSegment;
-import org.apache.sanselan.formats.jpeg.segments.SOFNSegment;
-import org.apache.sanselan.formats.jpeg.segments.SOSSegment;
+
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.common.BinaryFileParser;
+import org.apache.commons.sanselan.common.byteSources.ByteSource;
+import org.apache.commons.sanselan.formats.jpeg.Block;
+import org.apache.commons.sanselan.formats.jpeg.JpegConstants;
+import org.apache.commons.sanselan.formats.jpeg.JpegUtils;
+import org.apache.commons.sanselan.formats.jpeg.ZigZag;
+import org.apache.commons.sanselan.formats.jpeg.segments.DHTSegment;
+import org.apache.commons.sanselan.formats.jpeg.segments.DQTSegment;
+import org.apache.commons.sanselan.formats.jpeg.segments.SOFNSegment;
+import org.apache.commons.sanselan.formats.jpeg.segments.SOSSegment;
 
 public class JpegDecoder extends BinaryFileParser implements JpegUtils.Visitor,
         JpegConstants
diff --git a/src/main/java/org/apache/sanselan/formats/jpeg/decoder/JpegInputStream.java b/src/main/java/org/apache/commons/sanselan/formats/jpeg/decoder/JpegInputStream.java
similarity index 90%
rename from src/main/java/org/apache/sanselan/formats/jpeg/decoder/JpegInputStream.java
rename to src/main/java/org/apache/commons/sanselan/formats/jpeg/decoder/JpegInputStream.java
index 8b0f4c8..ae67639 100644
--- a/src/main/java/org/apache/sanselan/formats/jpeg/decoder/JpegInputStream.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/jpeg/decoder/JpegInputStream.java
@@ -13,12 +13,13 @@
  *  under the License.
  */
 
-package org.apache.sanselan.formats.jpeg.decoder;
+package org.apache.commons.sanselan.formats.jpeg.decoder;
 
 import java.io.IOException;
 import java.io.InputStream;
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.formats.jpeg.JpegConstants;
+
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.formats.jpeg.JpegConstants;
 
 public class JpegInputStream
 {
diff --git a/src/main/java/org/apache/sanselan/formats/jpeg/decoder/YCbCrConverter.java b/src/main/java/org/apache/commons/sanselan/formats/jpeg/decoder/YCbCrConverter.java
similarity index 98%
rename from src/main/java/org/apache/sanselan/formats/jpeg/decoder/YCbCrConverter.java
rename to src/main/java/org/apache/commons/sanselan/formats/jpeg/decoder/YCbCrConverter.java
index 3805ecd..ed99c4b 100644
--- a/src/main/java/org/apache/sanselan/formats/jpeg/decoder/YCbCrConverter.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/jpeg/decoder/YCbCrConverter.java
@@ -13,7 +13,7 @@
  *  under the License.
  */
 
-package org.apache.sanselan.formats.jpeg.decoder;
+package org.apache.commons.sanselan.formats.jpeg.decoder;
 
 public class YCbCrConverter
 {
diff --git a/src/main/java/org/apache/sanselan/formats/jpeg/exifRewrite/ExifRewriter.java b/src/main/java/org/apache/commons/sanselan/formats/jpeg/exifRewrite/ExifRewriter.java
similarity index 94%
rename from src/main/java/org/apache/sanselan/formats/jpeg/exifRewrite/ExifRewriter.java
rename to src/main/java/org/apache/commons/sanselan/formats/jpeg/exifRewrite/ExifRewriter.java
index adbf741..cedf7f2 100644
--- a/src/main/java/org/apache/sanselan/formats/jpeg/exifRewrite/ExifRewriter.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/jpeg/exifRewrite/ExifRewriter.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.jpeg.exifRewrite;
+package org.apache.commons.sanselan.formats.jpeg.exifRewrite;
 
 import java.io.ByteArrayOutputStream;
 import java.io.File;
@@ -24,20 +24,20 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.common.BinaryFileParser;
-import org.apache.sanselan.common.byteSources.ByteSource;
-import org.apache.sanselan.common.byteSources.ByteSourceArray;
-import org.apache.sanselan.common.byteSources.ByteSourceFile;
-import org.apache.sanselan.common.byteSources.ByteSourceInputStream;
-import org.apache.sanselan.formats.jpeg.JpegConstants;
-import org.apache.sanselan.formats.jpeg.JpegUtils;
-import org.apache.sanselan.formats.tiff.write.TiffImageWriterBase;
-import org.apache.sanselan.formats.tiff.write.TiffImageWriterLossless;
-import org.apache.sanselan.formats.tiff.write.TiffImageWriterLossy;
-import org.apache.sanselan.formats.tiff.write.TiffOutputSet;
-import org.apache.sanselan.util.Debug;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.common.BinaryFileParser;
+import org.apache.commons.sanselan.common.byteSources.ByteSource;
+import org.apache.commons.sanselan.common.byteSources.ByteSourceArray;
+import org.apache.commons.sanselan.common.byteSources.ByteSourceFile;
+import org.apache.commons.sanselan.common.byteSources.ByteSourceInputStream;
+import org.apache.commons.sanselan.formats.jpeg.JpegConstants;
+import org.apache.commons.sanselan.formats.jpeg.JpegUtils;
+import org.apache.commons.sanselan.formats.tiff.write.TiffImageWriterBase;
+import org.apache.commons.sanselan.formats.tiff.write.TiffImageWriterLossless;
+import org.apache.commons.sanselan.formats.tiff.write.TiffImageWriterLossy;
+import org.apache.commons.sanselan.formats.tiff.write.TiffOutputSet;
+import org.apache.commons.sanselan.util.Debug;
 
 /**
  * Interface for Exif write/update/remove functionality for Jpeg/JFIF images.
@@ -45,7 +45,7 @@
  * <p>
  * See the source of the ExifMetadataUpdateExample class for example usage.
  *
- * @see org.apache.sanselan.sampleUsage.WriteExifMetadataExample
+ * @see org.apache.commons.sanselan.sampleUsage.WriteExifMetadataExample
  */
 public class ExifRewriter extends BinaryFileParser implements JpegConstants
 {
@@ -62,7 +62,7 @@
      * <p>
      * @param  byteOrder  byte order of EXIF segment.  Optional.  See BinaryConstants class.
      *
-     * @see org.apache.sanselan.common.BinaryConstants
+     * @see org.apache.commons.sanselan.common.BinaryConstants
      */
     public ExifRewriter(int byteOrder)
     {
diff --git a/src/main/java/org/apache/sanselan/formats/jpeg/iptc/IPTCBlock.java b/src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/IPTCBlock.java
similarity index 95%
rename from src/main/java/org/apache/sanselan/formats/jpeg/iptc/IPTCBlock.java
rename to src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/IPTCBlock.java
index 64bc8c6..ede570f 100644
--- a/src/main/java/org/apache/sanselan/formats/jpeg/iptc/IPTCBlock.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/IPTCBlock.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.jpeg.iptc;
+package org.apache.commons.sanselan.formats.jpeg.iptc;
 
 /*
  * Represents an IPTC block, a set of key-value pairs of Photoshop IPTC data.
diff --git a/src/main/java/org/apache/sanselan/formats/jpeg/iptc/IPTCConstants.java b/src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/IPTCConstants.java
similarity index 98%
rename from src/main/java/org/apache/sanselan/formats/jpeg/iptc/IPTCConstants.java
rename to src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/IPTCConstants.java
index 45b1efd..3281c0d 100644
--- a/src/main/java/org/apache/sanselan/formats/jpeg/iptc/IPTCConstants.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/IPTCConstants.java
@@ -14,9 +14,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.jpeg.iptc;
+package org.apache.commons.sanselan.formats.jpeg.iptc;
 
-import org.apache.sanselan.formats.jpeg.JpegConstants;
+import org.apache.commons.sanselan.formats.jpeg.JpegConstants;
 
 public interface IPTCConstants extends JpegConstants
 {
diff --git a/src/main/java/org/apache/sanselan/formats/jpeg/iptc/IPTCParser.java b/src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/IPTCParser.java
similarity index 96%
rename from src/main/java/org/apache/sanselan/formats/jpeg/iptc/IPTCParser.java
rename to src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/IPTCParser.java
index a83fd02..073976c 100644
--- a/src/main/java/org/apache/sanselan/formats/jpeg/iptc/IPTCParser.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/IPTCParser.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.formats.jpeg.iptc;
+package org.apache.commons.sanselan.formats.jpeg.iptc;
 
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
@@ -25,14 +25,14 @@
 import java.util.List;
 import java.util.Map;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.SanselanConstants;
-import org.apache.sanselan.common.BinaryFileParser;
-import org.apache.sanselan.common.BinaryInputStream;
-import org.apache.sanselan.common.BinaryOutputStream;
-import org.apache.sanselan.util.Debug;
-import org.apache.sanselan.util.ParamMap;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.SanselanConstants;
+import org.apache.commons.sanselan.common.BinaryFileParser;
+import org.apache.commons.sanselan.common.BinaryInputStream;
+import org.apache.commons.sanselan.common.BinaryOutputStream;
+import org.apache.commons.sanselan.util.Debug;
+import org.apache.commons.sanselan.util.ParamMap;
 
 public class IPTCParser extends BinaryFileParser implements IPTCConstants
 {
diff --git a/src/main/java/org/apache/sanselan/formats/jpeg/iptc/IPTCRecord.java b/src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/IPTCRecord.java
similarity index 96%
rename from src/main/java/org/apache/sanselan/formats/jpeg/iptc/IPTCRecord.java
rename to src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/IPTCRecord.java
index b6acac2..410e3c4 100644
--- a/src/main/java/org/apache/sanselan/formats/jpeg/iptc/IPTCRecord.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/IPTCRecord.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.jpeg.iptc;
+package org.apache.commons.sanselan.formats.jpeg.iptc;
 
 import java.util.Comparator;
 
diff --git a/src/main/java/org/apache/sanselan/formats/jpeg/iptc/IPTCType.java b/src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/IPTCType.java
similarity index 91%
rename from src/main/java/org/apache/sanselan/formats/jpeg/iptc/IPTCType.java
rename to src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/IPTCType.java
index 8720c9d..bdd6533 100644
--- a/src/main/java/org/apache/sanselan/formats/jpeg/iptc/IPTCType.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/IPTCType.java
@@ -14,9 +14,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.jpeg.iptc;
+package org.apache.commons.sanselan.formats.jpeg.iptc;
 
-import org.apache.sanselan.formats.jpeg.JpegConstants;
+import org.apache.commons.sanselan.formats.jpeg.JpegConstants;
 
 public class IPTCType implements JpegConstants, IPTCConstants
 {
diff --git a/src/main/java/org/apache/sanselan/formats/jpeg/iptc/IPTCTypeLookup.java b/src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/IPTCTypeLookup.java
similarity index 96%
rename from src/main/java/org/apache/sanselan/formats/jpeg/iptc/IPTCTypeLookup.java
rename to src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/IPTCTypeLookup.java
index 662d75f..aac2507 100644
--- a/src/main/java/org/apache/sanselan/formats/jpeg/iptc/IPTCTypeLookup.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/IPTCTypeLookup.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.jpeg.iptc;
+package org.apache.commons.sanselan.formats.jpeg.iptc;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/src/main/java/org/apache/sanselan/formats/jpeg/iptc/JpegIptcRewriter.java b/src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/JpegIptcRewriter.java
similarity index 93%
rename from src/main/java/org/apache/sanselan/formats/jpeg/iptc/JpegIptcRewriter.java
rename to src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/JpegIptcRewriter.java
index b761836..b9def2f 100644
--- a/src/main/java/org/apache/sanselan/formats/jpeg/iptc/JpegIptcRewriter.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/JpegIptcRewriter.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.jpeg.iptc;
+package org.apache.commons.sanselan.formats.jpeg.iptc;
 
 import java.io.File;
 import java.io.IOException;
@@ -26,13 +26,13 @@
 import java.util.List;
 import java.util.Map;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.common.byteSources.ByteSource;
-import org.apache.sanselan.common.byteSources.ByteSourceArray;
-import org.apache.sanselan.common.byteSources.ByteSourceFile;
-import org.apache.sanselan.common.byteSources.ByteSourceInputStream;
-import org.apache.sanselan.formats.jpeg.xmp.JpegRewriter;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.common.byteSources.ByteSource;
+import org.apache.commons.sanselan.common.byteSources.ByteSourceArray;
+import org.apache.commons.sanselan.common.byteSources.ByteSourceFile;
+import org.apache.commons.sanselan.common.byteSources.ByteSourceInputStream;
+import org.apache.commons.sanselan.formats.jpeg.xmp.JpegRewriter;
 
 /**
  * Interface for Exif write/update/remove functionality for Jpeg/JFIF images.
@@ -40,7 +40,7 @@
  * <p>
  * See the source of the IPTCUpdateExample class for example usage.
  *
- * @see org.apache.sanselan.sampleUsage.WriteIPTCExample
+ * @see org.apache.commons.sanselan.sampleUsage.WriteIPTCExample
  */
 public class JpegIptcRewriter extends JpegRewriter implements IPTCConstants
 {
diff --git a/src/main/java/org/apache/sanselan/formats/jpeg/iptc/PhotoshopApp13Data.java b/src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/PhotoshopApp13Data.java
similarity index 96%
rename from src/main/java/org/apache/sanselan/formats/jpeg/iptc/PhotoshopApp13Data.java
rename to src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/PhotoshopApp13Data.java
index e32a435..af06c7b 100644
--- a/src/main/java/org/apache/sanselan/formats/jpeg/iptc/PhotoshopApp13Data.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/jpeg/iptc/PhotoshopApp13Data.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.formats.jpeg.iptc;
+package org.apache.commons.sanselan.formats.jpeg.iptc;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/src/main/java/org/apache/sanselan/formats/jpeg/segments/APPNSegment.java b/src/main/java/org/apache/commons/sanselan/formats/jpeg/segments/APPNSegment.java
similarity index 87%
rename from src/main/java/org/apache/sanselan/formats/jpeg/segments/APPNSegment.java
rename to src/main/java/org/apache/commons/sanselan/formats/jpeg/segments/APPNSegment.java
index 683c9c5..164895e 100644
--- a/src/main/java/org/apache/sanselan/formats/jpeg/segments/APPNSegment.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/jpeg/segments/APPNSegment.java
@@ -14,13 +14,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.jpeg.segments;
+package org.apache.commons.sanselan.formats.jpeg.segments;
 
 import java.io.IOException;
 import java.io.InputStream;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.formats.jpeg.JpegImageParser;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.formats.jpeg.JpegImageParser;
 
 public class APPNSegment extends GenericSegment
 {
diff --git a/src/main/java/org/apache/sanselan/formats/jpeg/segments/App13Segment.java b/src/main/java/org/apache/commons/sanselan/formats/jpeg/segments/App13Segment.java
similarity index 89%
rename from src/main/java/org/apache/sanselan/formats/jpeg/segments/App13Segment.java
rename to src/main/java/org/apache/commons/sanselan/formats/jpeg/segments/App13Segment.java
index 1f14867..0cbed63 100644
--- a/src/main/java/org/apache/sanselan/formats/jpeg/segments/App13Segment.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/jpeg/segments/App13Segment.java
@@ -14,17 +14,17 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.jpeg.segments;
+package org.apache.commons.sanselan.formats.jpeg.segments;
 
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.util.Map;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.formats.jpeg.JpegImageParser;
-import org.apache.sanselan.formats.jpeg.iptc.IPTCParser;
-import org.apache.sanselan.formats.jpeg.iptc.PhotoshopApp13Data;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.formats.jpeg.JpegImageParser;
+import org.apache.commons.sanselan.formats.jpeg.iptc.IPTCParser;
+import org.apache.commons.sanselan.formats.jpeg.iptc.PhotoshopApp13Data;
 
 public class App13Segment extends APPNSegment
 {
diff --git a/src/main/java/org/apache/sanselan/formats/jpeg/segments/App2Segment.java b/src/main/java/org/apache/commons/sanselan/formats/jpeg/segments/App2Segment.java
similarity index 93%
rename from src/main/java/org/apache/sanselan/formats/jpeg/segments/App2Segment.java
rename to src/main/java/org/apache/commons/sanselan/formats/jpeg/segments/App2Segment.java
index c48eecc..421a872 100644
--- a/src/main/java/org/apache/sanselan/formats/jpeg/segments/App2Segment.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/jpeg/segments/App2Segment.java
@@ -14,14 +14,14 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.jpeg.segments;
+package org.apache.commons.sanselan.formats.jpeg.segments;
 
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.formats.jpeg.JpegImageParser;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.formats.jpeg.JpegImageParser;
 
 public class App2Segment extends APPNSegment implements Comparable
 {
diff --git a/src/main/java/org/apache/sanselan/formats/jpeg/segments/COMSegment.java b/src/main/java/org/apache/commons/sanselan/formats/jpeg/segments/COMSegment.java
similarity index 94%
rename from src/main/java/org/apache/sanselan/formats/jpeg/segments/COMSegment.java
rename to src/main/java/org/apache/commons/sanselan/formats/jpeg/segments/COMSegment.java
index 95dded6..80c6105 100644
--- a/src/main/java/org/apache/sanselan/formats/jpeg/segments/COMSegment.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/jpeg/segments/COMSegment.java
@@ -14,14 +14,14 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.jpeg.segments;
+package org.apache.commons.sanselan.formats.jpeg.segments;
 
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.UnsupportedEncodingException;
 
-import org.apache.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageReadException;
 
 public class COMSegment extends Segment
 {
diff --git a/src/main/java/org/apache/sanselan/formats/jpeg/segments/DHTSegment.java b/src/main/java/org/apache/commons/sanselan/formats/jpeg/segments/DHTSegment.java
similarity index 97%
rename from src/main/java/org/apache/sanselan/formats/jpeg/segments/DHTSegment.java
rename to src/main/java/org/apache/commons/sanselan/formats/jpeg/segments/DHTSegment.java
index 1f30c9d..7e98aa2 100644
--- a/src/main/java/org/apache/sanselan/formats/jpeg/segments/DHTSegment.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/jpeg/segments/DHTSegment.java
@@ -13,13 +13,14 @@
  *  under the License.
  */
 
-package org.apache.sanselan.formats.jpeg.segments;
+package org.apache.commons.sanselan.formats.jpeg.segments;
 
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.util.ArrayList;
-import org.apache.sanselan.ImageReadException;
+
+import org.apache.commons.sanselan.ImageReadException;
 
 public class DHTSegment extends Segment
 {
diff --git a/src/main/java/org/apache/sanselan/formats/jpeg/segments/DQTSegment.java b/src/main/java/org/apache/commons/sanselan/formats/jpeg/segments/DQTSegment.java
similarity index 96%
rename from src/main/java/org/apache/sanselan/formats/jpeg/segments/DQTSegment.java
rename to src/main/java/org/apache/commons/sanselan/formats/jpeg/segments/DQTSegment.java
index e6e5b3f..eea6e30 100644
--- a/src/main/java/org/apache/sanselan/formats/jpeg/segments/DQTSegment.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/jpeg/segments/DQTSegment.java
@@ -13,13 +13,14 @@
  *  under the License.
  */
 
-package org.apache.sanselan.formats.jpeg.segments;
+package org.apache.commons.sanselan.formats.jpeg.segments;
 
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.util.ArrayList;
-import org.apache.sanselan.ImageReadException;
+
+import org.apache.commons.sanselan.ImageReadException;
 
 public class DQTSegment extends Segment
 {
diff --git a/src/main/java/org/apache/sanselan/formats/jpeg/segments/GenericSegment.java b/src/main/java/org/apache/commons/sanselan/formats/jpeg/segments/GenericSegment.java
similarity index 93%
rename from src/main/java/org/apache/sanselan/formats/jpeg/segments/GenericSegment.java
rename to src/main/java/org/apache/commons/sanselan/formats/jpeg/segments/GenericSegment.java
index fe4185c..20cbd3e 100644
--- a/src/main/java/org/apache/sanselan/formats/jpeg/segments/GenericSegment.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/jpeg/segments/GenericSegment.java
@@ -14,13 +14,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.jpeg.segments;
+package org.apache.commons.sanselan.formats.jpeg.segments;
 
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.PrintWriter;
 
-import org.apache.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageReadException;
 
 public abstract class GenericSegment extends Segment
 {
diff --git a/src/main/java/org/apache/sanselan/formats/jpeg/segments/JFIFSegment.java b/src/main/java/org/apache/commons/sanselan/formats/jpeg/segments/JFIFSegment.java
similarity index 93%
rename from src/main/java/org/apache/sanselan/formats/jpeg/segments/JFIFSegment.java
rename to src/main/java/org/apache/commons/sanselan/formats/jpeg/segments/JFIFSegment.java
index 83f7a35..7a27d05 100644
--- a/src/main/java/org/apache/sanselan/formats/jpeg/segments/JFIFSegment.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/jpeg/segments/JFIFSegment.java
@@ -14,14 +14,14 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.jpeg.segments;
+package org.apache.commons.sanselan.formats.jpeg.segments;
 
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.formats.jpeg.JpegConstants;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.formats.jpeg.JpegConstants;
 
 public class JFIFSegment extends Segment implements JpegConstants
 {
diff --git a/src/main/java/org/apache/sanselan/formats/jpeg/segments/SOFNSegment.java b/src/main/java/org/apache/commons/sanselan/formats/jpeg/segments/SOFNSegment.java
similarity index 95%
rename from src/main/java/org/apache/sanselan/formats/jpeg/segments/SOFNSegment.java
rename to src/main/java/org/apache/commons/sanselan/formats/jpeg/segments/SOFNSegment.java
index b5227fb..b05d8fe 100644
--- a/src/main/java/org/apache/sanselan/formats/jpeg/segments/SOFNSegment.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/jpeg/segments/SOFNSegment.java
@@ -14,14 +14,14 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.jpeg.segments;
+package org.apache.commons.sanselan.formats.jpeg.segments;
 
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.formats.jpeg.JpegImageParser;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.formats.jpeg.JpegImageParser;
 
 public class SOFNSegment extends Segment
 {
diff --git a/src/main/java/org/apache/sanselan/formats/jpeg/segments/SOSSegment.java b/src/main/java/org/apache/commons/sanselan/formats/jpeg/segments/SOSSegment.java
similarity index 97%
rename from src/main/java/org/apache/sanselan/formats/jpeg/segments/SOSSegment.java
rename to src/main/java/org/apache/commons/sanselan/formats/jpeg/segments/SOSSegment.java
index 3b2bfad..b200c25 100644
--- a/src/main/java/org/apache/sanselan/formats/jpeg/segments/SOSSegment.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/jpeg/segments/SOSSegment.java
@@ -14,13 +14,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.jpeg.segments;
+package org.apache.commons.sanselan.formats.jpeg.segments;
 
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 
-import org.apache.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageReadException;
 
 public class SOSSegment extends Segment
 {
diff --git a/src/main/java/org/apache/sanselan/formats/jpeg/segments/Segment.java b/src/main/java/org/apache/commons/sanselan/formats/jpeg/segments/Segment.java
similarity index 97%
rename from src/main/java/org/apache/sanselan/formats/jpeg/segments/Segment.java
rename to src/main/java/org/apache/commons/sanselan/formats/jpeg/segments/Segment.java
index a1a8a7c..3417747 100644
--- a/src/main/java/org/apache/sanselan/formats/jpeg/segments/Segment.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/jpeg/segments/Segment.java
@@ -14,11 +14,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.jpeg.segments;
+package org.apache.commons.sanselan.formats.jpeg.segments;
 
 import java.io.PrintWriter;
 
-import org.apache.sanselan.common.BinaryFileParser;
+import org.apache.commons.sanselan.common.BinaryFileParser;
 
 public abstract class Segment extends BinaryFileParser
 {
diff --git a/src/main/java/org/apache/sanselan/formats/jpeg/segments/UnknownSegment.java b/src/main/java/org/apache/commons/sanselan/formats/jpeg/segments/UnknownSegment.java
similarity index 91%
rename from src/main/java/org/apache/sanselan/formats/jpeg/segments/UnknownSegment.java
rename to src/main/java/org/apache/commons/sanselan/formats/jpeg/segments/UnknownSegment.java
index 76a125c..7e97a60 100644
--- a/src/main/java/org/apache/sanselan/formats/jpeg/segments/UnknownSegment.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/jpeg/segments/UnknownSegment.java
@@ -14,12 +14,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.jpeg.segments;
+package org.apache.commons.sanselan.formats.jpeg.segments;
 
 import java.io.IOException;
 import java.io.InputStream;
 
-import org.apache.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageReadException;
 
 public class UnknownSegment extends GenericSegment
 {
diff --git a/src/main/java/org/apache/sanselan/formats/jpeg/xmp/JpegRewriter.java b/src/main/java/org/apache/commons/sanselan/formats/jpeg/xmp/JpegRewriter.java
similarity index 95%
rename from src/main/java/org/apache/sanselan/formats/jpeg/xmp/JpegRewriter.java
rename to src/main/java/org/apache/commons/sanselan/formats/jpeg/xmp/JpegRewriter.java
index ceb7a1b..9e1715d 100644
--- a/src/main/java/org/apache/sanselan/formats/jpeg/xmp/JpegRewriter.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/jpeg/xmp/JpegRewriter.java
@@ -14,20 +14,20 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.jpeg.xmp;
+package org.apache.commons.sanselan.formats.jpeg.xmp;
 
 import java.io.IOException;
 import java.io.OutputStream;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.common.BinaryFileParser;
-import org.apache.sanselan.common.byteSources.ByteSource;
-import org.apache.sanselan.formats.jpeg.JpegConstants;
-import org.apache.sanselan.formats.jpeg.JpegUtils;
-import org.apache.sanselan.formats.jpeg.iptc.IPTCParser;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.common.BinaryFileParser;
+import org.apache.commons.sanselan.common.byteSources.ByteSource;
+import org.apache.commons.sanselan.formats.jpeg.JpegConstants;
+import org.apache.commons.sanselan.formats.jpeg.JpegUtils;
+import org.apache.commons.sanselan.formats.jpeg.iptc.IPTCParser;
 
 /**
  * Interface for Exif write/update/remove functionality for Jpeg/JFIF images.
@@ -35,7 +35,7 @@
  * <p>
  * See the source of the XmpXmlUpdateExample class for example usage.
  *
- * @see org.apache.sanselan.sampleUsage.WriteXmpXmlExample
+ * @see org.apache.commons.sanselan.sampleUsage.WriteXmpXmlExample
  */
 public class JpegRewriter extends BinaryFileParser implements JpegConstants
 {
diff --git a/src/main/java/org/apache/sanselan/formats/jpeg/xmp/JpegXmpParser.java b/src/main/java/org/apache/commons/sanselan/formats/jpeg/xmp/JpegXmpParser.java
similarity index 90%
rename from src/main/java/org/apache/sanselan/formats/jpeg/xmp/JpegXmpParser.java
rename to src/main/java/org/apache/commons/sanselan/formats/jpeg/xmp/JpegXmpParser.java
index 7c66c49..611ceca 100644
--- a/src/main/java/org/apache/sanselan/formats/jpeg/xmp/JpegXmpParser.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/jpeg/xmp/JpegXmpParser.java
@@ -15,13 +15,13 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.formats.jpeg.xmp;
+package org.apache.commons.sanselan.formats.jpeg.xmp;
 
 import java.io.UnsupportedEncodingException;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.common.BinaryFileParser;
-import org.apache.sanselan.formats.jpeg.JpegConstants;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.common.BinaryFileParser;
+import org.apache.commons.sanselan.formats.jpeg.JpegConstants;
 
 public class JpegXmpParser extends BinaryFileParser implements JpegConstants
 {
diff --git a/src/main/java/org/apache/sanselan/formats/jpeg/xmp/JpegXmpRewriter.java b/src/main/java/org/apache/commons/sanselan/formats/jpeg/xmp/JpegXmpRewriter.java
similarity index 92%
rename from src/main/java/org/apache/sanselan/formats/jpeg/xmp/JpegXmpRewriter.java
rename to src/main/java/org/apache/commons/sanselan/formats/jpeg/xmp/JpegXmpRewriter.java
index 8f652c7..2e92af4 100644
--- a/src/main/java/org/apache/sanselan/formats/jpeg/xmp/JpegXmpRewriter.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/jpeg/xmp/JpegXmpRewriter.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.jpeg.xmp;
+package org.apache.commons.sanselan.formats.jpeg.xmp;
 
 import java.io.ByteArrayOutputStream;
 import java.io.File;
@@ -24,12 +24,12 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.common.byteSources.ByteSource;
-import org.apache.sanselan.common.byteSources.ByteSourceArray;
-import org.apache.sanselan.common.byteSources.ByteSourceFile;
-import org.apache.sanselan.common.byteSources.ByteSourceInputStream;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.common.byteSources.ByteSource;
+import org.apache.commons.sanselan.common.byteSources.ByteSourceArray;
+import org.apache.commons.sanselan.common.byteSources.ByteSourceFile;
+import org.apache.commons.sanselan.common.byteSources.ByteSourceInputStream;
 
 /**
  * Interface for Exif write/update/remove functionality for Jpeg/JFIF images.
@@ -37,7 +37,7 @@
  * <p>
  * See the source of the XmpXmlUpdateExample class for example usage.
  *
- * @see org.apache.sanselan.sampleUsage.WriteXmpXmlExample
+ * @see org.apache.commons.sanselan.sampleUsage.WriteXmpXmlExample
  */
 public class JpegXmpRewriter extends JpegRewriter
 {
diff --git a/src/main/java/org/apache/sanselan/formats/pcx/PcxConstants.java b/src/main/java/org/apache/commons/sanselan/formats/pcx/PcxConstants.java
similarity index 89%
rename from src/main/java/org/apache/sanselan/formats/pcx/PcxConstants.java
rename to src/main/java/org/apache/commons/sanselan/formats/pcx/PcxConstants.java
index 9c445e9..1411605 100644
--- a/src/main/java/org/apache/sanselan/formats/pcx/PcxConstants.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/pcx/PcxConstants.java
@@ -12,9 +12,9 @@
  *  limitations under the License.
  *  under the License.
  */
-package org.apache.sanselan.formats.pcx;
+package org.apache.commons.sanselan.formats.pcx;
 
-import org.apache.sanselan.SanselanConstants;
+import org.apache.commons.sanselan.SanselanConstants;
 
 public interface PcxConstants extends SanselanConstants
 {
diff --git a/src/main/java/org/apache/sanselan/formats/pcx/PcxImageParser.java b/src/main/java/org/apache/commons/sanselan/formats/pcx/PcxImageParser.java
similarity index 97%
rename from src/main/java/org/apache/sanselan/formats/pcx/PcxImageParser.java
rename to src/main/java/org/apache/commons/sanselan/formats/pcx/PcxImageParser.java
index 250ac6a..2ed7268 100644
--- a/src/main/java/org/apache/sanselan/formats/pcx/PcxImageParser.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/pcx/PcxImageParser.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.pcx;
+package org.apache.commons.sanselan.formats.pcx;
 
 import java.awt.Dimension;
 import java.awt.Transparency;
@@ -37,13 +37,13 @@
 import java.util.Map;
 import java.util.Properties;
 
-import org.apache.sanselan.ImageFormat;
-import org.apache.sanselan.ImageInfo;
-import org.apache.sanselan.ImageParser;
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.common.IImageMetadata;
-import org.apache.sanselan.common.byteSources.ByteSource;
+import org.apache.commons.sanselan.ImageFormat;
+import org.apache.commons.sanselan.ImageInfo;
+import org.apache.commons.sanselan.ImageParser;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.common.IImageMetadata;
+import org.apache.commons.sanselan.common.byteSources.ByteSource;
 
 public class PcxImageParser extends ImageParser implements PcxConstants
 {
diff --git a/src/main/java/org/apache/sanselan/formats/pcx/PcxWriter.java b/src/main/java/org/apache/commons/sanselan/formats/pcx/PcxWriter.java
similarity index 97%
rename from src/main/java/org/apache/sanselan/formats/pcx/PcxWriter.java
rename to src/main/java/org/apache/commons/sanselan/formats/pcx/PcxWriter.java
index d4fc35c..9849b88 100644
--- a/src/main/java/org/apache/sanselan/formats/pcx/PcxWriter.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/pcx/PcxWriter.java
@@ -13,7 +13,7 @@
  *  under the License.
  */
 
-package org.apache.sanselan.formats.pcx;
+package org.apache.commons.sanselan.formats.pcx;
 
 import java.awt.image.BufferedImage;
 import java.io.IOException;
@@ -21,10 +21,11 @@
 import java.util.Arrays;
 import java.util.HashMap;
 import java.util.Map;
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.common.BinaryOutputStream;
-import org.apache.sanselan.palette.PaletteFactory;
-import org.apache.sanselan.palette.SimplePalette;
+
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.common.BinaryOutputStream;
+import org.apache.commons.sanselan.palette.PaletteFactory;
+import org.apache.commons.sanselan.palette.SimplePalette;
 
 public class PcxWriter implements PcxConstants
 {
diff --git a/src/main/java/org/apache/sanselan/formats/png/BitParser.java b/src/main/java/org/apache/commons/sanselan/formats/png/BitParser.java
similarity index 95%
rename from src/main/java/org/apache/sanselan/formats/png/BitParser.java
rename to src/main/java/org/apache/commons/sanselan/formats/png/BitParser.java
index 9391151..bb6c11d 100644
--- a/src/main/java/org/apache/sanselan/formats/png/BitParser.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/png/BitParser.java
@@ -14,11 +14,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.png;
+package org.apache.commons.sanselan.formats.png;
 
 import java.io.IOException;
 
-import org.apache.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageReadException;
 
 public class BitParser
 {
diff --git a/src/main/java/org/apache/sanselan/formats/png/GammaCorrection.java b/src/main/java/org/apache/commons/sanselan/formats/png/GammaCorrection.java
similarity index 97%
rename from src/main/java/org/apache/sanselan/formats/png/GammaCorrection.java
rename to src/main/java/org/apache/commons/sanselan/formats/png/GammaCorrection.java
index 7bb365a..bdda858 100644
--- a/src/main/java/org/apache/sanselan/formats/png/GammaCorrection.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/png/GammaCorrection.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.png;
+package org.apache.commons.sanselan.formats.png;
 
 public class GammaCorrection
 {
diff --git a/src/main/java/org/apache/sanselan/formats/png/PngConstants.java b/src/main/java/org/apache/commons/sanselan/formats/png/PngConstants.java
similarity index 98%
rename from src/main/java/org/apache/sanselan/formats/png/PngConstants.java
rename to src/main/java/org/apache/commons/sanselan/formats/png/PngConstants.java
index c4207ab..a5b8952 100644
--- a/src/main/java/org/apache/sanselan/formats/png/PngConstants.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/png/PngConstants.java
@@ -14,9 +14,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.png;
+package org.apache.commons.sanselan.formats.png;
 
-import org.apache.sanselan.SanselanConstants;
+import org.apache.commons.sanselan.SanselanConstants;
 
 public interface PngConstants extends SanselanConstants
 {
diff --git a/src/main/java/org/apache/sanselan/formats/png/PngCrc.java b/src/main/java/org/apache/commons/sanselan/formats/png/PngCrc.java
similarity index 97%
rename from src/main/java/org/apache/sanselan/formats/png/PngCrc.java
rename to src/main/java/org/apache/commons/sanselan/formats/png/PngCrc.java
index 33a8d9d..be43f7c 100644
--- a/src/main/java/org/apache/sanselan/formats/png/PngCrc.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/png/PngCrc.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.png;
+package org.apache.commons.sanselan.formats.png;
 
 // should just use ints, not longs
 public class PngCrc
diff --git a/src/main/java/org/apache/sanselan/formats/png/PngImageInfo.java b/src/main/java/org/apache/commons/sanselan/formats/png/PngImageInfo.java
similarity index 92%
rename from src/main/java/org/apache/sanselan/formats/png/PngImageInfo.java
rename to src/main/java/org/apache/commons/sanselan/formats/png/PngImageInfo.java
index 39c139f..dfe867f 100644
--- a/src/main/java/org/apache/sanselan/formats/png/PngImageInfo.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/png/PngImageInfo.java
@@ -14,13 +14,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.png;
+package org.apache.commons.sanselan.formats.png;
 
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.sanselan.ImageFormat;
-import org.apache.sanselan.ImageInfo;
+import org.apache.commons.sanselan.ImageFormat;
+import org.apache.commons.sanselan.ImageInfo;
 
 public class PngImageInfo extends ImageInfo
 {
diff --git a/src/main/java/org/apache/sanselan/formats/png/PngImageParser.java b/src/main/java/org/apache/commons/sanselan/formats/png/PngImageParser.java
similarity index 94%
rename from src/main/java/org/apache/sanselan/formats/png/PngImageParser.java
rename to src/main/java/org/apache/commons/sanselan/formats/png/PngImageParser.java
index 1b60c2f..dcd529d 100644
--- a/src/main/java/org/apache/sanselan/formats/png/PngImageParser.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/png/PngImageParser.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.png;
+package org.apache.commons.sanselan.formats.png;
 
 import java.awt.Dimension;
 import java.awt.color.ColorSpace;
@@ -34,33 +34,33 @@
 import java.util.Map;
 import java.util.zip.InflaterInputStream;
 
-import org.apache.sanselan.ColorTools;
-import org.apache.sanselan.ImageFormat;
-import org.apache.sanselan.ImageInfo;
-import org.apache.sanselan.ImageParser;
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.common.IImageMetadata;
-import org.apache.sanselan.common.ImageMetadata;
-import org.apache.sanselan.common.byteSources.ByteSource;
-import org.apache.sanselan.formats.png.chunks.PNGChunk;
-import org.apache.sanselan.formats.png.chunks.PNGChunkIDAT;
-import org.apache.sanselan.formats.png.chunks.PNGChunkIHDR;
-import org.apache.sanselan.formats.png.chunks.PNGChunkPLTE;
-import org.apache.sanselan.formats.png.chunks.PNGChunkgAMA;
-import org.apache.sanselan.formats.png.chunks.PNGChunkiCCP;
-import org.apache.sanselan.formats.png.chunks.PNGChunkiTXt;
-import org.apache.sanselan.formats.png.chunks.PNGChunkpHYs;
-import org.apache.sanselan.formats.png.chunks.PNGChunktEXt;
-import org.apache.sanselan.formats.png.chunks.PNGChunkzTXt;
-import org.apache.sanselan.formats.png.chunks.PNGTextChunk;
-import org.apache.sanselan.formats.transparencyfilters.TransparencyFilter;
-import org.apache.sanselan.formats.transparencyfilters.TransparencyFilterGrayscale;
-import org.apache.sanselan.formats.transparencyfilters.TransparencyFilterIndexedColor;
-import org.apache.sanselan.formats.transparencyfilters.TransparencyFilterTrueColor;
-import org.apache.sanselan.icc.IccProfileParser;
-import org.apache.sanselan.util.Debug;
-import org.apache.sanselan.util.ParamMap;
+import org.apache.commons.sanselan.ColorTools;
+import org.apache.commons.sanselan.ImageFormat;
+import org.apache.commons.sanselan.ImageInfo;
+import org.apache.commons.sanselan.ImageParser;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.common.IImageMetadata;
+import org.apache.commons.sanselan.common.ImageMetadata;
+import org.apache.commons.sanselan.common.byteSources.ByteSource;
+import org.apache.commons.sanselan.formats.png.chunks.PNGChunk;
+import org.apache.commons.sanselan.formats.png.chunks.PNGChunkIDAT;
+import org.apache.commons.sanselan.formats.png.chunks.PNGChunkIHDR;
+import org.apache.commons.sanselan.formats.png.chunks.PNGChunkPLTE;
+import org.apache.commons.sanselan.formats.png.chunks.PNGChunkgAMA;
+import org.apache.commons.sanselan.formats.png.chunks.PNGChunkiCCP;
+import org.apache.commons.sanselan.formats.png.chunks.PNGChunkiTXt;
+import org.apache.commons.sanselan.formats.png.chunks.PNGChunkpHYs;
+import org.apache.commons.sanselan.formats.png.chunks.PNGChunktEXt;
+import org.apache.commons.sanselan.formats.png.chunks.PNGChunkzTXt;
+import org.apache.commons.sanselan.formats.png.chunks.PNGTextChunk;
+import org.apache.commons.sanselan.formats.transparencyfilters.TransparencyFilter;
+import org.apache.commons.sanselan.formats.transparencyfilters.TransparencyFilterGrayscale;
+import org.apache.commons.sanselan.formats.transparencyfilters.TransparencyFilterIndexedColor;
+import org.apache.commons.sanselan.formats.transparencyfilters.TransparencyFilterTrueColor;
+import org.apache.commons.sanselan.icc.IccProfileParser;
+import org.apache.commons.sanselan.util.Debug;
+import org.apache.commons.sanselan.util.ParamMap;
 
 public class PngImageParser extends ImageParser implements PngConstants
 {
diff --git a/src/main/java/org/apache/sanselan/formats/png/PngText.java b/src/main/java/org/apache/commons/sanselan/formats/png/PngText.java
similarity index 97%
rename from src/main/java/org/apache/sanselan/formats/png/PngText.java
rename to src/main/java/org/apache/commons/sanselan/formats/png/PngText.java
index 86bdfbd..dbf6f0f 100644
--- a/src/main/java/org/apache/sanselan/formats/png/PngText.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/png/PngText.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.png;
+package org.apache.commons.sanselan.formats.png;
 
 public abstract class PngText
 {
diff --git a/src/main/java/org/apache/sanselan/formats/png/PngWriter.java b/src/main/java/org/apache/commons/sanselan/formats/png/PngWriter.java
similarity index 97%
rename from src/main/java/org/apache/sanselan/formats/png/PngWriter.java
rename to src/main/java/org/apache/commons/sanselan/formats/png/PngWriter.java
index b2a722f..93dd40f 100644
--- a/src/main/java/org/apache/sanselan/formats/png/PngWriter.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/png/PngWriter.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.png;
+package org.apache.commons.sanselan.formats.png;
 
 import java.awt.image.BufferedImage;
 import java.io.ByteArrayOutputStream;
@@ -25,14 +25,14 @@
 import java.util.Map;
 import java.util.zip.DeflaterOutputStream;
 
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.common.ZLibUtils;
-import org.apache.sanselan.palette.MedianCutQuantizer;
-import org.apache.sanselan.palette.Palette;
-import org.apache.sanselan.palette.PaletteFactory;
-import org.apache.sanselan.util.Debug;
-import org.apache.sanselan.util.ParamMap;
-import org.apache.sanselan.util.UnicodeUtils;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.common.ZLibUtils;
+import org.apache.commons.sanselan.palette.MedianCutQuantizer;
+import org.apache.commons.sanselan.palette.Palette;
+import org.apache.commons.sanselan.palette.PaletteFactory;
+import org.apache.commons.sanselan.util.Debug;
+import org.apache.commons.sanselan.util.ParamMap;
+import org.apache.commons.sanselan.util.UnicodeUtils;
 
 public class PngWriter implements PngConstants
 {
diff --git a/src/main/java/org/apache/sanselan/formats/png/ScanExpediter.java b/src/main/java/org/apache/commons/sanselan/formats/png/ScanExpediter.java
similarity index 90%
rename from src/main/java/org/apache/sanselan/formats/png/ScanExpediter.java
rename to src/main/java/org/apache/commons/sanselan/formats/png/ScanExpediter.java
index 2b64d16..8ee02b6 100644
--- a/src/main/java/org/apache/sanselan/formats/png/ScanExpediter.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/png/ScanExpediter.java
@@ -14,22 +14,22 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.png;
+package org.apache.commons.sanselan.formats.png;
 
 import java.awt.image.BufferedImage;
 import java.io.IOException;
 import java.io.InputStream;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.common.BinaryFileParser;
-import org.apache.sanselan.formats.png.chunks.PNGChunkPLTE;
-import org.apache.sanselan.formats.png.scanlinefilters.ScanlineFilter;
-import org.apache.sanselan.formats.png.scanlinefilters.ScanlineFilterAverage;
-import org.apache.sanselan.formats.png.scanlinefilters.ScanlineFilterNone;
-import org.apache.sanselan.formats.png.scanlinefilters.ScanlineFilterPaeth;
-import org.apache.sanselan.formats.png.scanlinefilters.ScanlineFilterSub;
-import org.apache.sanselan.formats.png.scanlinefilters.ScanlineFilterUp;
-import org.apache.sanselan.formats.transparencyfilters.TransparencyFilter;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.common.BinaryFileParser;
+import org.apache.commons.sanselan.formats.png.chunks.PNGChunkPLTE;
+import org.apache.commons.sanselan.formats.png.scanlinefilters.ScanlineFilter;
+import org.apache.commons.sanselan.formats.png.scanlinefilters.ScanlineFilterAverage;
+import org.apache.commons.sanselan.formats.png.scanlinefilters.ScanlineFilterNone;
+import org.apache.commons.sanselan.formats.png.scanlinefilters.ScanlineFilterPaeth;
+import org.apache.commons.sanselan.formats.png.scanlinefilters.ScanlineFilterSub;
+import org.apache.commons.sanselan.formats.png.scanlinefilters.ScanlineFilterUp;
+import org.apache.commons.sanselan.formats.transparencyfilters.TransparencyFilter;
 
 public abstract class ScanExpediter extends BinaryFileParser
 {
diff --git a/src/main/java/org/apache/sanselan/formats/png/ScanExpediterInterlaced.java b/src/main/java/org/apache/commons/sanselan/formats/png/ScanExpediterInterlaced.java
similarity index 94%
rename from src/main/java/org/apache/sanselan/formats/png/ScanExpediterInterlaced.java
rename to src/main/java/org/apache/commons/sanselan/formats/png/ScanExpediterInterlaced.java
index 2dc44ca..0f07ed0 100644
--- a/src/main/java/org/apache/sanselan/formats/png/ScanExpediterInterlaced.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/png/ScanExpediterInterlaced.java
@@ -14,15 +14,15 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.png;
+package org.apache.commons.sanselan.formats.png;
 
 import java.awt.image.BufferedImage;
 import java.io.IOException;
 import java.io.InputStream;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.formats.png.chunks.PNGChunkPLTE;
-import org.apache.sanselan.formats.transparencyfilters.TransparencyFilter;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.formats.png.chunks.PNGChunkPLTE;
+import org.apache.commons.sanselan.formats.transparencyfilters.TransparencyFilter;
 
 public class ScanExpediterInterlaced extends ScanExpediter
 {
diff --git a/src/main/java/org/apache/sanselan/formats/png/ScanExpediterSimple.java b/src/main/java/org/apache/commons/sanselan/formats/png/ScanExpediterSimple.java
similarity index 88%
rename from src/main/java/org/apache/sanselan/formats/png/ScanExpediterSimple.java
rename to src/main/java/org/apache/commons/sanselan/formats/png/ScanExpediterSimple.java
index 7f8db9a..7b64ad2 100644
--- a/src/main/java/org/apache/sanselan/formats/png/ScanExpediterSimple.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/png/ScanExpediterSimple.java
@@ -14,15 +14,15 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.png;
+package org.apache.commons.sanselan.formats.png;
 
 import java.awt.image.BufferedImage;
 import java.io.IOException;
 import java.io.InputStream;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.formats.png.chunks.PNGChunkPLTE;
-import org.apache.sanselan.formats.transparencyfilters.TransparencyFilter;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.formats.png.chunks.PNGChunkPLTE;
+import org.apache.commons.sanselan.formats.transparencyfilters.TransparencyFilter;
 
 public class ScanExpediterSimple extends ScanExpediter
 {
diff --git a/src/main/java/org/apache/sanselan/formats/png/chunks/PNGChunk.java b/src/main/java/org/apache/commons/sanselan/formats/png/chunks/PNGChunk.java
similarity index 94%
rename from src/main/java/org/apache/sanselan/formats/png/chunks/PNGChunk.java
rename to src/main/java/org/apache/commons/sanselan/formats/png/chunks/PNGChunk.java
index ca62ea1..edb32a6 100644
--- a/src/main/java/org/apache/sanselan/formats/png/chunks/PNGChunk.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/png/chunks/PNGChunk.java
@@ -14,11 +14,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.png.chunks;
+package org.apache.commons.sanselan.formats.png.chunks;
 
 import java.io.ByteArrayInputStream;
 
-import org.apache.sanselan.common.BinaryFileParser;
+import org.apache.commons.sanselan.common.BinaryFileParser;
 
 public class PNGChunk extends BinaryFileParser
 {
diff --git a/src/main/java/org/apache/sanselan/formats/png/chunks/PNGChunkIDAT.java b/src/main/java/org/apache/commons/sanselan/formats/png/chunks/PNGChunkIDAT.java
similarity index 94%
rename from src/main/java/org/apache/sanselan/formats/png/chunks/PNGChunkIDAT.java
rename to src/main/java/org/apache/commons/sanselan/formats/png/chunks/PNGChunkIDAT.java
index 00ffeb6..f56a64d 100644
--- a/src/main/java/org/apache/sanselan/formats/png/chunks/PNGChunkIDAT.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/png/chunks/PNGChunkIDAT.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.png.chunks;
+package org.apache.commons.sanselan.formats.png.chunks;
 
 import java.io.IOException;
 
diff --git a/src/main/java/org/apache/sanselan/formats/png/chunks/PNGChunkIHDR.java b/src/main/java/org/apache/commons/sanselan/formats/png/chunks/PNGChunkIHDR.java
similarity index 94%
rename from src/main/java/org/apache/sanselan/formats/png/chunks/PNGChunkIHDR.java
rename to src/main/java/org/apache/commons/sanselan/formats/png/chunks/PNGChunkIHDR.java
index 890ad47..5e7ef07 100644
--- a/src/main/java/org/apache/sanselan/formats/png/chunks/PNGChunkIHDR.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/png/chunks/PNGChunkIHDR.java
@@ -14,12 +14,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.png.chunks;
+package org.apache.commons.sanselan.formats.png.chunks;
 
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 
-import org.apache.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageReadException;
 
 public class PNGChunkIHDR extends PNGChunk
 {
diff --git a/src/main/java/org/apache/sanselan/formats/png/chunks/PNGChunkPLTE.java b/src/main/java/org/apache/commons/sanselan/formats/png/chunks/PNGChunkPLTE.java
similarity index 93%
rename from src/main/java/org/apache/sanselan/formats/png/chunks/PNGChunkPLTE.java
rename to src/main/java/org/apache/commons/sanselan/formats/png/chunks/PNGChunkPLTE.java
index deaa511..58288a1 100644
--- a/src/main/java/org/apache/sanselan/formats/png/chunks/PNGChunkPLTE.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/png/chunks/PNGChunkPLTE.java
@@ -14,13 +14,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.png.chunks;
+package org.apache.commons.sanselan.formats.png.chunks;
 
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.formats.png.GammaCorrection;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.formats.png.GammaCorrection;
 
 public class PNGChunkPLTE extends PNGChunk
 {
diff --git a/src/main/java/org/apache/sanselan/formats/png/chunks/PNGChunkgAMA.java b/src/main/java/org/apache/commons/sanselan/formats/png/chunks/PNGChunkgAMA.java
similarity index 92%
rename from src/main/java/org/apache/sanselan/formats/png/chunks/PNGChunkgAMA.java
rename to src/main/java/org/apache/commons/sanselan/formats/png/chunks/PNGChunkgAMA.java
index d83c765..f24e4dc 100644
--- a/src/main/java/org/apache/sanselan/formats/png/chunks/PNGChunkgAMA.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/png/chunks/PNGChunkgAMA.java
@@ -14,12 +14,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.png.chunks;
+package org.apache.commons.sanselan.formats.png.chunks;
 
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 
-import org.apache.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageReadException;
 
 public class PNGChunkgAMA extends PNGChunk
 {
diff --git a/src/main/java/org/apache/sanselan/formats/png/chunks/PNGChunkiCCP.java b/src/main/java/org/apache/commons/sanselan/formats/png/chunks/PNGChunkiCCP.java
similarity index 94%
rename from src/main/java/org/apache/sanselan/formats/png/chunks/PNGChunkiCCP.java
rename to src/main/java/org/apache/commons/sanselan/formats/png/chunks/PNGChunkiCCP.java
index 1433e91..09c5d4b 100644
--- a/src/main/java/org/apache/sanselan/formats/png/chunks/PNGChunkiCCP.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/png/chunks/PNGChunkiCCP.java
@@ -14,12 +14,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.png.chunks;
+package org.apache.commons.sanselan.formats.png.chunks;
 
 import java.io.IOException;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.common.ZLibUtils;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.common.ZLibUtils;
 
 public class PNGChunkiCCP extends PNGChunk
 {
diff --git a/src/main/java/org/apache/sanselan/formats/png/chunks/PNGChunkiTXt.java b/src/main/java/org/apache/commons/sanselan/formats/png/chunks/PNGChunkiTXt.java
similarity index 93%
rename from src/main/java/org/apache/sanselan/formats/png/chunks/PNGChunkiTXt.java
rename to src/main/java/org/apache/commons/sanselan/formats/png/chunks/PNGChunkiTXt.java
index d98807e..f445cef 100644
--- a/src/main/java/org/apache/sanselan/formats/png/chunks/PNGChunkiTXt.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/png/chunks/PNGChunkiTXt.java
@@ -14,14 +14,14 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.png.chunks;
+package org.apache.commons.sanselan.formats.png.chunks;
 
 import java.io.IOException;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.common.ZLibUtils;
-import org.apache.sanselan.formats.png.PngConstants;
-import org.apache.sanselan.formats.png.PngText;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.common.ZLibUtils;
+import org.apache.commons.sanselan.formats.png.PngConstants;
+import org.apache.commons.sanselan.formats.png.PngText;
 
 public class PNGChunkiTXt extends PNGTextChunk
 {
diff --git a/src/main/java/org/apache/sanselan/formats/png/chunks/PNGChunkpHYs.java b/src/main/java/org/apache/commons/sanselan/formats/png/chunks/PNGChunkpHYs.java
similarity index 93%
rename from src/main/java/org/apache/sanselan/formats/png/chunks/PNGChunkpHYs.java
rename to src/main/java/org/apache/commons/sanselan/formats/png/chunks/PNGChunkpHYs.java
index 373f404..5cb7b56 100644
--- a/src/main/java/org/apache/sanselan/formats/png/chunks/PNGChunkpHYs.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/png/chunks/PNGChunkpHYs.java
@@ -14,12 +14,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.png.chunks;
+package org.apache.commons.sanselan.formats.png.chunks;
 
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 
-import org.apache.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageReadException;
 
 public class PNGChunkpHYs extends PNGChunk
 {
diff --git a/src/main/java/org/apache/sanselan/formats/png/chunks/PNGChunktEXt.java b/src/main/java/org/apache/commons/sanselan/formats/png/chunks/PNGChunktEXt.java
similarity index 92%
rename from src/main/java/org/apache/sanselan/formats/png/chunks/PNGChunktEXt.java
rename to src/main/java/org/apache/commons/sanselan/formats/png/chunks/PNGChunktEXt.java
index 2bc7062..89975c6 100644
--- a/src/main/java/org/apache/sanselan/formats/png/chunks/PNGChunktEXt.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/png/chunks/PNGChunktEXt.java
@@ -14,12 +14,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.png.chunks;
+package org.apache.commons.sanselan.formats.png.chunks;
 
 import java.io.IOException;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.formats.png.PngText;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.formats.png.PngText;
 
 public class PNGChunktEXt extends PNGTextChunk
 {
diff --git a/src/main/java/org/apache/sanselan/formats/png/chunks/PNGChunkzTXt.java b/src/main/java/org/apache/commons/sanselan/formats/png/chunks/PNGChunkzTXt.java
similarity index 89%
rename from src/main/java/org/apache/sanselan/formats/png/chunks/PNGChunkzTXt.java
rename to src/main/java/org/apache/commons/sanselan/formats/png/chunks/PNGChunkzTXt.java
index e33edd3..38d2597 100644
--- a/src/main/java/org/apache/sanselan/formats/png/chunks/PNGChunkzTXt.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/png/chunks/PNGChunkzTXt.java
@@ -14,14 +14,14 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.png.chunks;
+package org.apache.commons.sanselan.formats.png.chunks;
 
 import java.io.IOException;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.common.ZLibUtils;
-import org.apache.sanselan.formats.png.PngConstants;
-import org.apache.sanselan.formats.png.PngText;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.common.ZLibUtils;
+import org.apache.commons.sanselan.formats.png.PngConstants;
+import org.apache.commons.sanselan.formats.png.PngText;
 
 public class PNGChunkzTXt extends PNGTextChunk
 {
diff --git a/src/main/java/org/apache/sanselan/formats/png/chunks/PNGTextChunk.java b/src/main/java/org/apache/commons/sanselan/formats/png/chunks/PNGTextChunk.java
similarity index 91%
rename from src/main/java/org/apache/sanselan/formats/png/chunks/PNGTextChunk.java
rename to src/main/java/org/apache/commons/sanselan/formats/png/chunks/PNGTextChunk.java
index a1d3048..d9e7ebd 100644
--- a/src/main/java/org/apache/sanselan/formats/png/chunks/PNGTextChunk.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/png/chunks/PNGTextChunk.java
@@ -14,11 +14,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.png.chunks;
+package org.apache.commons.sanselan.formats.png.chunks;
 
 import java.io.IOException;
 
-import org.apache.sanselan.formats.png.PngText;
+import org.apache.commons.sanselan.formats.png.PngText;
 
 public abstract class PNGTextChunk extends PNGChunk
 {
diff --git a/src/main/java/org/apache/sanselan/formats/png/scanlinefilters/ScanlineFilter.java b/src/main/java/org/apache/commons/sanselan/formats/png/scanlinefilters/ScanlineFilter.java
similarity index 89%
rename from src/main/java/org/apache/sanselan/formats/png/scanlinefilters/ScanlineFilter.java
rename to src/main/java/org/apache/commons/sanselan/formats/png/scanlinefilters/ScanlineFilter.java
index 78ec46e..2c7ea91 100644
--- a/src/main/java/org/apache/sanselan/formats/png/scanlinefilters/ScanlineFilter.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/png/scanlinefilters/ScanlineFilter.java
@@ -14,11 +14,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.png.scanlinefilters;
+package org.apache.commons.sanselan.formats.png.scanlinefilters;
 
 import java.io.IOException;
 
-import org.apache.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageReadException;
 
 public abstract class ScanlineFilter
 {
diff --git a/src/main/java/org/apache/sanselan/formats/png/scanlinefilters/ScanlineFilterAverage.java b/src/main/java/org/apache/commons/sanselan/formats/png/scanlinefilters/ScanlineFilterAverage.java
similarity index 93%
rename from src/main/java/org/apache/sanselan/formats/png/scanlinefilters/ScanlineFilterAverage.java
rename to src/main/java/org/apache/commons/sanselan/formats/png/scanlinefilters/ScanlineFilterAverage.java
index d3a9130..389ca45 100644
--- a/src/main/java/org/apache/sanselan/formats/png/scanlinefilters/ScanlineFilterAverage.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/png/scanlinefilters/ScanlineFilterAverage.java
@@ -14,11 +14,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.png.scanlinefilters;
+package org.apache.commons.sanselan.formats.png.scanlinefilters;
 
 import java.io.IOException;
 
-import org.apache.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageReadException;
 
 public class ScanlineFilterAverage extends ScanlineFilter
 {
diff --git a/src/main/java/org/apache/sanselan/formats/png/scanlinefilters/ScanlineFilterNone.java b/src/main/java/org/apache/commons/sanselan/formats/png/scanlinefilters/ScanlineFilterNone.java
similarity index 90%
rename from src/main/java/org/apache/sanselan/formats/png/scanlinefilters/ScanlineFilterNone.java
rename to src/main/java/org/apache/commons/sanselan/formats/png/scanlinefilters/ScanlineFilterNone.java
index cfa58d0..dfe173b 100644
--- a/src/main/java/org/apache/sanselan/formats/png/scanlinefilters/ScanlineFilterNone.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/png/scanlinefilters/ScanlineFilterNone.java
@@ -14,11 +14,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.png.scanlinefilters;
+package org.apache.commons.sanselan.formats.png.scanlinefilters;
 
 import java.io.IOException;
 
-import org.apache.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageReadException;
 
 public class ScanlineFilterNone extends ScanlineFilter
 {
diff --git a/src/main/java/org/apache/sanselan/formats/png/scanlinefilters/ScanlineFilterPaeth.java b/src/main/java/org/apache/commons/sanselan/formats/png/scanlinefilters/ScanlineFilterPaeth.java
similarity index 95%
rename from src/main/java/org/apache/sanselan/formats/png/scanlinefilters/ScanlineFilterPaeth.java
rename to src/main/java/org/apache/commons/sanselan/formats/png/scanlinefilters/ScanlineFilterPaeth.java
index c1578b0..199574e 100644
--- a/src/main/java/org/apache/sanselan/formats/png/scanlinefilters/ScanlineFilterPaeth.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/png/scanlinefilters/ScanlineFilterPaeth.java
@@ -14,11 +14,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.png.scanlinefilters;
+package org.apache.commons.sanselan.formats.png.scanlinefilters;
 
 import java.io.IOException;
 
-import org.apache.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageReadException;
 
 public class ScanlineFilterPaeth extends ScanlineFilter
 {
diff --git a/src/main/java/org/apache/sanselan/formats/png/scanlinefilters/ScanlineFilterSub.java b/src/main/java/org/apache/commons/sanselan/formats/png/scanlinefilters/ScanlineFilterSub.java
similarity index 93%
rename from src/main/java/org/apache/sanselan/formats/png/scanlinefilters/ScanlineFilterSub.java
rename to src/main/java/org/apache/commons/sanselan/formats/png/scanlinefilters/ScanlineFilterSub.java
index 88e7a0d..be49dad 100644
--- a/src/main/java/org/apache/sanselan/formats/png/scanlinefilters/ScanlineFilterSub.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/png/scanlinefilters/ScanlineFilterSub.java
@@ -14,11 +14,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.png.scanlinefilters;
+package org.apache.commons.sanselan.formats.png.scanlinefilters;
 
 import java.io.IOException;
 
-import org.apache.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageReadException;
 
 public class ScanlineFilterSub extends ScanlineFilter
 {
diff --git a/src/main/java/org/apache/sanselan/formats/png/scanlinefilters/ScanlineFilterUp.java b/src/main/java/org/apache/commons/sanselan/formats/png/scanlinefilters/ScanlineFilterUp.java
similarity index 93%
rename from src/main/java/org/apache/sanselan/formats/png/scanlinefilters/ScanlineFilterUp.java
rename to src/main/java/org/apache/commons/sanselan/formats/png/scanlinefilters/ScanlineFilterUp.java
index 53d4272..7381742 100644
--- a/src/main/java/org/apache/sanselan/formats/png/scanlinefilters/ScanlineFilterUp.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/png/scanlinefilters/ScanlineFilterUp.java
@@ -14,11 +14,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.png.scanlinefilters;
+package org.apache.commons.sanselan.formats.png.scanlinefilters;
 
 import java.io.IOException;
 
-import org.apache.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageReadException;
 
 public class ScanlineFilterUp extends ScanlineFilter
 {
diff --git a/src/main/java/org/apache/sanselan/formats/pnm/FileInfo.java b/src/main/java/org/apache/commons/sanselan/formats/pnm/FileInfo.java
similarity index 96%
rename from src/main/java/org/apache/sanselan/formats/pnm/FileInfo.java
rename to src/main/java/org/apache/commons/sanselan/formats/pnm/FileInfo.java
index 830f846..d20eaaf 100644
--- a/src/main/java/org/apache/sanselan/formats/pnm/FileInfo.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/pnm/FileInfo.java
@@ -14,14 +14,14 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.pnm;
+package org.apache.commons.sanselan.formats.pnm;
 
 import java.awt.image.BufferedImage;
 import java.awt.image.DataBuffer;
 import java.io.IOException;
 import java.io.InputStream;
 
-import org.apache.sanselan.ImageFormat;
+import org.apache.commons.sanselan.ImageFormat;
 
 public abstract class FileInfo
 {
diff --git a/src/main/java/org/apache/sanselan/formats/pnm/PBMFileInfo.java b/src/main/java/org/apache/commons/sanselan/formats/pnm/PBMFileInfo.java
similarity index 94%
rename from src/main/java/org/apache/sanselan/formats/pnm/PBMFileInfo.java
rename to src/main/java/org/apache/commons/sanselan/formats/pnm/PBMFileInfo.java
index a167dbf..7ef7d73 100644
--- a/src/main/java/org/apache/sanselan/formats/pnm/PBMFileInfo.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/pnm/PBMFileInfo.java
@@ -14,13 +14,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.pnm;
+package org.apache.commons.sanselan.formats.pnm;
 
 import java.io.IOException;
 import java.io.InputStream;
 
-import org.apache.sanselan.ImageFormat;
-import org.apache.sanselan.ImageInfo;
+import org.apache.commons.sanselan.ImageFormat;
+import org.apache.commons.sanselan.ImageInfo;
 
 public class PBMFileInfo extends FileInfo
 {
diff --git a/src/main/java/org/apache/sanselan/formats/pnm/PBMWriter.java b/src/main/java/org/apache/commons/sanselan/formats/pnm/PBMWriter.java
similarity index 96%
rename from src/main/java/org/apache/sanselan/formats/pnm/PBMWriter.java
rename to src/main/java/org/apache/commons/sanselan/formats/pnm/PBMWriter.java
index 76503eb..151ae0e 100644
--- a/src/main/java/org/apache/sanselan/formats/pnm/PBMWriter.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/pnm/PBMWriter.java
@@ -14,14 +14,14 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.pnm;
+package org.apache.commons.sanselan.formats.pnm;
 
 import java.awt.image.BufferedImage;
 import java.io.IOException;
 import java.io.OutputStream;
 import java.util.Map;
 
-import org.apache.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.ImageWriteException;
 
 public class PBMWriter extends PNMWriter implements PNMConstants
 {
diff --git a/src/main/java/org/apache/sanselan/formats/pnm/PGMFileInfo.java b/src/main/java/org/apache/commons/sanselan/formats/pnm/PGMFileInfo.java
similarity index 93%
rename from src/main/java/org/apache/sanselan/formats/pnm/PGMFileInfo.java
rename to src/main/java/org/apache/commons/sanselan/formats/pnm/PGMFileInfo.java
index 383e46f..fbe1a36 100644
--- a/src/main/java/org/apache/sanselan/formats/pnm/PGMFileInfo.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/pnm/PGMFileInfo.java
@@ -14,13 +14,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.pnm;
+package org.apache.commons.sanselan.formats.pnm;
 
 import java.io.IOException;
 import java.io.InputStream;
 
-import org.apache.sanselan.ImageFormat;
-import org.apache.sanselan.ImageInfo;
+import org.apache.commons.sanselan.ImageFormat;
+import org.apache.commons.sanselan.ImageInfo;
 
 public class PGMFileInfo extends FileInfo
 {
diff --git a/src/main/java/org/apache/sanselan/formats/pnm/PGMWriter.java b/src/main/java/org/apache/commons/sanselan/formats/pnm/PGMWriter.java
similarity index 95%
rename from src/main/java/org/apache/sanselan/formats/pnm/PGMWriter.java
rename to src/main/java/org/apache/commons/sanselan/formats/pnm/PGMWriter.java
index 84ecc93..b232068 100644
--- a/src/main/java/org/apache/sanselan/formats/pnm/PGMWriter.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/pnm/PGMWriter.java
@@ -14,14 +14,14 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.pnm;
+package org.apache.commons.sanselan.formats.pnm;
 
 import java.awt.image.BufferedImage;
 import java.io.IOException;
 import java.io.OutputStream;
 import java.util.Map;
 
-import org.apache.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.ImageWriteException;
 
 public class PGMWriter extends PNMWriter implements PNMConstants
 {
diff --git a/src/main/java/org/apache/sanselan/formats/pnm/PNMConstants.java b/src/main/java/org/apache/commons/sanselan/formats/pnm/PNMConstants.java
similarity index 96%
rename from src/main/java/org/apache/sanselan/formats/pnm/PNMConstants.java
rename to src/main/java/org/apache/commons/sanselan/formats/pnm/PNMConstants.java
index 9569f90..32fdab8 100644
--- a/src/main/java/org/apache/sanselan/formats/pnm/PNMConstants.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/pnm/PNMConstants.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.pnm;
+package org.apache.commons.sanselan.formats.pnm;
 
 public interface PNMConstants
 {
diff --git a/src/main/java/org/apache/sanselan/formats/pnm/PNMImageParser.java b/src/main/java/org/apache/commons/sanselan/formats/pnm/PNMImageParser.java
similarity index 95%
rename from src/main/java/org/apache/sanselan/formats/pnm/PNMImageParser.java
rename to src/main/java/org/apache/commons/sanselan/formats/pnm/PNMImageParser.java
index fe65338..d10662d 100644
--- a/src/main/java/org/apache/sanselan/formats/pnm/PNMImageParser.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/pnm/PNMImageParser.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.pnm;
+package org.apache.commons.sanselan.formats.pnm;
 
 import java.awt.Dimension;
 import java.awt.image.BufferedImage;
@@ -27,14 +27,14 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import org.apache.sanselan.ImageFormat;
-import org.apache.sanselan.ImageInfo;
-import org.apache.sanselan.ImageParser;
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.common.IImageMetadata;
-import org.apache.sanselan.common.byteSources.ByteSource;
-import org.apache.sanselan.util.Debug;
+import org.apache.commons.sanselan.ImageFormat;
+import org.apache.commons.sanselan.ImageInfo;
+import org.apache.commons.sanselan.ImageParser;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.common.IImageMetadata;
+import org.apache.commons.sanselan.common.byteSources.ByteSource;
+import org.apache.commons.sanselan.util.Debug;
 
 public class PNMImageParser extends ImageParser implements PNMConstants
 {
diff --git a/src/main/java/org/apache/sanselan/formats/pnm/PNMWriter.java b/src/main/java/org/apache/commons/sanselan/formats/pnm/PNMWriter.java
similarity index 91%
rename from src/main/java/org/apache/sanselan/formats/pnm/PNMWriter.java
rename to src/main/java/org/apache/commons/sanselan/formats/pnm/PNMWriter.java
index ca2ed20..ae86df8 100644
--- a/src/main/java/org/apache/sanselan/formats/pnm/PNMWriter.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/pnm/PNMWriter.java
@@ -14,14 +14,14 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.pnm;
+package org.apache.commons.sanselan.formats.pnm;
 
 import java.awt.image.BufferedImage;
 import java.io.IOException;
 import java.io.OutputStream;
 import java.util.Map;
 
-import org.apache.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.ImageWriteException;
 
 public abstract class PNMWriter
 {
diff --git a/src/main/java/org/apache/sanselan/formats/pnm/PPMFileInfo.java b/src/main/java/org/apache/commons/sanselan/formats/pnm/PPMFileInfo.java
similarity index 94%
rename from src/main/java/org/apache/sanselan/formats/pnm/PPMFileInfo.java
rename to src/main/java/org/apache/commons/sanselan/formats/pnm/PPMFileInfo.java
index f6dd892..385315c 100644
--- a/src/main/java/org/apache/sanselan/formats/pnm/PPMFileInfo.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/pnm/PPMFileInfo.java
@@ -14,13 +14,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.pnm;
+package org.apache.commons.sanselan.formats.pnm;
 
 import java.io.IOException;
 import java.io.InputStream;
 
-import org.apache.sanselan.ImageFormat;
-import org.apache.sanselan.ImageInfo;
+import org.apache.commons.sanselan.ImageFormat;
+import org.apache.commons.sanselan.ImageInfo;
 
 public class PPMFileInfo extends FileInfo
 {
diff --git a/src/main/java/org/apache/sanselan/formats/pnm/PPMWriter.java b/src/main/java/org/apache/commons/sanselan/formats/pnm/PPMWriter.java
similarity index 95%
rename from src/main/java/org/apache/sanselan/formats/pnm/PPMWriter.java
rename to src/main/java/org/apache/commons/sanselan/formats/pnm/PPMWriter.java
index d756406..4b90e46 100644
--- a/src/main/java/org/apache/sanselan/formats/pnm/PPMWriter.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/pnm/PPMWriter.java
@@ -14,14 +14,14 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.pnm;
+package org.apache.commons.sanselan.formats.pnm;
 
 import java.awt.image.BufferedImage;
 import java.io.IOException;
 import java.io.OutputStream;
 import java.util.Map;
 
-import org.apache.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.ImageWriteException;
 
 public class PPMWriter extends PNMWriter implements PNMConstants
 {
diff --git a/src/main/java/org/apache/sanselan/formats/pnm/WhiteSpaceReader.java b/src/main/java/org/apache/commons/sanselan/formats/pnm/WhiteSpaceReader.java
similarity index 97%
rename from src/main/java/org/apache/sanselan/formats/pnm/WhiteSpaceReader.java
rename to src/main/java/org/apache/commons/sanselan/formats/pnm/WhiteSpaceReader.java
index 5978b5c..7d6aa75 100644
--- a/src/main/java/org/apache/sanselan/formats/pnm/WhiteSpaceReader.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/pnm/WhiteSpaceReader.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.pnm;
+package org.apache.commons.sanselan.formats.pnm;
 
 import java.io.IOException;
 import java.io.InputStream;
diff --git a/src/main/java/org/apache/sanselan/formats/psd/ImageContents.java b/src/main/java/org/apache/commons/sanselan/formats/psd/ImageContents.java
similarity index 97%
rename from src/main/java/org/apache/sanselan/formats/psd/ImageContents.java
rename to src/main/java/org/apache/commons/sanselan/formats/psd/ImageContents.java
index cfbb59a..167d217 100644
--- a/src/main/java/org/apache/sanselan/formats/psd/ImageContents.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/psd/ImageContents.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.psd;
+package org.apache.commons.sanselan.formats.psd;
 
 import java.io.PrintWriter;
 
diff --git a/src/main/java/org/apache/sanselan/formats/psd/ImageResourceBlock.java b/src/main/java/org/apache/commons/sanselan/formats/psd/ImageResourceBlock.java
similarity index 92%
rename from src/main/java/org/apache/sanselan/formats/psd/ImageResourceBlock.java
rename to src/main/java/org/apache/commons/sanselan/formats/psd/ImageResourceBlock.java
index 7b7ec54..3b7b2bd 100644
--- a/src/main/java/org/apache/sanselan/formats/psd/ImageResourceBlock.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/psd/ImageResourceBlock.java
@@ -14,11 +14,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.psd;
+package org.apache.commons.sanselan.formats.psd;
 
 import java.io.UnsupportedEncodingException;
 
-import org.apache.sanselan.util.Debug;
+import org.apache.commons.sanselan.util.Debug;
 
 class ImageResourceBlock
 {
diff --git a/src/main/java/org/apache/sanselan/formats/psd/ImageResourceType.java b/src/main/java/org/apache/commons/sanselan/formats/psd/ImageResourceType.java
similarity index 92%
rename from src/main/java/org/apache/sanselan/formats/psd/ImageResourceType.java
rename to src/main/java/org/apache/commons/sanselan/formats/psd/ImageResourceType.java
index c2226de..09fe49e 100644
--- a/src/main/java/org/apache/sanselan/formats/psd/ImageResourceType.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/psd/ImageResourceType.java
@@ -14,11 +14,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.psd;
+package org.apache.commons.sanselan.formats.psd;
 
 import java.io.IOException;
 
-import org.apache.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageReadException;
 
 public class ImageResourceType
 {
diff --git a/src/main/java/org/apache/sanselan/formats/psd/PSDConstants.java b/src/main/java/org/apache/commons/sanselan/formats/psd/PSDConstants.java
similarity index 98%
rename from src/main/java/org/apache/sanselan/formats/psd/PSDConstants.java
rename to src/main/java/org/apache/commons/sanselan/formats/psd/PSDConstants.java
index 19f5689..985ec71 100644
--- a/src/main/java/org/apache/sanselan/formats/psd/PSDConstants.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/psd/PSDConstants.java
@@ -14,9 +14,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.psd;
+package org.apache.commons.sanselan.formats.psd;
 
-import org.apache.sanselan.util.Debug;
+import org.apache.commons.sanselan.util.Debug;
 
 public class PSDConstants
 {
diff --git a/src/main/java/org/apache/sanselan/formats/psd/PSDHeaderInfo.java b/src/main/java/org/apache/commons/sanselan/formats/psd/PSDHeaderInfo.java
similarity index 97%
rename from src/main/java/org/apache/sanselan/formats/psd/PSDHeaderInfo.java
rename to src/main/java/org/apache/commons/sanselan/formats/psd/PSDHeaderInfo.java
index d3beef5..72d96fd 100644
--- a/src/main/java/org/apache/sanselan/formats/psd/PSDHeaderInfo.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/psd/PSDHeaderInfo.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.psd;
+package org.apache.commons.sanselan.formats.psd;
 
 import java.io.PrintWriter;
 
diff --git a/src/main/java/org/apache/sanselan/formats/psd/PsdImageParser.java b/src/main/java/org/apache/commons/sanselan/formats/psd/PsdImageParser.java
similarity index 95%
rename from src/main/java/org/apache/sanselan/formats/psd/PsdImageParser.java
rename to src/main/java/org/apache/commons/sanselan/formats/psd/PsdImageParser.java
index 7339c3a..a7bab18 100644
--- a/src/main/java/org/apache/sanselan/formats/psd/PsdImageParser.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/psd/PsdImageParser.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.psd;
+package org.apache.commons.sanselan.formats.psd;
 
 import java.awt.Dimension;
 import java.awt.image.BufferedImage;
@@ -28,23 +28,23 @@
 import java.util.List;
 import java.util.Map;
 
-import org.apache.sanselan.ImageFormat;
-import org.apache.sanselan.ImageInfo;
-import org.apache.sanselan.ImageParser;
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.common.IImageMetadata;
-import org.apache.sanselan.common.byteSources.ByteSource;
-import org.apache.sanselan.formats.psd.dataparsers.DataParser;
-import org.apache.sanselan.formats.psd.dataparsers.DataParserBitmap;
-import org.apache.sanselan.formats.psd.dataparsers.DataParserCMYK;
-import org.apache.sanselan.formats.psd.dataparsers.DataParserGrayscale;
-import org.apache.sanselan.formats.psd.dataparsers.DataParserIndexed;
-import org.apache.sanselan.formats.psd.dataparsers.DataParserLab;
-import org.apache.sanselan.formats.psd.dataparsers.DataParserRGB;
-import org.apache.sanselan.formats.psd.datareaders.CompressedDataReader;
-import org.apache.sanselan.formats.psd.datareaders.DataReader;
-import org.apache.sanselan.formats.psd.datareaders.UncompressedDataReader;
-import org.apache.sanselan.util.Debug;
+import org.apache.commons.sanselan.ImageFormat;
+import org.apache.commons.sanselan.ImageInfo;
+import org.apache.commons.sanselan.ImageParser;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.common.IImageMetadata;
+import org.apache.commons.sanselan.common.byteSources.ByteSource;
+import org.apache.commons.sanselan.formats.psd.dataparsers.DataParser;
+import org.apache.commons.sanselan.formats.psd.dataparsers.DataParserBitmap;
+import org.apache.commons.sanselan.formats.psd.dataparsers.DataParserCMYK;
+import org.apache.commons.sanselan.formats.psd.dataparsers.DataParserGrayscale;
+import org.apache.commons.sanselan.formats.psd.dataparsers.DataParserIndexed;
+import org.apache.commons.sanselan.formats.psd.dataparsers.DataParserLab;
+import org.apache.commons.sanselan.formats.psd.dataparsers.DataParserRGB;
+import org.apache.commons.sanselan.formats.psd.datareaders.CompressedDataReader;
+import org.apache.commons.sanselan.formats.psd.datareaders.DataReader;
+import org.apache.commons.sanselan.formats.psd.datareaders.UncompressedDataReader;
+import org.apache.commons.sanselan.util.Debug;
 
 public class PsdImageParser extends ImageParser
 {
diff --git a/src/main/java/org/apache/sanselan/formats/psd/dataparsers/DataParser.java b/src/main/java/org/apache/commons/sanselan/formats/psd/dataparsers/DataParser.java
similarity index 89%
rename from src/main/java/org/apache/sanselan/formats/psd/dataparsers/DataParser.java
rename to src/main/java/org/apache/commons/sanselan/formats/psd/dataparsers/DataParser.java
index 4aba4d4..f6b2c30 100644
--- a/src/main/java/org/apache/sanselan/formats/psd/dataparsers/DataParser.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/psd/dataparsers/DataParser.java
@@ -14,13 +14,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.psd.dataparsers;
+package org.apache.commons.sanselan.formats.psd.dataparsers;
 
 import java.awt.image.BufferedImage;
 import java.awt.image.DataBuffer;
 
-import org.apache.sanselan.formats.psd.ImageContents;
-import org.apache.sanselan.formats.psd.PSDHeaderInfo;
+import org.apache.commons.sanselan.formats.psd.ImageContents;
+import org.apache.commons.sanselan.formats.psd.PSDHeaderInfo;
 
 public abstract class DataParser
 {
diff --git a/src/main/java/org/apache/sanselan/formats/psd/dataparsers/DataParserBitmap.java b/src/main/java/org/apache/commons/sanselan/formats/psd/dataparsers/DataParserBitmap.java
similarity index 91%
rename from src/main/java/org/apache/sanselan/formats/psd/dataparsers/DataParserBitmap.java
rename to src/main/java/org/apache/commons/sanselan/formats/psd/dataparsers/DataParserBitmap.java
index c0cf6e9..8ade2c2 100644
--- a/src/main/java/org/apache/sanselan/formats/psd/dataparsers/DataParserBitmap.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/psd/dataparsers/DataParserBitmap.java
@@ -14,9 +14,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.psd.dataparsers;
+package org.apache.commons.sanselan.formats.psd.dataparsers;
 
-import org.apache.sanselan.formats.psd.ImageContents;
+import org.apache.commons.sanselan.formats.psd.ImageContents;
 
 public class DataParserBitmap extends DataParser
 {
diff --git a/src/main/java/org/apache/sanselan/formats/psd/dataparsers/DataParserCMYK.java b/src/main/java/org/apache/commons/sanselan/formats/psd/dataparsers/DataParserCMYK.java
similarity index 88%
rename from src/main/java/org/apache/sanselan/formats/psd/dataparsers/DataParserCMYK.java
rename to src/main/java/org/apache/commons/sanselan/formats/psd/dataparsers/DataParserCMYK.java
index 90b46a1..7634474 100644
--- a/src/main/java/org/apache/sanselan/formats/psd/dataparsers/DataParserCMYK.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/psd/dataparsers/DataParserCMYK.java
@@ -14,10 +14,10 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.psd.dataparsers;
+package org.apache.commons.sanselan.formats.psd.dataparsers;
 
-import org.apache.sanselan.color.ColorConversions;
-import org.apache.sanselan.formats.psd.ImageContents;
+import org.apache.commons.sanselan.color.ColorConversions;
+import org.apache.commons.sanselan.formats.psd.ImageContents;
 
 public class DataParserCMYK extends DataParser
 {
diff --git a/src/main/java/org/apache/sanselan/formats/psd/dataparsers/DataParserGrayscale.java b/src/main/java/org/apache/commons/sanselan/formats/psd/dataparsers/DataParserGrayscale.java
similarity index 90%
rename from src/main/java/org/apache/sanselan/formats/psd/dataparsers/DataParserGrayscale.java
rename to src/main/java/org/apache/commons/sanselan/formats/psd/dataparsers/DataParserGrayscale.java
index 05b4227..60b5955 100644
--- a/src/main/java/org/apache/sanselan/formats/psd/dataparsers/DataParserGrayscale.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/psd/dataparsers/DataParserGrayscale.java
@@ -14,9 +14,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.psd.dataparsers;
+package org.apache.commons.sanselan.formats.psd.dataparsers;
 
-import org.apache.sanselan.formats.psd.ImageContents;
+import org.apache.commons.sanselan.formats.psd.ImageContents;
 
 public class DataParserGrayscale extends DataParser
 {
diff --git a/src/main/java/org/apache/sanselan/formats/psd/dataparsers/DataParserIndexed.java b/src/main/java/org/apache/commons/sanselan/formats/psd/dataparsers/DataParserIndexed.java
similarity index 93%
rename from src/main/java/org/apache/sanselan/formats/psd/dataparsers/DataParserIndexed.java
rename to src/main/java/org/apache/commons/sanselan/formats/psd/dataparsers/DataParserIndexed.java
index 953ebb8..70bdab7 100644
--- a/src/main/java/org/apache/sanselan/formats/psd/dataparsers/DataParserIndexed.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/psd/dataparsers/DataParserIndexed.java
@@ -14,9 +14,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.psd.dataparsers;
+package org.apache.commons.sanselan.formats.psd.dataparsers;
 
-import org.apache.sanselan.formats.psd.ImageContents;
+import org.apache.commons.sanselan.formats.psd.ImageContents;
 
 public class DataParserIndexed extends DataParser
 {
diff --git a/src/main/java/org/apache/sanselan/formats/psd/dataparsers/DataParserLab.java b/src/main/java/org/apache/commons/sanselan/formats/psd/dataparsers/DataParserLab.java
similarity index 89%
rename from src/main/java/org/apache/sanselan/formats/psd/dataparsers/DataParserLab.java
rename to src/main/java/org/apache/commons/sanselan/formats/psd/dataparsers/DataParserLab.java
index 780fdd9..e360421 100644
--- a/src/main/java/org/apache/sanselan/formats/psd/dataparsers/DataParserLab.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/psd/dataparsers/DataParserLab.java
@@ -14,10 +14,10 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.psd.dataparsers;
+package org.apache.commons.sanselan.formats.psd.dataparsers;
 
-import org.apache.sanselan.color.ColorConversions;
-import org.apache.sanselan.formats.psd.ImageContents;
+import org.apache.commons.sanselan.color.ColorConversions;
+import org.apache.commons.sanselan.formats.psd.ImageContents;
 
 public class DataParserLab extends DataParser
 {
diff --git a/src/main/java/org/apache/sanselan/formats/psd/dataparsers/DataParserRGB.java b/src/main/java/org/apache/commons/sanselan/formats/psd/dataparsers/DataParserRGB.java
similarity index 91%
rename from src/main/java/org/apache/sanselan/formats/psd/dataparsers/DataParserRGB.java
rename to src/main/java/org/apache/commons/sanselan/formats/psd/dataparsers/DataParserRGB.java
index 179f996..3f1f9c5 100644
--- a/src/main/java/org/apache/sanselan/formats/psd/dataparsers/DataParserRGB.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/psd/dataparsers/DataParserRGB.java
@@ -14,9 +14,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.psd.dataparsers;
+package org.apache.commons.sanselan.formats.psd.dataparsers;
 
-import org.apache.sanselan.formats.psd.ImageContents;
+import org.apache.commons.sanselan.formats.psd.ImageContents;
 
 public class DataParserRGB extends DataParser
 {
diff --git a/src/main/java/org/apache/sanselan/formats/psd/dataparsers/DataParserStub.java b/src/main/java/org/apache/commons/sanselan/formats/psd/dataparsers/DataParserStub.java
similarity index 89%
rename from src/main/java/org/apache/sanselan/formats/psd/dataparsers/DataParserStub.java
rename to src/main/java/org/apache/commons/sanselan/formats/psd/dataparsers/DataParserStub.java
index b5e00bb..09146d4 100644
--- a/src/main/java/org/apache/sanselan/formats/psd/dataparsers/DataParserStub.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/psd/dataparsers/DataParserStub.java
@@ -14,9 +14,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.psd.dataparsers;
+package org.apache.commons.sanselan.formats.psd.dataparsers;
 
-import org.apache.sanselan.formats.psd.ImageContents;
+import org.apache.commons.sanselan.formats.psd.ImageContents;
 
 public class DataParserStub extends DataParser
 {
diff --git a/src/main/java/org/apache/sanselan/formats/psd/datareaders/CompressedDataReader.java b/src/main/java/org/apache/commons/sanselan/formats/psd/datareaders/CompressedDataReader.java
similarity index 84%
rename from src/main/java/org/apache/sanselan/formats/psd/datareaders/CompressedDataReader.java
rename to src/main/java/org/apache/commons/sanselan/formats/psd/datareaders/CompressedDataReader.java
index 2ae39f0..2425e36 100644
--- a/src/main/java/org/apache/sanselan/formats/psd/datareaders/CompressedDataReader.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/psd/datareaders/CompressedDataReader.java
@@ -14,21 +14,21 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.psd.datareaders;
+package org.apache.commons.sanselan.formats.psd.datareaders;
 
 import java.awt.image.BufferedImage;
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.common.BinaryFileParser;
-import org.apache.sanselan.common.PackBits;
-import org.apache.sanselan.common.mylzw.BitsToByteInputStream;
-import org.apache.sanselan.common.mylzw.MyBitInputStream;
-import org.apache.sanselan.formats.psd.ImageContents;
-import org.apache.sanselan.formats.psd.PSDHeaderInfo;
-import org.apache.sanselan.formats.psd.dataparsers.DataParser;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.common.BinaryFileParser;
+import org.apache.commons.sanselan.common.PackBits;
+import org.apache.commons.sanselan.common.mylzw.BitsToByteInputStream;
+import org.apache.commons.sanselan.common.mylzw.MyBitInputStream;
+import org.apache.commons.sanselan.formats.psd.ImageContents;
+import org.apache.commons.sanselan.formats.psd.PSDHeaderInfo;
+import org.apache.commons.sanselan.formats.psd.dataparsers.DataParser;
 
 public class CompressedDataReader extends DataReader
 {
diff --git a/src/main/java/org/apache/sanselan/formats/psd/datareaders/DataReader.java b/src/main/java/org/apache/commons/sanselan/formats/psd/datareaders/DataReader.java
similarity index 78%
rename from src/main/java/org/apache/sanselan/formats/psd/datareaders/DataReader.java
rename to src/main/java/org/apache/commons/sanselan/formats/psd/datareaders/DataReader.java
index 044480c..1598c62 100644
--- a/src/main/java/org/apache/sanselan/formats/psd/datareaders/DataReader.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/psd/datareaders/DataReader.java
@@ -14,17 +14,17 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.psd.datareaders;
+package org.apache.commons.sanselan.formats.psd.datareaders;
 
 import java.awt.image.BufferedImage;
 import java.io.IOException;
 import java.io.InputStream;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.common.BinaryConstants;
-import org.apache.sanselan.common.BinaryFileParser;
-import org.apache.sanselan.formats.psd.ImageContents;
-import org.apache.sanselan.formats.psd.dataparsers.DataParser;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.common.BinaryConstants;
+import org.apache.commons.sanselan.common.BinaryFileParser;
+import org.apache.commons.sanselan.formats.psd.ImageContents;
+import org.apache.commons.sanselan.formats.psd.dataparsers.DataParser;
 
 public abstract class DataReader implements BinaryConstants
 {
diff --git a/src/main/java/org/apache/sanselan/formats/psd/datareaders/UncompressedDataReader.java b/src/main/java/org/apache/commons/sanselan/formats/psd/datareaders/UncompressedDataReader.java
similarity index 80%
rename from src/main/java/org/apache/sanselan/formats/psd/datareaders/UncompressedDataReader.java
rename to src/main/java/org/apache/commons/sanselan/formats/psd/datareaders/UncompressedDataReader.java
index c5a343b..6c1661b 100644
--- a/src/main/java/org/apache/sanselan/formats/psd/datareaders/UncompressedDataReader.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/psd/datareaders/UncompressedDataReader.java
@@ -14,19 +14,19 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.psd.datareaders;
+package org.apache.commons.sanselan.formats.psd.datareaders;
 
 import java.awt.image.BufferedImage;
 import java.io.IOException;
 import java.io.InputStream;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.common.BinaryFileParser;
-import org.apache.sanselan.common.mylzw.BitsToByteInputStream;
-import org.apache.sanselan.common.mylzw.MyBitInputStream;
-import org.apache.sanselan.formats.psd.ImageContents;
-import org.apache.sanselan.formats.psd.PSDHeaderInfo;
-import org.apache.sanselan.formats.psd.dataparsers.DataParser;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.common.BinaryFileParser;
+import org.apache.commons.sanselan.common.mylzw.BitsToByteInputStream;
+import org.apache.commons.sanselan.common.mylzw.MyBitInputStream;
+import org.apache.commons.sanselan.formats.psd.ImageContents;
+import org.apache.commons.sanselan.formats.psd.PSDHeaderInfo;
+import org.apache.commons.sanselan.formats.psd.dataparsers.DataParser;
 
 public class UncompressedDataReader extends DataReader
 {
diff --git a/src/main/java/org/apache/sanselan/formats/tga/TgaConstants.java b/src/main/java/org/apache/commons/sanselan/formats/tga/TgaConstants.java
similarity index 94%
rename from src/main/java/org/apache/sanselan/formats/tga/TgaConstants.java
rename to src/main/java/org/apache/commons/sanselan/formats/tga/TgaConstants.java
index 5741281..4712133 100644
--- a/src/main/java/org/apache/sanselan/formats/tga/TgaConstants.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tga/TgaConstants.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.tga;
+package org.apache.commons.sanselan.formats.tga;
 
 public interface TgaConstants
 {
diff --git a/src/main/java/org/apache/sanselan/formats/tga/TgaImageParser.java b/src/main/java/org/apache/commons/sanselan/formats/tga/TgaImageParser.java
similarity index 94%
rename from src/main/java/org/apache/sanselan/formats/tga/TgaImageParser.java
rename to src/main/java/org/apache/commons/sanselan/formats/tga/TgaImageParser.java
index 063b398..4e25f40 100644
--- a/src/main/java/org/apache/sanselan/formats/tga/TgaImageParser.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tga/TgaImageParser.java
@@ -1,3 +1,4 @@
+package org.apache.commons.sanselan.formats.tga;
 ///*
 // * Licensed to the Apache Software Foundation (ASF) under one or more
 // * contributor license agreements.  See the NOTICE file distributed with
@@ -14,7 +15,7 @@
 // * See the License for the specific language governing permissions and
 // * limitations under the License.
 // */
-//package org.apache.sanselan.formats.tga;
+//package org.apache.commons.sanselan.formats.tga;
 //
 //import java.awt.Dimension;
 //import java.awt.image.BufferedImage;
@@ -25,13 +26,13 @@
 //import java.util.Map;
 //import java.util.ArrayList;
 //
-//import org.apache.sanselan.ImageFormat;
-//import org.apache.sanselan.ImageInfo;
-//import org.apache.sanselan.ImageParser;
-//import org.apache.sanselan.ImageReadException;
-//import org.apache.sanselan.common.IImageMetadata;
-//import org.apache.sanselan.common.byteSources.ByteSource;
-//import org.apache.sanselan.util.Debug;
+//import org.apache.commons.sanselan.ImageFormat;
+//import org.apache.commons.sanselan.ImageInfo;
+//import org.apache.commons.sanselan.ImageParser;
+//import org.apache.commons.sanselan.ImageReadException;
+//import org.apache.commons.sanselan.common.IImageMetadata;
+//import org.apache.commons.sanselan.common.byteSources.ByteSource;
+//import org.apache.commons.sanselan.util.Debug;
 //
 ///*
 // * This class is just a placeholder.  TGA format is not yet supported.
diff --git a/src/main/java/org/apache/sanselan/formats/tiff/JpegImageData.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/JpegImageData.java
similarity index 95%
rename from src/main/java/org/apache/sanselan/formats/tiff/JpegImageData.java
rename to src/main/java/org/apache/commons/sanselan/formats/tiff/JpegImageData.java
index ec939ec..b29bae6 100644
--- a/src/main/java/org/apache/sanselan/formats/tiff/JpegImageData.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/JpegImageData.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.formats.tiff;
+package org.apache.commons.sanselan.formats.tiff;
 
 public class JpegImageData extends TiffElement.DataElement
 {
diff --git a/src/main/java/org/apache/sanselan/formats/tiff/TiffContents.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffContents.java
similarity index 93%
rename from src/main/java/org/apache/sanselan/formats/tiff/TiffContents.java
rename to src/main/java/org/apache/commons/sanselan/formats/tiff/TiffContents.java
index a1f1a9b..0a848f7 100644
--- a/src/main/java/org/apache/sanselan/formats/tiff/TiffContents.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffContents.java
@@ -14,14 +14,14 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.tiff;
+package org.apache.commons.sanselan.formats.tiff;
 
 import java.util.ArrayList;
 import java.util.Collections;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.formats.tiff.constants.TagInfo;
-import org.apache.sanselan.util.Debug;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.formats.tiff.constants.TagInfo;
+import org.apache.commons.sanselan.util.Debug;
 
 public class TiffContents
 {
diff --git a/src/main/java/org/apache/sanselan/formats/tiff/TiffDirectory.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffDirectory.java
similarity index 97%
rename from src/main/java/org/apache/sanselan/formats/tiff/TiffDirectory.java
rename to src/main/java/org/apache/commons/sanselan/formats/tiff/TiffDirectory.java
index b28649f..74bbf46 100644
--- a/src/main/java/org/apache/sanselan/formats/tiff/TiffDirectory.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffDirectory.java
@@ -14,16 +14,16 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.tiff;
+package org.apache.commons.sanselan.formats.tiff;
 
 import java.awt.image.BufferedImage;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Map;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.formats.tiff.constants.TagInfo;
-import org.apache.sanselan.formats.tiff.constants.TiffConstants;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.formats.tiff.constants.TagInfo;
+import org.apache.commons.sanselan.formats.tiff.constants.TiffConstants;
 
 public class TiffDirectory extends TiffElement implements TiffConstants
 //extends BinaryFileFunctions
diff --git a/src/main/java/org/apache/sanselan/formats/tiff/TiffElement.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffElement.java
similarity index 97%
rename from src/main/java/org/apache/sanselan/formats/tiff/TiffElement.java
rename to src/main/java/org/apache/commons/sanselan/formats/tiff/TiffElement.java
index 237a313..0e51ea1 100644
--- a/src/main/java/org/apache/sanselan/formats/tiff/TiffElement.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffElement.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.tiff;
+package org.apache.commons.sanselan.formats.tiff;
 
 import java.util.Comparator;
 
diff --git a/src/main/java/org/apache/sanselan/formats/tiff/TiffField.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffField.java
similarity index 98%
rename from src/main/java/org/apache/sanselan/formats/tiff/TiffField.java
rename to src/main/java/org/apache/commons/sanselan/formats/tiff/TiffField.java
index 6db4c9a..414e8d3 100644
--- a/src/main/java/org/apache/sanselan/formats/tiff/TiffField.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffField.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.tiff;
+package org.apache.commons.sanselan.formats.tiff;
 
 import java.io.IOException;
 import java.io.PrintWriter;
@@ -26,11 +26,11 @@
 import java.util.List;
 import java.util.Map;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.common.byteSources.ByteSource;
-import org.apache.sanselan.formats.tiff.constants.TagInfo;
-import org.apache.sanselan.formats.tiff.constants.TiffConstants;
-import org.apache.sanselan.formats.tiff.fieldtypes.FieldType;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.common.byteSources.ByteSource;
+import org.apache.commons.sanselan.formats.tiff.constants.TagInfo;
+import org.apache.commons.sanselan.formats.tiff.constants.TiffConstants;
+import org.apache.commons.sanselan.formats.tiff.fieldtypes.FieldType;
 
 public class TiffField implements TiffConstants
 {
diff --git a/src/main/java/org/apache/sanselan/formats/tiff/TiffHeader.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffHeader.java
similarity index 91%
rename from src/main/java/org/apache/sanselan/formats/tiff/TiffHeader.java
rename to src/main/java/org/apache/commons/sanselan/formats/tiff/TiffHeader.java
index ff45639..e170ff8 100644
--- a/src/main/java/org/apache/sanselan/formats/tiff/TiffHeader.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffHeader.java
@@ -14,9 +14,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.tiff;
+package org.apache.commons.sanselan.formats.tiff;
 
-import org.apache.sanselan.formats.tiff.constants.TiffConstants;
+import org.apache.commons.sanselan.formats.tiff.constants.TiffConstants;
 
 public class TiffHeader extends TiffElement
 {
diff --git a/src/main/java/org/apache/sanselan/formats/tiff/TiffImageData.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffImageData.java
similarity index 90%
rename from src/main/java/org/apache/sanselan/formats/tiff/TiffImageData.java
rename to src/main/java/org/apache/commons/sanselan/formats/tiff/TiffImageData.java
index 517974b..9d2cb0d 100644
--- a/src/main/java/org/apache/sanselan/formats/tiff/TiffImageData.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffImageData.java
@@ -15,16 +15,16 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.formats.tiff;
+package org.apache.commons.sanselan.formats.tiff;
 
 import java.io.IOException;
 import java.util.ArrayList;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.formats.tiff.datareaders.DataReader;
-import org.apache.sanselan.formats.tiff.datareaders.DataReaderStrips;
-import org.apache.sanselan.formats.tiff.datareaders.DataReaderTiled;
-import org.apache.sanselan.formats.tiff.photometricinterpreters.PhotometricInterpreter;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.formats.tiff.datareaders.DataReader;
+import org.apache.commons.sanselan.formats.tiff.datareaders.DataReaderStrips;
+import org.apache.commons.sanselan.formats.tiff.datareaders.DataReaderTiled;
+import org.apache.commons.sanselan.formats.tiff.photometricinterpreters.PhotometricInterpreter;
 
 public abstract class TiffImageData
 {
diff --git a/src/main/java/org/apache/sanselan/formats/tiff/TiffImageMetadata.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffImageMetadata.java
similarity index 94%
rename from src/main/java/org/apache/sanselan/formats/tiff/TiffImageMetadata.java
rename to src/main/java/org/apache/commons/sanselan/formats/tiff/TiffImageMetadata.java
index d16c8a4..62f0685 100644
--- a/src/main/java/org/apache/sanselan/formats/tiff/TiffImageMetadata.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffImageMetadata.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.tiff;
+package org.apache.commons.sanselan.formats.tiff;
 
 import java.awt.image.BufferedImage;
 import java.io.IOException;
@@ -23,18 +23,18 @@
 import java.util.List;
 import java.util.Map;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.common.ImageMetadata;
-import org.apache.sanselan.common.RationalNumber;
-import org.apache.sanselan.formats.tiff.constants.AllTagConstants;
-import org.apache.sanselan.formats.tiff.constants.TagInfo;
-import org.apache.sanselan.formats.tiff.constants.TiffConstants;
-import org.apache.sanselan.formats.tiff.constants.TiffDirectoryConstants;
-import org.apache.sanselan.formats.tiff.fieldtypes.FieldType;
-import org.apache.sanselan.formats.tiff.write.TiffOutputDirectory;
-import org.apache.sanselan.formats.tiff.write.TiffOutputField;
-import org.apache.sanselan.formats.tiff.write.TiffOutputSet;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.common.ImageMetadata;
+import org.apache.commons.sanselan.common.RationalNumber;
+import org.apache.commons.sanselan.formats.tiff.constants.AllTagConstants;
+import org.apache.commons.sanselan.formats.tiff.constants.TagInfo;
+import org.apache.commons.sanselan.formats.tiff.constants.TiffConstants;
+import org.apache.commons.sanselan.formats.tiff.constants.TiffDirectoryConstants;
+import org.apache.commons.sanselan.formats.tiff.fieldtypes.FieldType;
+import org.apache.commons.sanselan.formats.tiff.write.TiffOutputDirectory;
+import org.apache.commons.sanselan.formats.tiff.write.TiffOutputField;
+import org.apache.commons.sanselan.formats.tiff.write.TiffOutputSet;
 
 public class TiffImageMetadata extends ImageMetadata
         implements
diff --git a/src/main/java/org/apache/sanselan/formats/tiff/TiffImageParser.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffImageParser.java
similarity index 93%
rename from src/main/java/org/apache/sanselan/formats/tiff/TiffImageParser.java
rename to src/main/java/org/apache/commons/sanselan/formats/tiff/TiffImageParser.java
index fd8acfc..8b998cc 100644
--- a/src/main/java/org/apache/sanselan/formats/tiff/TiffImageParser.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffImageParser.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.tiff;
+package org.apache.commons.sanselan.formats.tiff;
 
 import java.awt.Dimension;
 import java.awt.image.BufferedImage;
@@ -27,25 +27,25 @@
 import java.util.List;
 import java.util.Map;
 
-import org.apache.sanselan.FormatCompliance;
-import org.apache.sanselan.ImageFormat;
-import org.apache.sanselan.ImageInfo;
-import org.apache.sanselan.ImageParser;
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.common.IImageMetadata;
-import org.apache.sanselan.common.byteSources.ByteSource;
-import org.apache.sanselan.formats.tiff.constants.TiffConstants;
-import org.apache.sanselan.formats.tiff.datareaders.DataReader;
-import org.apache.sanselan.formats.tiff.photometricinterpreters.PhotometricInterpreter;
-import org.apache.sanselan.formats.tiff.photometricinterpreters.PhotometricInterpreterBiLevel;
-import org.apache.sanselan.formats.tiff.photometricinterpreters.PhotometricInterpreterCIELAB;
-import org.apache.sanselan.formats.tiff.photometricinterpreters.PhotometricInterpreterCMYK;
-import org.apache.sanselan.formats.tiff.photometricinterpreters.PhotometricInterpreterLogLUV;
-import org.apache.sanselan.formats.tiff.photometricinterpreters.PhotometricInterpreterPalette;
-import org.apache.sanselan.formats.tiff.photometricinterpreters.PhotometricInterpreterRGB;
-import org.apache.sanselan.formats.tiff.photometricinterpreters.PhotometricInterpreterYCbCr;
-import org.apache.sanselan.formats.tiff.write.TiffImageWriterLossy;
+import org.apache.commons.sanselan.FormatCompliance;
+import org.apache.commons.sanselan.ImageFormat;
+import org.apache.commons.sanselan.ImageInfo;
+import org.apache.commons.sanselan.ImageParser;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.common.IImageMetadata;
+import org.apache.commons.sanselan.common.byteSources.ByteSource;
+import org.apache.commons.sanselan.formats.tiff.constants.TiffConstants;
+import org.apache.commons.sanselan.formats.tiff.datareaders.DataReader;
+import org.apache.commons.sanselan.formats.tiff.photometricinterpreters.PhotometricInterpreter;
+import org.apache.commons.sanselan.formats.tiff.photometricinterpreters.PhotometricInterpreterBiLevel;
+import org.apache.commons.sanselan.formats.tiff.photometricinterpreters.PhotometricInterpreterCIELAB;
+import org.apache.commons.sanselan.formats.tiff.photometricinterpreters.PhotometricInterpreterCMYK;
+import org.apache.commons.sanselan.formats.tiff.photometricinterpreters.PhotometricInterpreterLogLUV;
+import org.apache.commons.sanselan.formats.tiff.photometricinterpreters.PhotometricInterpreterPalette;
+import org.apache.commons.sanselan.formats.tiff.photometricinterpreters.PhotometricInterpreterRGB;
+import org.apache.commons.sanselan.formats.tiff.photometricinterpreters.PhotometricInterpreterYCbCr;
+import org.apache.commons.sanselan.formats.tiff.write.TiffImageWriterLossy;
 
 public class TiffImageParser extends ImageParser implements TiffConstants
 {
diff --git a/src/main/java/org/apache/sanselan/formats/tiff/TiffReader.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffReader.java
similarity index 97%
rename from src/main/java/org/apache/sanselan/formats/tiff/TiffReader.java
rename to src/main/java/org/apache/commons/sanselan/formats/tiff/TiffReader.java
index b477616..f6c272f 100644
--- a/src/main/java/org/apache/sanselan/formats/tiff/TiffReader.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffReader.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.tiff;
+package org.apache.commons.sanselan.formats.tiff;
 
 import java.io.IOException;
 import java.io.InputStream;
@@ -22,13 +22,13 @@
 import java.util.List;
 import java.util.Map;
 
-import org.apache.sanselan.FormatCompliance;
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.common.BinaryFileParser;
-import org.apache.sanselan.common.byteSources.ByteSource;
-import org.apache.sanselan.formats.tiff.TiffDirectory.ImageDataElement;
-import org.apache.sanselan.formats.tiff.constants.TiffConstants;
-import org.apache.sanselan.util.Debug;
+import org.apache.commons.sanselan.FormatCompliance;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.common.BinaryFileParser;
+import org.apache.commons.sanselan.common.byteSources.ByteSource;
+import org.apache.commons.sanselan.formats.tiff.TiffDirectory.ImageDataElement;
+import org.apache.commons.sanselan.formats.tiff.constants.TiffConstants;
+import org.apache.commons.sanselan.util.Debug;
 
 public class TiffReader extends BinaryFileParser implements TiffConstants
 {
diff --git a/src/main/java/org/apache/sanselan/formats/tiff/TiffValueOutsideFileBoundsException.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffValueOutsideFileBoundsException.java
similarity index 94%
rename from src/main/java/org/apache/sanselan/formats/tiff/TiffValueOutsideFileBoundsException.java
rename to src/main/java/org/apache/commons/sanselan/formats/tiff/TiffValueOutsideFileBoundsException.java
index 3297a1d..2aa4711 100644
--- a/src/main/java/org/apache/sanselan/formats/tiff/TiffValueOutsideFileBoundsException.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/TiffValueOutsideFileBoundsException.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.tiff;
+package org.apache.commons.sanselan.formats.tiff;
 
 public class TiffValueOutsideFileBoundsException extends Exception {
     public TiffValueOutsideFileBoundsException(String message) {
diff --git a/src/main/java/org/apache/sanselan/formats/tiff/constants/AllTagConstants.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java
similarity index 90%
rename from src/main/java/org/apache/sanselan/formats/tiff/constants/AllTagConstants.java
rename to src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java
index bb32d1d..ab9b6fb 100644
--- a/src/main/java/org/apache/sanselan/formats/tiff/constants/AllTagConstants.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/AllTagConstants.java
@@ -14,9 +14,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.tiff.constants;
+package org.apache.commons.sanselan.formats.tiff.constants;
 
-import org.apache.sanselan.SanselanConstants;
+import org.apache.commons.sanselan.SanselanConstants;
 
 public interface AllTagConstants
         extends
diff --git a/src/main/java/org/apache/sanselan/formats/tiff/constants/ExifTagConstants.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java
similarity index 99%
rename from src/main/java/org/apache/sanselan/formats/tiff/constants/ExifTagConstants.java
rename to src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java
index 7623568..c416da9 100644
--- a/src/main/java/org/apache/sanselan/formats/tiff/constants/ExifTagConstants.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/ExifTagConstants.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.tiff.constants;
+package org.apache.commons.sanselan.formats.tiff.constants;
 
 public interface ExifTagConstants
         extends
diff --git a/src/main/java/org/apache/sanselan/formats/tiff/constants/GPSTagConstants.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/GPSTagConstants.java
similarity index 99%
rename from src/main/java/org/apache/sanselan/formats/tiff/constants/GPSTagConstants.java
rename to src/main/java/org/apache/commons/sanselan/formats/tiff/constants/GPSTagConstants.java
index 4185d67..f69e07b 100644
--- a/src/main/java/org/apache/sanselan/formats/tiff/constants/GPSTagConstants.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/GPSTagConstants.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.tiff.constants;
+package org.apache.commons.sanselan.formats.tiff.constants;
 
 public interface GPSTagConstants
         extends
diff --git a/src/main/java/org/apache/sanselan/formats/tiff/constants/TagConstantsUtils.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TagConstantsUtils.java
similarity index 96%
rename from src/main/java/org/apache/sanselan/formats/tiff/constants/TagConstantsUtils.java
rename to src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TagConstantsUtils.java
index 82a7355..1934eaa 100644
--- a/src/main/java/org/apache/sanselan/formats/tiff/constants/TagConstantsUtils.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TagConstantsUtils.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.tiff.constants;
+package org.apache.commons.sanselan.formats.tiff.constants;
 
 public class TagConstantsUtils implements TiffDirectoryConstants
 {
diff --git a/src/main/java/org/apache/sanselan/formats/tiff/constants/TagInfo.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TagInfo.java
similarity index 97%
rename from src/main/java/org/apache/sanselan/formats/tiff/constants/TagInfo.java
rename to src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TagInfo.java
index 6252e51..65214cf 100644
--- a/src/main/java/org/apache/sanselan/formats/tiff/constants/TagInfo.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TagInfo.java
@@ -15,18 +15,18 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.formats.tiff.constants;
+package org.apache.commons.sanselan.formats.tiff.constants;
 
 import java.io.UnsupportedEncodingException;
 import java.text.DateFormat;
 import java.text.SimpleDateFormat;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.common.BinaryFileFunctions;
-import org.apache.sanselan.formats.tiff.TiffField;
-import org.apache.sanselan.formats.tiff.fieldtypes.FieldType;
-import org.apache.sanselan.util.Debug;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.common.BinaryFileFunctions;
+import org.apache.commons.sanselan.formats.tiff.TiffField;
+import org.apache.commons.sanselan.formats.tiff.fieldtypes.FieldType;
+import org.apache.commons.sanselan.util.Debug;
 
 public class TagInfo implements TiffDirectoryConstants, TiffFieldTypeConstants
 {
diff --git a/src/main/java/org/apache/sanselan/formats/tiff/constants/TiffConstants.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TiffConstants.java
similarity index 91%
rename from src/main/java/org/apache/sanselan/formats/tiff/constants/TiffConstants.java
rename to src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TiffConstants.java
index e4c1f6d..c6437e8 100644
--- a/src/main/java/org/apache/sanselan/formats/tiff/constants/TiffConstants.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TiffConstants.java
@@ -14,10 +14,10 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.tiff.constants;
+package org.apache.commons.sanselan.formats.tiff.constants;
 
-import org.apache.sanselan.SanselanConstants;
-import org.apache.sanselan.common.BinaryConstants;
+import org.apache.commons.sanselan.SanselanConstants;
+import org.apache.commons.sanselan.common.BinaryConstants;
 
 public interface TiffConstants
         extends
diff --git a/src/main/java/org/apache/sanselan/formats/tiff/constants/TiffDirectoryConstants.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TiffDirectoryConstants.java
similarity index 98%
rename from src/main/java/org/apache/sanselan/formats/tiff/constants/TiffDirectoryConstants.java
rename to src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TiffDirectoryConstants.java
index 71990d6..1272ced 100644
--- a/src/main/java/org/apache/sanselan/formats/tiff/constants/TiffDirectoryConstants.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TiffDirectoryConstants.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.tiff.constants;
+package org.apache.commons.sanselan.formats.tiff.constants;
 
 public interface TiffDirectoryConstants
 {
diff --git a/src/main/java/org/apache/sanselan/formats/tiff/constants/TiffFieldTypeConstants.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TiffFieldTypeConstants.java
similarity index 81%
rename from src/main/java/org/apache/sanselan/formats/tiff/constants/TiffFieldTypeConstants.java
rename to src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TiffFieldTypeConstants.java
index 3636f1d..84dd2ab 100644
--- a/src/main/java/org/apache/sanselan/formats/tiff/constants/TiffFieldTypeConstants.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TiffFieldTypeConstants.java
@@ -14,18 +14,18 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.tiff.constants;
+package org.apache.commons.sanselan.formats.tiff.constants;
 
-import org.apache.sanselan.SanselanConstants;
-import org.apache.sanselan.formats.tiff.fieldtypes.FieldType;
-import org.apache.sanselan.formats.tiff.fieldtypes.FieldTypeASCII;
-import org.apache.sanselan.formats.tiff.fieldtypes.FieldTypeByte;
-import org.apache.sanselan.formats.tiff.fieldtypes.FieldTypeDouble;
-import org.apache.sanselan.formats.tiff.fieldtypes.FieldTypeFloat;
-import org.apache.sanselan.formats.tiff.fieldtypes.FieldTypeLong;
-import org.apache.sanselan.formats.tiff.fieldtypes.FieldTypeRational;
-import org.apache.sanselan.formats.tiff.fieldtypes.FieldTypeShort;
-import org.apache.sanselan.formats.tiff.fieldtypes.FieldTypeUnknown;
+import org.apache.commons.sanselan.SanselanConstants;
+import org.apache.commons.sanselan.formats.tiff.fieldtypes.FieldType;
+import org.apache.commons.sanselan.formats.tiff.fieldtypes.FieldTypeASCII;
+import org.apache.commons.sanselan.formats.tiff.fieldtypes.FieldTypeByte;
+import org.apache.commons.sanselan.formats.tiff.fieldtypes.FieldTypeDouble;
+import org.apache.commons.sanselan.formats.tiff.fieldtypes.FieldTypeFloat;
+import org.apache.commons.sanselan.formats.tiff.fieldtypes.FieldTypeLong;
+import org.apache.commons.sanselan.formats.tiff.fieldtypes.FieldTypeRational;
+import org.apache.commons.sanselan.formats.tiff.fieldtypes.FieldTypeShort;
+import org.apache.commons.sanselan.formats.tiff.fieldtypes.FieldTypeUnknown;
 
 public interface TiffFieldTypeConstants extends SanselanConstants
 {
diff --git a/src/main/java/org/apache/sanselan/formats/tiff/constants/TiffTagConstants.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TiffTagConstants.java
similarity index 99%
rename from src/main/java/org/apache/sanselan/formats/tiff/constants/TiffTagConstants.java
rename to src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TiffTagConstants.java
index 73c58bc..bba46a6 100644
--- a/src/main/java/org/apache/sanselan/formats/tiff/constants/TiffTagConstants.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/constants/TiffTagConstants.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.tiff.constants;
+package org.apache.commons.sanselan.formats.tiff.constants;
 
 public interface TiffTagConstants
         extends
diff --git a/src/main/java/org/apache/sanselan/formats/tiff/datareaders/DataReader.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/datareaders/DataReader.java
similarity index 88%
rename from src/main/java/org/apache/sanselan/formats/tiff/datareaders/DataReader.java
rename to src/main/java/org/apache/commons/sanselan/formats/tiff/datareaders/DataReader.java
index 5d9328c..7da8d67 100644
--- a/src/main/java/org/apache/sanselan/formats/tiff/datareaders/DataReader.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/datareaders/DataReader.java
@@ -14,21 +14,21 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.tiff.datareaders;
+package org.apache.commons.sanselan.formats.tiff.datareaders;
 
 import java.awt.image.BufferedImage;
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.common.BinaryConstants;
-import org.apache.sanselan.common.BitInputStream;
-import org.apache.sanselan.common.PackBits;
-import org.apache.sanselan.common.itu_t4.T4Compression;
-import org.apache.sanselan.common.mylzw.MyLZWDecompressor;
-import org.apache.sanselan.formats.tiff.constants.TiffConstants;
-import org.apache.sanselan.formats.tiff.photometricinterpreters.PhotometricInterpreter;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.common.BinaryConstants;
+import org.apache.commons.sanselan.common.BitInputStream;
+import org.apache.commons.sanselan.common.PackBits;
+import org.apache.commons.sanselan.common.itu_t4.T4Compression;
+import org.apache.commons.sanselan.common.mylzw.MyLZWDecompressor;
+import org.apache.commons.sanselan.formats.tiff.constants.TiffConstants;
+import org.apache.commons.sanselan.formats.tiff.photometricinterpreters.PhotometricInterpreter;
 
 public abstract class DataReader implements TiffConstants, BinaryConstants
 {
diff --git a/src/main/java/org/apache/sanselan/formats/tiff/datareaders/DataReaderStrips.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/datareaders/DataReaderStrips.java
similarity index 90%
rename from src/main/java/org/apache/sanselan/formats/tiff/datareaders/DataReaderStrips.java
rename to src/main/java/org/apache/commons/sanselan/formats/tiff/datareaders/DataReaderStrips.java
index 530042b..c93c661 100644
--- a/src/main/java/org/apache/sanselan/formats/tiff/datareaders/DataReaderStrips.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/datareaders/DataReaderStrips.java
@@ -14,16 +14,16 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.tiff.datareaders;
+package org.apache.commons.sanselan.formats.tiff.datareaders;
 
 import java.awt.image.BufferedImage;
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.common.BitInputStream;
-import org.apache.sanselan.formats.tiff.TiffImageData;
-import org.apache.sanselan.formats.tiff.photometricinterpreters.PhotometricInterpreter;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.common.BitInputStream;
+import org.apache.commons.sanselan.formats.tiff.TiffImageData;
+import org.apache.commons.sanselan.formats.tiff.photometricinterpreters.PhotometricInterpreter;
 
 public final class DataReaderStrips extends DataReader
 {
diff --git a/src/main/java/org/apache/sanselan/formats/tiff/datareaders/DataReaderTiled.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/datareaders/DataReaderTiled.java
similarity index 91%
rename from src/main/java/org/apache/sanselan/formats/tiff/datareaders/DataReaderTiled.java
rename to src/main/java/org/apache/commons/sanselan/formats/tiff/datareaders/DataReaderTiled.java
index fdffe9b..a3fe559 100644
--- a/src/main/java/org/apache/sanselan/formats/tiff/datareaders/DataReaderTiled.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/datareaders/DataReaderTiled.java
@@ -14,16 +14,16 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.tiff.datareaders;
+package org.apache.commons.sanselan.formats.tiff.datareaders;
 
 import java.awt.image.BufferedImage;
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.common.BitInputStream;
-import org.apache.sanselan.formats.tiff.TiffImageData;
-import org.apache.sanselan.formats.tiff.photometricinterpreters.PhotometricInterpreter;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.common.BitInputStream;
+import org.apache.commons.sanselan.formats.tiff.TiffImageData;
+import org.apache.commons.sanselan.formats.tiff.photometricinterpreters.PhotometricInterpreter;
 
 public final class DataReaderTiled extends DataReader
 {
diff --git a/src/main/java/org/apache/sanselan/formats/tiff/fieldtypes/FieldType.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/fieldtypes/FieldType.java
similarity index 90%
rename from src/main/java/org/apache/sanselan/formats/tiff/fieldtypes/FieldType.java
rename to src/main/java/org/apache/commons/sanselan/formats/tiff/fieldtypes/FieldType.java
index f98f1a9..b202524 100644
--- a/src/main/java/org/apache/sanselan/formats/tiff/fieldtypes/FieldType.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/fieldtypes/FieldType.java
@@ -14,13 +14,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.tiff.fieldtypes;
+package org.apache.commons.sanselan.formats.tiff.fieldtypes;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.common.BinaryFileFunctions;
-import org.apache.sanselan.formats.tiff.TiffField;
-import org.apache.sanselan.formats.tiff.constants.TiffConstants;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.common.BinaryFileFunctions;
+import org.apache.commons.sanselan.formats.tiff.TiffField;
+import org.apache.commons.sanselan.formats.tiff.constants.TiffConstants;
 
 public abstract class FieldType extends BinaryFileFunctions implements
         TiffConstants
diff --git a/src/main/java/org/apache/sanselan/formats/tiff/fieldtypes/FieldTypeASCII.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/fieldtypes/FieldTypeASCII.java
similarity index 91%
rename from src/main/java/org/apache/sanselan/formats/tiff/fieldtypes/FieldTypeASCII.java
rename to src/main/java/org/apache/commons/sanselan/formats/tiff/fieldtypes/FieldTypeASCII.java
index b5e0a6d..e562e94 100644
--- a/src/main/java/org/apache/sanselan/formats/tiff/fieldtypes/FieldTypeASCII.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/fieldtypes/FieldTypeASCII.java
@@ -14,10 +14,10 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.tiff.fieldtypes;
+package org.apache.commons.sanselan.formats.tiff.fieldtypes;
 
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.formats.tiff.TiffField;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.formats.tiff.TiffField;
 
 public class FieldTypeASCII extends FieldType
 {
diff --git a/src/main/java/org/apache/sanselan/formats/tiff/fieldtypes/FieldTypeByte.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/fieldtypes/FieldTypeByte.java
similarity index 87%
rename from src/main/java/org/apache/sanselan/formats/tiff/fieldtypes/FieldTypeByte.java
rename to src/main/java/org/apache/commons/sanselan/formats/tiff/fieldtypes/FieldTypeByte.java
index 63aea66..7d1c941 100644
--- a/src/main/java/org/apache/sanselan/formats/tiff/fieldtypes/FieldTypeByte.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/fieldtypes/FieldTypeByte.java
@@ -14,11 +14,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.tiff.fieldtypes;
+package org.apache.commons.sanselan.formats.tiff.fieldtypes;
 
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.formats.tiff.TiffField;
-import org.apache.sanselan.util.Debug;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.formats.tiff.TiffField;
+import org.apache.commons.sanselan.util.Debug;
 
 public class FieldTypeByte extends FieldType
 {
diff --git a/src/main/java/org/apache/sanselan/formats/tiff/fieldtypes/FieldTypeDouble.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/fieldtypes/FieldTypeDouble.java
similarity index 89%
rename from src/main/java/org/apache/sanselan/formats/tiff/fieldtypes/FieldTypeDouble.java
rename to src/main/java/org/apache/commons/sanselan/formats/tiff/fieldtypes/FieldTypeDouble.java
index 26aef97..5520ab1 100644
--- a/src/main/java/org/apache/sanselan/formats/tiff/fieldtypes/FieldTypeDouble.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/fieldtypes/FieldTypeDouble.java
@@ -14,11 +14,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.tiff.fieldtypes;
+package org.apache.commons.sanselan.formats.tiff.fieldtypes;
 
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.formats.tiff.TiffField;
-import org.apache.sanselan.util.Debug;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.formats.tiff.TiffField;
+import org.apache.commons.sanselan.util.Debug;
 
 public class FieldTypeDouble extends FieldType
 {
diff --git a/src/main/java/org/apache/sanselan/formats/tiff/fieldtypes/FieldTypeFloat.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/fieldtypes/FieldTypeFloat.java
similarity index 90%
rename from src/main/java/org/apache/sanselan/formats/tiff/fieldtypes/FieldTypeFloat.java
rename to src/main/java/org/apache/commons/sanselan/formats/tiff/fieldtypes/FieldTypeFloat.java
index 38f431c..27d3954 100644
--- a/src/main/java/org/apache/sanselan/formats/tiff/fieldtypes/FieldTypeFloat.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/fieldtypes/FieldTypeFloat.java
@@ -14,11 +14,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.tiff.fieldtypes;
+package org.apache.commons.sanselan.formats.tiff.fieldtypes;
 
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.formats.tiff.TiffField;
-import org.apache.sanselan.util.Debug;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.formats.tiff.TiffField;
+import org.apache.commons.sanselan.util.Debug;
 
 public class FieldTypeFloat extends FieldType
 {
diff --git a/src/main/java/org/apache/sanselan/formats/tiff/fieldtypes/FieldTypeLong.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/fieldtypes/FieldTypeLong.java
similarity index 90%
rename from src/main/java/org/apache/sanselan/formats/tiff/fieldtypes/FieldTypeLong.java
rename to src/main/java/org/apache/commons/sanselan/formats/tiff/fieldtypes/FieldTypeLong.java
index 6125379..3e98dfe 100644
--- a/src/main/java/org/apache/sanselan/formats/tiff/fieldtypes/FieldTypeLong.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/fieldtypes/FieldTypeLong.java
@@ -14,11 +14,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.tiff.fieldtypes;
+package org.apache.commons.sanselan.formats.tiff.fieldtypes;
 
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.formats.tiff.TiffField;
-import org.apache.sanselan.util.Debug;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.formats.tiff.TiffField;
+import org.apache.commons.sanselan.util.Debug;
 
 public class FieldTypeLong extends FieldType
 {
diff --git a/src/main/java/org/apache/sanselan/formats/tiff/fieldtypes/FieldTypeRational.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/fieldtypes/FieldTypeRational.java
similarity index 91%
rename from src/main/java/org/apache/sanselan/formats/tiff/fieldtypes/FieldTypeRational.java
rename to src/main/java/org/apache/commons/sanselan/formats/tiff/fieldtypes/FieldTypeRational.java
index a7825d2..bd9bda6 100644
--- a/src/main/java/org/apache/sanselan/formats/tiff/fieldtypes/FieldTypeRational.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/fieldtypes/FieldTypeRational.java
@@ -14,13 +14,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.tiff.fieldtypes;
+package org.apache.commons.sanselan.formats.tiff.fieldtypes;
 
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.common.RationalNumber;
-import org.apache.sanselan.common.RationalNumberUtilities;
-import org.apache.sanselan.formats.tiff.TiffField;
-import org.apache.sanselan.util.Debug;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.common.RationalNumber;
+import org.apache.commons.sanselan.common.RationalNumberUtilities;
+import org.apache.commons.sanselan.formats.tiff.TiffField;
+import org.apache.commons.sanselan.util.Debug;
 
 public class FieldTypeRational extends FieldType
 {
diff --git a/src/main/java/org/apache/sanselan/formats/tiff/fieldtypes/FieldTypeShort.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/fieldtypes/FieldTypeShort.java
similarity index 91%
rename from src/main/java/org/apache/sanselan/formats/tiff/fieldtypes/FieldTypeShort.java
rename to src/main/java/org/apache/commons/sanselan/formats/tiff/fieldtypes/FieldTypeShort.java
index 55f12de..1c09f07 100644
--- a/src/main/java/org/apache/sanselan/formats/tiff/fieldtypes/FieldTypeShort.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/fieldtypes/FieldTypeShort.java
@@ -14,12 +14,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.tiff.fieldtypes;
+package org.apache.commons.sanselan.formats.tiff.fieldtypes;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.formats.tiff.TiffField;
-import org.apache.sanselan.util.Debug;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.formats.tiff.TiffField;
+import org.apache.commons.sanselan.util.Debug;
 
 public class FieldTypeShort extends FieldType
 {
diff --git a/src/main/java/org/apache/sanselan/formats/tiff/fieldtypes/FieldTypeUnknown.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/fieldtypes/FieldTypeUnknown.java
similarity index 90%
rename from src/main/java/org/apache/sanselan/formats/tiff/fieldtypes/FieldTypeUnknown.java
rename to src/main/java/org/apache/commons/sanselan/formats/tiff/fieldtypes/FieldTypeUnknown.java
index 4cf0909..1c80b66 100644
--- a/src/main/java/org/apache/sanselan/formats/tiff/fieldtypes/FieldTypeUnknown.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/fieldtypes/FieldTypeUnknown.java
@@ -14,11 +14,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.tiff.fieldtypes;
+package org.apache.commons.sanselan.formats.tiff.fieldtypes;
 
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.formats.tiff.TiffField;
-import org.apache.sanselan.util.Debug;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.formats.tiff.TiffField;
+import org.apache.commons.sanselan.util.Debug;
 
 public class FieldTypeUnknown extends FieldType
 {
diff --git a/src/main/java/org/apache/sanselan/formats/tiff/photometricinterpreters/PhotometricInterpreter.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/photometricinterpreters/PhotometricInterpreter.java
similarity index 92%
rename from src/main/java/org/apache/sanselan/formats/tiff/photometricinterpreters/PhotometricInterpreter.java
rename to src/main/java/org/apache/commons/sanselan/formats/tiff/photometricinterpreters/PhotometricInterpreter.java
index fda1078..c90aa22 100644
--- a/src/main/java/org/apache/sanselan/formats/tiff/photometricinterpreters/PhotometricInterpreter.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/photometricinterpreters/PhotometricInterpreter.java
@@ -14,12 +14,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.tiff.photometricinterpreters;
+package org.apache.commons.sanselan.formats.tiff.photometricinterpreters;
 
 import java.awt.image.BufferedImage;
 import java.io.IOException;
 
-import org.apache.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageReadException;
 
 public abstract class PhotometricInterpreter
 {
diff --git a/src/main/java/org/apache/sanselan/formats/tiff/photometricinterpreters/PhotometricInterpreterBiLevel.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/photometricinterpreters/PhotometricInterpreterBiLevel.java
similarity index 93%
rename from src/main/java/org/apache/sanselan/formats/tiff/photometricinterpreters/PhotometricInterpreterBiLevel.java
rename to src/main/java/org/apache/commons/sanselan/formats/tiff/photometricinterpreters/PhotometricInterpreterBiLevel.java
index 2225f6b..44ed0e9 100644
--- a/src/main/java/org/apache/sanselan/formats/tiff/photometricinterpreters/PhotometricInterpreterBiLevel.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/photometricinterpreters/PhotometricInterpreterBiLevel.java
@@ -14,12 +14,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.tiff.photometricinterpreters;
+package org.apache.commons.sanselan.formats.tiff.photometricinterpreters;
 
 import java.awt.image.BufferedImage;
 import java.io.IOException;
 
-import org.apache.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageReadException;
 
 public class PhotometricInterpreterBiLevel extends PhotometricInterpreter
 {
diff --git a/src/main/java/org/apache/sanselan/formats/tiff/photometricinterpreters/PhotometricInterpreterCIELAB.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/photometricinterpreters/PhotometricInterpreterCIELAB.java
similarity index 89%
rename from src/main/java/org/apache/sanselan/formats/tiff/photometricinterpreters/PhotometricInterpreterCIELAB.java
rename to src/main/java/org/apache/commons/sanselan/formats/tiff/photometricinterpreters/PhotometricInterpreterCIELAB.java
index afeb664..ec3e0d3 100644
--- a/src/main/java/org/apache/sanselan/formats/tiff/photometricinterpreters/PhotometricInterpreterCIELAB.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/photometricinterpreters/PhotometricInterpreterCIELAB.java
@@ -14,13 +14,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.tiff.photometricinterpreters;
+package org.apache.commons.sanselan.formats.tiff.photometricinterpreters;
 
 import java.awt.image.BufferedImage;
 import java.io.IOException;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.color.ColorConversions;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.color.ColorConversions;
 
 public class PhotometricInterpreterCIELAB extends PhotometricInterpreter
 {
diff --git a/src/main/java/org/apache/sanselan/formats/tiff/photometricinterpreters/PhotometricInterpreterCMYK.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/photometricinterpreters/PhotometricInterpreterCMYK.java
similarity index 88%
rename from src/main/java/org/apache/sanselan/formats/tiff/photometricinterpreters/PhotometricInterpreterCMYK.java
rename to src/main/java/org/apache/commons/sanselan/formats/tiff/photometricinterpreters/PhotometricInterpreterCMYK.java
index 5f982d0..d4e15ec 100644
--- a/src/main/java/org/apache/sanselan/formats/tiff/photometricinterpreters/PhotometricInterpreterCMYK.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/photometricinterpreters/PhotometricInterpreterCMYK.java
@@ -14,13 +14,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.tiff.photometricinterpreters;
+package org.apache.commons.sanselan.formats.tiff.photometricinterpreters;
 
 import java.awt.image.BufferedImage;
 import java.io.IOException;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.color.ColorConversions;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.color.ColorConversions;
 
 public class PhotometricInterpreterCMYK extends PhotometricInterpreter
 {
diff --git a/src/main/java/org/apache/sanselan/formats/tiff/photometricinterpreters/PhotometricInterpreterLogLUV.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/photometricinterpreters/PhotometricInterpreterLogLUV.java
similarity index 97%
rename from src/main/java/org/apache/sanselan/formats/tiff/photometricinterpreters/PhotometricInterpreterLogLUV.java
rename to src/main/java/org/apache/commons/sanselan/formats/tiff/photometricinterpreters/PhotometricInterpreterLogLUV.java
index 1f550fc..8c250ba 100644
--- a/src/main/java/org/apache/sanselan/formats/tiff/photometricinterpreters/PhotometricInterpreterLogLUV.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/photometricinterpreters/PhotometricInterpreterLogLUV.java
@@ -14,12 +14,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.tiff.photometricinterpreters;
+package org.apache.commons.sanselan.formats.tiff.photometricinterpreters;
 
 import java.awt.image.BufferedImage;
 import java.io.IOException;
 
-import org.apache.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageReadException;
 
 public class PhotometricInterpreterLogLUV extends PhotometricInterpreter
 {
diff --git a/src/main/java/org/apache/sanselan/formats/tiff/photometricinterpreters/PhotometricInterpreterPalette.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/photometricinterpreters/PhotometricInterpreterPalette.java
similarity index 93%
rename from src/main/java/org/apache/sanselan/formats/tiff/photometricinterpreters/PhotometricInterpreterPalette.java
rename to src/main/java/org/apache/commons/sanselan/formats/tiff/photometricinterpreters/PhotometricInterpreterPalette.java
index e12bfc5..8ef1737 100644
--- a/src/main/java/org/apache/sanselan/formats/tiff/photometricinterpreters/PhotometricInterpreterPalette.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/photometricinterpreters/PhotometricInterpreterPalette.java
@@ -14,12 +14,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.tiff.photometricinterpreters;
+package org.apache.commons.sanselan.formats.tiff.photometricinterpreters;
 
 import java.awt.image.BufferedImage;
 import java.io.IOException;
 
-import org.apache.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageReadException;
 
 public class PhotometricInterpreterPalette extends PhotometricInterpreter
 {
diff --git a/src/main/java/org/apache/sanselan/formats/tiff/photometricinterpreters/PhotometricInterpreterRGB.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/photometricinterpreters/PhotometricInterpreterRGB.java
similarity index 92%
rename from src/main/java/org/apache/sanselan/formats/tiff/photometricinterpreters/PhotometricInterpreterRGB.java
rename to src/main/java/org/apache/commons/sanselan/formats/tiff/photometricinterpreters/PhotometricInterpreterRGB.java
index 9b6ec32..5b41bf7 100644
--- a/src/main/java/org/apache/sanselan/formats/tiff/photometricinterpreters/PhotometricInterpreterRGB.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/photometricinterpreters/PhotometricInterpreterRGB.java
@@ -14,12 +14,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.tiff.photometricinterpreters;
+package org.apache.commons.sanselan.formats.tiff.photometricinterpreters;
 
 import java.awt.image.BufferedImage;
 import java.io.IOException;
 
-import org.apache.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageReadException;
 
 public class PhotometricInterpreterRGB extends PhotometricInterpreter
 {
diff --git a/src/main/java/org/apache/sanselan/formats/tiff/photometricinterpreters/PhotometricInterpreterYCbCr.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/photometricinterpreters/PhotometricInterpreterYCbCr.java
similarity index 95%
rename from src/main/java/org/apache/sanselan/formats/tiff/photometricinterpreters/PhotometricInterpreterYCbCr.java
rename to src/main/java/org/apache/commons/sanselan/formats/tiff/photometricinterpreters/PhotometricInterpreterYCbCr.java
index 29c6f41..0baad23 100644
--- a/src/main/java/org/apache/sanselan/formats/tiff/photometricinterpreters/PhotometricInterpreterYCbCr.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/photometricinterpreters/PhotometricInterpreterYCbCr.java
@@ -14,12 +14,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.tiff.photometricinterpreters;
+package org.apache.commons.sanselan.formats.tiff.photometricinterpreters;
 
 import java.awt.image.BufferedImage;
 import java.io.IOException;
 
-import org.apache.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageReadException;
 
 public class PhotometricInterpreterYCbCr extends PhotometricInterpreter
 {
diff --git a/src/main/java/org/apache/sanselan/formats/tiff/write/ImageDataOffsets.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/write/ImageDataOffsets.java
similarity index 92%
rename from src/main/java/org/apache/sanselan/formats/tiff/write/ImageDataOffsets.java
rename to src/main/java/org/apache/commons/sanselan/formats/tiff/write/ImageDataOffsets.java
index f1bc07f..b834df3 100644
--- a/src/main/java/org/apache/sanselan/formats/tiff/write/ImageDataOffsets.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/write/ImageDataOffsets.java
@@ -14,9 +14,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.tiff.write;
+package org.apache.commons.sanselan.formats.tiff.write;
 
-import org.apache.sanselan.formats.tiff.TiffElement;
+import org.apache.commons.sanselan.formats.tiff.TiffElement;
 
 class ImageDataOffsets
 {
diff --git a/src/main/java/org/apache/sanselan/formats/tiff/write/TiffImageWriterBase.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffImageWriterBase.java
similarity index 97%
rename from src/main/java/org/apache/sanselan/formats/tiff/write/TiffImageWriterBase.java
rename to src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffImageWriterBase.java
index 274eabf..fdc4c20 100644
--- a/src/main/java/org/apache/sanselan/formats/tiff/write/TiffImageWriterBase.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffImageWriterBase.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.tiff.write;
+package org.apache.commons.sanselan.formats.tiff.write;
 
 import java.awt.image.BufferedImage;
 import java.io.IOException;
@@ -26,14 +26,14 @@
 import java.util.List;
 import java.util.Map;
 
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.common.BinaryConstants;
-import org.apache.sanselan.common.BinaryOutputStream;
-import org.apache.sanselan.common.PackBits;
-import org.apache.sanselan.common.mylzw.MyLZWCompressor;
-import org.apache.sanselan.formats.tiff.TiffElement;
-import org.apache.sanselan.formats.tiff.TiffImageData;
-import org.apache.sanselan.formats.tiff.constants.TiffConstants;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.common.BinaryConstants;
+import org.apache.commons.sanselan.common.BinaryOutputStream;
+import org.apache.commons.sanselan.common.PackBits;
+import org.apache.commons.sanselan.common.mylzw.MyLZWCompressor;
+import org.apache.commons.sanselan.formats.tiff.TiffElement;
+import org.apache.commons.sanselan.formats.tiff.TiffImageData;
+import org.apache.commons.sanselan.formats.tiff.constants.TiffConstants;
 
 public abstract class TiffImageWriterBase implements TiffConstants,
         BinaryConstants
diff --git a/src/main/java/org/apache/sanselan/formats/tiff/write/TiffImageWriterLossless.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffImageWriterLossless.java
similarity index 93%
rename from src/main/java/org/apache/sanselan/formats/tiff/write/TiffImageWriterLossless.java
rename to src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffImageWriterLossless.java
index dc506cf..72982da 100644
--- a/src/main/java/org/apache/sanselan/formats/tiff/write/TiffImageWriterLossless.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffImageWriterLossless.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.tiff.write;
+package org.apache.commons.sanselan.formats.tiff.write;
 
 import java.io.IOException;
 import java.io.OutputStream;
@@ -24,21 +24,21 @@
 import java.util.List;
 import java.util.Map;
 
-import org.apache.sanselan.FormatCompliance;
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.common.BinaryFileFunctions;
-import org.apache.sanselan.common.BinaryOutputStream;
-import org.apache.sanselan.common.byteSources.ByteSource;
-import org.apache.sanselan.common.byteSources.ByteSourceArray;
-import org.apache.sanselan.formats.tiff.JpegImageData;
-import org.apache.sanselan.formats.tiff.TiffContents;
-import org.apache.sanselan.formats.tiff.TiffDirectory;
-import org.apache.sanselan.formats.tiff.TiffElement;
-import org.apache.sanselan.formats.tiff.TiffField;
-import org.apache.sanselan.formats.tiff.TiffImageData;
-import org.apache.sanselan.formats.tiff.TiffReader;
-import org.apache.sanselan.util.Debug;
+import org.apache.commons.sanselan.FormatCompliance;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.common.BinaryFileFunctions;
+import org.apache.commons.sanselan.common.BinaryOutputStream;
+import org.apache.commons.sanselan.common.byteSources.ByteSource;
+import org.apache.commons.sanselan.common.byteSources.ByteSourceArray;
+import org.apache.commons.sanselan.formats.tiff.JpegImageData;
+import org.apache.commons.sanselan.formats.tiff.TiffContents;
+import org.apache.commons.sanselan.formats.tiff.TiffDirectory;
+import org.apache.commons.sanselan.formats.tiff.TiffElement;
+import org.apache.commons.sanselan.formats.tiff.TiffField;
+import org.apache.commons.sanselan.formats.tiff.TiffImageData;
+import org.apache.commons.sanselan.formats.tiff.TiffReader;
+import org.apache.commons.sanselan.util.Debug;
 
 public class TiffImageWriterLossless extends TiffImageWriterBase
 {
diff --git a/src/main/java/org/apache/sanselan/formats/tiff/write/TiffImageWriterLossy.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffImageWriterLossy.java
similarity index 93%
rename from src/main/java/org/apache/sanselan/formats/tiff/write/TiffImageWriterLossy.java
rename to src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffImageWriterLossy.java
index 7975962..a889e94 100644
--- a/src/main/java/org/apache/sanselan/formats/tiff/write/TiffImageWriterLossy.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffImageWriterLossy.java
@@ -14,14 +14,14 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.tiff.write;
+package org.apache.commons.sanselan.formats.tiff.write;
 
 import java.io.IOException;
 import java.io.OutputStream;
 import java.util.List;
 
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.common.BinaryOutputStream;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.common.BinaryOutputStream;
 
 public class TiffImageWriterLossy extends TiffImageWriterBase
 {
diff --git a/src/main/java/org/apache/sanselan/formats/tiff/write/TiffOutputDirectory.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffOutputDirectory.java
similarity index 92%
rename from src/main/java/org/apache/sanselan/formats/tiff/write/TiffOutputDirectory.java
rename to src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffOutputDirectory.java
index 1208958..d771e12 100644
--- a/src/main/java/org/apache/sanselan/formats/tiff/write/TiffOutputDirectory.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffOutputDirectory.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.tiff.write;
+package org.apache.commons.sanselan.formats.tiff.write;
 
 import java.io.IOException;
 import java.util.ArrayList;
@@ -22,16 +22,16 @@
 import java.util.Comparator;
 import java.util.List;
 
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.common.BinaryOutputStream;
-import org.apache.sanselan.formats.tiff.JpegImageData;
-import org.apache.sanselan.formats.tiff.TiffDirectory;
-import org.apache.sanselan.formats.tiff.TiffElement;
-import org.apache.sanselan.formats.tiff.TiffImageData;
-import org.apache.sanselan.formats.tiff.constants.TagConstantsUtils;
-import org.apache.sanselan.formats.tiff.constants.TagInfo;
-import org.apache.sanselan.formats.tiff.constants.TiffConstants;
-import org.apache.sanselan.formats.tiff.fieldtypes.FieldType;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.common.BinaryOutputStream;
+import org.apache.commons.sanselan.formats.tiff.JpegImageData;
+import org.apache.commons.sanselan.formats.tiff.TiffDirectory;
+import org.apache.commons.sanselan.formats.tiff.TiffElement;
+import org.apache.commons.sanselan.formats.tiff.TiffImageData;
+import org.apache.commons.sanselan.formats.tiff.constants.TagConstantsUtils;
+import org.apache.commons.sanselan.formats.tiff.constants.TagInfo;
+import org.apache.commons.sanselan.formats.tiff.constants.TiffConstants;
+import org.apache.commons.sanselan.formats.tiff.fieldtypes.FieldType;
 
 public final class TiffOutputDirectory extends TiffOutputItem implements
         TiffConstants
diff --git a/src/main/java/org/apache/sanselan/formats/tiff/write/TiffOutputField.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffOutputField.java
similarity index 94%
rename from src/main/java/org/apache/sanselan/formats/tiff/write/TiffOutputField.java
rename to src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffOutputField.java
index b657fbe..15bb8f8 100644
--- a/src/main/java/org/apache/sanselan/formats/tiff/write/TiffOutputField.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffOutputField.java
@@ -14,15 +14,15 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.tiff.write;
+package org.apache.commons.sanselan.formats.tiff.write;
 
 import java.io.IOException;
 
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.common.BinaryOutputStream;
-import org.apache.sanselan.formats.tiff.constants.TagInfo;
-import org.apache.sanselan.formats.tiff.constants.TiffConstants;
-import org.apache.sanselan.formats.tiff.fieldtypes.FieldType;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.common.BinaryOutputStream;
+import org.apache.commons.sanselan.formats.tiff.constants.TagInfo;
+import org.apache.commons.sanselan.formats.tiff.constants.TiffConstants;
+import org.apache.commons.sanselan.formats.tiff.fieldtypes.FieldType;
 
 public class TiffOutputField implements TiffConstants
 {
diff --git a/src/main/java/org/apache/sanselan/formats/tiff/write/TiffOutputItem.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffOutputItem.java
similarity index 90%
rename from src/main/java/org/apache/sanselan/formats/tiff/write/TiffOutputItem.java
rename to src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffOutputItem.java
index 2c2de07..66a8025 100644
--- a/src/main/java/org/apache/sanselan/formats/tiff/write/TiffOutputItem.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffOutputItem.java
@@ -14,13 +14,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.tiff.write;
+package org.apache.commons.sanselan.formats.tiff.write;
 
 import java.io.IOException;
 
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.common.BinaryOutputStream;
-import org.apache.sanselan.formats.tiff.constants.AllTagConstants;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.common.BinaryOutputStream;
+import org.apache.commons.sanselan.formats.tiff.constants.AllTagConstants;
 
 abstract class TiffOutputItem implements AllTagConstants
 {
diff --git a/src/main/java/org/apache/sanselan/formats/tiff/write/TiffOutputSet.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffOutputSet.java
similarity index 96%
rename from src/main/java/org/apache/sanselan/formats/tiff/write/TiffOutputSet.java
rename to src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffOutputSet.java
index 727f180..9681417 100644
--- a/src/main/java/org/apache/sanselan/formats/tiff/write/TiffOutputSet.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffOutputSet.java
@@ -14,15 +14,15 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.tiff.write;
+package org.apache.commons.sanselan.formats.tiff.write;
 
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.formats.tiff.constants.TagInfo;
-import org.apache.sanselan.formats.tiff.constants.TiffConstants;
-import org.apache.sanselan.util.Debug;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.formats.tiff.constants.TagInfo;
+import org.apache.commons.sanselan.formats.tiff.constants.TiffConstants;
+import org.apache.commons.sanselan.util.Debug;
 
 public final class TiffOutputSet implements TiffConstants
 {
diff --git a/src/main/java/org/apache/sanselan/formats/tiff/write/TiffOutputSummary.java b/src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffOutputSummary.java
similarity index 94%
rename from src/main/java/org/apache/sanselan/formats/tiff/write/TiffOutputSummary.java
rename to src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffOutputSummary.java
index 8e988cb..5a8cfea 100644
--- a/src/main/java/org/apache/sanselan/formats/tiff/write/TiffOutputSummary.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/tiff/write/TiffOutputSummary.java
@@ -14,14 +14,14 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.tiff.write;
+package org.apache.commons.sanselan.formats.tiff.write;
 
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.formats.tiff.constants.TiffConstants;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.formats.tiff.constants.TiffConstants;
 
 class TiffOutputSummary implements TiffConstants
 {
diff --git a/src/main/java/org/apache/sanselan/formats/transparencyfilters/TransparencyFilter.java b/src/main/java/org/apache/commons/sanselan/formats/transparencyfilters/TransparencyFilter.java
similarity index 86%
rename from src/main/java/org/apache/sanselan/formats/transparencyfilters/TransparencyFilter.java
rename to src/main/java/org/apache/commons/sanselan/formats/transparencyfilters/TransparencyFilter.java
index 0238afe..655f88d 100644
--- a/src/main/java/org/apache/sanselan/formats/transparencyfilters/TransparencyFilter.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/transparencyfilters/TransparencyFilter.java
@@ -14,12 +14,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.transparencyfilters;
+package org.apache.commons.sanselan.formats.transparencyfilters;
 
 import java.io.IOException;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.common.BinaryFileParser;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.common.BinaryFileParser;
 
 public abstract class TransparencyFilter extends BinaryFileParser
 {
diff --git a/src/main/java/org/apache/sanselan/formats/transparencyfilters/TransparencyFilterGrayscale.java b/src/main/java/org/apache/commons/sanselan/formats/transparencyfilters/TransparencyFilterGrayscale.java
similarity index 92%
rename from src/main/java/org/apache/sanselan/formats/transparencyfilters/TransparencyFilterGrayscale.java
rename to src/main/java/org/apache/commons/sanselan/formats/transparencyfilters/TransparencyFilterGrayscale.java
index d1263c0..819313e 100644
--- a/src/main/java/org/apache/sanselan/formats/transparencyfilters/TransparencyFilterGrayscale.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/transparencyfilters/TransparencyFilterGrayscale.java
@@ -14,12 +14,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.transparencyfilters;
+package org.apache.commons.sanselan.formats.transparencyfilters;
 
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 
-import org.apache.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageReadException;
 
 public class TransparencyFilterGrayscale extends TransparencyFilter
 {
diff --git a/src/main/java/org/apache/sanselan/formats/transparencyfilters/TransparencyFilterIndexedColor.java b/src/main/java/org/apache/commons/sanselan/formats/transparencyfilters/TransparencyFilterIndexedColor.java
similarity index 92%
rename from src/main/java/org/apache/sanselan/formats/transparencyfilters/TransparencyFilterIndexedColor.java
rename to src/main/java/org/apache/commons/sanselan/formats/transparencyfilters/TransparencyFilterIndexedColor.java
index eccbf7d..410ff00 100644
--- a/src/main/java/org/apache/sanselan/formats/transparencyfilters/TransparencyFilterIndexedColor.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/transparencyfilters/TransparencyFilterIndexedColor.java
@@ -14,11 +14,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.transparencyfilters;
+package org.apache.commons.sanselan.formats.transparencyfilters;
 
 import java.io.IOException;
 
-import org.apache.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageReadException;
 
 public class TransparencyFilterIndexedColor extends TransparencyFilter
 {
diff --git a/src/main/java/org/apache/sanselan/formats/transparencyfilters/TransparencyFilterTrueColor.java b/src/main/java/org/apache/commons/sanselan/formats/transparencyfilters/TransparencyFilterTrueColor.java
similarity index 94%
rename from src/main/java/org/apache/sanselan/formats/transparencyfilters/TransparencyFilterTrueColor.java
rename to src/main/java/org/apache/commons/sanselan/formats/transparencyfilters/TransparencyFilterTrueColor.java
index ab51151..df57d07 100644
--- a/src/main/java/org/apache/sanselan/formats/transparencyfilters/TransparencyFilterTrueColor.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/transparencyfilters/TransparencyFilterTrueColor.java
@@ -14,12 +14,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.formats.transparencyfilters;
+package org.apache.commons.sanselan.formats.transparencyfilters;
 
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 
-import org.apache.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageReadException;
 
 public class TransparencyFilterTrueColor extends TransparencyFilter
 {
diff --git a/src/main/java/org/apache/sanselan/formats/wbmp/WbmpImageParser.java b/src/main/java/org/apache/commons/sanselan/formats/wbmp/WbmpImageParser.java
similarity index 95%
rename from src/main/java/org/apache/sanselan/formats/wbmp/WbmpImageParser.java
rename to src/main/java/org/apache/commons/sanselan/formats/wbmp/WbmpImageParser.java
index d8ee401..0e98c71 100644
--- a/src/main/java/org/apache/sanselan/formats/wbmp/WbmpImageParser.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/wbmp/WbmpImageParser.java
@@ -13,7 +13,7 @@
  *  under the License.
  */
 
-package org.apache.sanselan.formats.wbmp;
+package org.apache.commons.sanselan.formats.wbmp;
 
 import java.awt.Dimension;
 import java.awt.image.BufferedImage;
@@ -30,13 +30,14 @@
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Properties;
-import org.apache.sanselan.ImageFormat;
-import org.apache.sanselan.ImageInfo;
-import org.apache.sanselan.ImageParser;
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.common.IImageMetadata;
-import org.apache.sanselan.common.byteSources.ByteSource;
+
+import org.apache.commons.sanselan.ImageFormat;
+import org.apache.commons.sanselan.ImageInfo;
+import org.apache.commons.sanselan.ImageParser;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.common.IImageMetadata;
+import org.apache.commons.sanselan.common.byteSources.ByteSource;
 
 public class WbmpImageParser extends ImageParser
 {
diff --git a/src/main/java/org/apache/sanselan/formats/xbm/XbmImageParser.java b/src/main/java/org/apache/commons/sanselan/formats/xbm/XbmImageParser.java
similarity index 96%
rename from src/main/java/org/apache/sanselan/formats/xbm/XbmImageParser.java
rename to src/main/java/org/apache/commons/sanselan/formats/xbm/XbmImageParser.java
index 68b1acd..6f51504 100644
--- a/src/main/java/org/apache/sanselan/formats/xbm/XbmImageParser.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/xbm/XbmImageParser.java
@@ -13,7 +13,7 @@
  *  under the License.
  */
 
-package org.apache.sanselan.formats.xbm;
+package org.apache.commons.sanselan.formats.xbm;
 
 import java.awt.Dimension;
 import java.awt.image.BufferedImage;
@@ -35,14 +35,15 @@
 import java.util.Map;
 import java.util.Properties;
 import java.util.UUID;
-import org.apache.sanselan.ImageFormat;
-import org.apache.sanselan.ImageInfo;
-import org.apache.sanselan.ImageParser;
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.common.BasicCParser;
-import org.apache.sanselan.common.IImageMetadata;
-import org.apache.sanselan.common.byteSources.ByteSource;
+
+import org.apache.commons.sanselan.ImageFormat;
+import org.apache.commons.sanselan.ImageInfo;
+import org.apache.commons.sanselan.ImageParser;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.common.BasicCParser;
+import org.apache.commons.sanselan.common.IImageMetadata;
+import org.apache.commons.sanselan.common.byteSources.ByteSource;
 
 public class XbmImageParser extends ImageParser
 {
diff --git a/src/main/java/org/apache/sanselan/formats/xpm/XpmImageParser.java b/src/main/java/org/apache/commons/sanselan/formats/xpm/XpmImageParser.java
similarity index 97%
rename from src/main/java/org/apache/sanselan/formats/xpm/XpmImageParser.java
rename to src/main/java/org/apache/commons/sanselan/formats/xpm/XpmImageParser.java
index 95ae060..597bb29 100644
--- a/src/main/java/org/apache/sanselan/formats/xpm/XpmImageParser.java
+++ b/src/main/java/org/apache/commons/sanselan/formats/xpm/XpmImageParser.java
@@ -13,7 +13,7 @@
  *  under the License.
  */
 
-package org.apache.sanselan.formats.xpm;
+package org.apache.commons.sanselan.formats.xpm;
 
 import java.awt.Dimension;
 import java.awt.image.BufferedImage;
@@ -38,17 +38,18 @@
 import java.util.Map;
 import java.util.Properties;
 import java.util.UUID;
-import org.apache.sanselan.ImageFormat;
-import org.apache.sanselan.ImageInfo;
-import org.apache.sanselan.ImageParser;
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.common.BasicCParser;
-import org.apache.sanselan.common.IImageMetadata;
-import org.apache.sanselan.common.byteSources.ByteSource;
-import org.apache.sanselan.palette.PaletteFactory;
-import org.apache.sanselan.palette.SimplePalette;
-import org.apache.sanselan.util.Debug;
+
+import org.apache.commons.sanselan.ImageFormat;
+import org.apache.commons.sanselan.ImageInfo;
+import org.apache.commons.sanselan.ImageParser;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.common.BasicCParser;
+import org.apache.commons.sanselan.common.IImageMetadata;
+import org.apache.commons.sanselan.common.byteSources.ByteSource;
+import org.apache.commons.sanselan.palette.PaletteFactory;
+import org.apache.commons.sanselan.palette.SimplePalette;
+import org.apache.commons.sanselan.util.Debug;
 
 public class XpmImageParser extends ImageParser
 {
diff --git a/src/main/java/org/apache/sanselan/icc/IccConstants.java b/src/main/java/org/apache/commons/sanselan/icc/IccConstants.java
similarity index 98%
rename from src/main/java/org/apache/sanselan/icc/IccConstants.java
rename to src/main/java/org/apache/commons/sanselan/icc/IccConstants.java
index 00f1f2f..f9274b7 100644
--- a/src/main/java/org/apache/sanselan/icc/IccConstants.java
+++ b/src/main/java/org/apache/commons/sanselan/icc/IccConstants.java
@@ -14,14 +14,14 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.icc;
+package org.apache.commons.sanselan.icc;
 
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.common.BinaryConstants;
-import org.apache.sanselan.common.BinaryInputStream;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.common.BinaryConstants;
+import org.apache.commons.sanselan.common.BinaryInputStream;
 
 public interface IccConstants
 {
diff --git a/src/main/java/org/apache/sanselan/icc/IccProfileInfo.java b/src/main/java/org/apache/commons/sanselan/icc/IccProfileInfo.java
similarity index 97%
rename from src/main/java/org/apache/sanselan/icc/IccProfileInfo.java
rename to src/main/java/org/apache/commons/sanselan/icc/IccProfileInfo.java
index 66bf326..ca26cc7 100644
--- a/src/main/java/org/apache/sanselan/icc/IccProfileInfo.java
+++ b/src/main/java/org/apache/commons/sanselan/icc/IccProfileInfo.java
@@ -14,13 +14,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.icc;
+package org.apache.commons.sanselan.icc;
 
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.io.StringWriter;
 
-import org.apache.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageReadException;
 
 public class IccProfileInfo implements IccConstants
 {
diff --git a/src/main/java/org/apache/sanselan/icc/IccProfileParser.java b/src/main/java/org/apache/commons/sanselan/icc/IccProfileParser.java
similarity index 96%
rename from src/main/java/org/apache/sanselan/icc/IccProfileParser.java
rename to src/main/java/org/apache/commons/sanselan/icc/IccProfileParser.java
index 53b0c7c..7765ae7 100644
--- a/src/main/java/org/apache/sanselan/icc/IccProfileParser.java
+++ b/src/main/java/org/apache/commons/sanselan/icc/IccProfileParser.java
@@ -14,19 +14,19 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.icc;
+package org.apache.commons.sanselan.icc;
 
 import java.awt.color.ICC_Profile;
 import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
 
-import org.apache.sanselan.common.BinaryFileParser;
-import org.apache.sanselan.common.byteSources.ByteSource;
-import org.apache.sanselan.common.byteSources.ByteSourceArray;
-import org.apache.sanselan.common.byteSources.ByteSourceFile;
-import org.apache.sanselan.util.CachingInputStream;
-import org.apache.sanselan.util.Debug;
+import org.apache.commons.sanselan.common.BinaryFileParser;
+import org.apache.commons.sanselan.common.byteSources.ByteSource;
+import org.apache.commons.sanselan.common.byteSources.ByteSourceArray;
+import org.apache.commons.sanselan.common.byteSources.ByteSourceFile;
+import org.apache.commons.sanselan.util.CachingInputStream;
+import org.apache.commons.sanselan.util.Debug;
 
 public class IccProfileParser extends BinaryFileParser implements IccConstants
 {
diff --git a/src/main/java/org/apache/sanselan/icc/IccTag.java b/src/main/java/org/apache/commons/sanselan/icc/IccTag.java
similarity index 94%
rename from src/main/java/org/apache/sanselan/icc/IccTag.java
rename to src/main/java/org/apache/commons/sanselan/icc/IccTag.java
index f5ae939..9bc6942 100644
--- a/src/main/java/org/apache/sanselan/icc/IccTag.java
+++ b/src/main/java/org/apache/commons/sanselan/icc/IccTag.java
@@ -14,16 +14,16 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.icc;
+package org.apache.commons.sanselan.icc;
 
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.io.OutputStreamWriter;
 import java.io.PrintWriter;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.common.BinaryConstants;
-import org.apache.sanselan.common.BinaryInputStream;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.common.BinaryConstants;
+import org.apache.commons.sanselan.common.BinaryInputStream;
 
 public class IccTag implements BinaryConstants, IccConstants
 {
diff --git a/src/main/java/org/apache/sanselan/icc/IccTagDataType.java b/src/main/java/org/apache/commons/sanselan/icc/IccTagDataType.java
similarity index 92%
rename from src/main/java/org/apache/sanselan/icc/IccTagDataType.java
rename to src/main/java/org/apache/commons/sanselan/icc/IccTagDataType.java
index 1d57527..0437b33 100644
--- a/src/main/java/org/apache/sanselan/icc/IccTagDataType.java
+++ b/src/main/java/org/apache/commons/sanselan/icc/IccTagDataType.java
@@ -14,11 +14,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.icc;
+package org.apache.commons.sanselan.icc;
 
 import java.io.IOException;
 
-import org.apache.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageReadException;
 
 public abstract class IccTagDataType
 {
diff --git a/src/main/java/org/apache/sanselan/icc/IccTagType.java b/src/main/java/org/apache/commons/sanselan/icc/IccTagType.java
similarity index 96%
rename from src/main/java/org/apache/sanselan/icc/IccTagType.java
rename to src/main/java/org/apache/commons/sanselan/icc/IccTagType.java
index 73c32b9..e8038c3 100644
--- a/src/main/java/org/apache/sanselan/icc/IccTagType.java
+++ b/src/main/java/org/apache/commons/sanselan/icc/IccTagType.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.icc;
+package org.apache.commons.sanselan.icc;
 
 public class IccTagType
 {
diff --git a/src/main/java/org/apache/sanselan/palette/ColorSpaceSubset.java b/src/main/java/org/apache/commons/sanselan/palette/ColorSpaceSubset.java
similarity index 98%
rename from src/main/java/org/apache/sanselan/palette/ColorSpaceSubset.java
rename to src/main/java/org/apache/commons/sanselan/palette/ColorSpaceSubset.java
index 5fac6b5..561393a 100644
--- a/src/main/java/org/apache/sanselan/palette/ColorSpaceSubset.java
+++ b/src/main/java/org/apache/commons/sanselan/palette/ColorSpaceSubset.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.palette;
+package org.apache.commons.sanselan.palette;
 
 class ColorSpaceSubset implements Comparable
 {
diff --git a/src/main/java/org/apache/sanselan/palette/MedianCutQuantizer.java b/src/main/java/org/apache/commons/sanselan/palette/MedianCutQuantizer.java
similarity index 98%
rename from src/main/java/org/apache/sanselan/palette/MedianCutQuantizer.java
rename to src/main/java/org/apache/commons/sanselan/palette/MedianCutQuantizer.java
index a463eeb..8217bca 100644
--- a/src/main/java/org/apache/sanselan/palette/MedianCutQuantizer.java
+++ b/src/main/java/org/apache/commons/sanselan/palette/MedianCutQuantizer.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.palette;
+package org.apache.commons.sanselan.palette;
 
 import java.awt.image.BufferedImage;
 import java.util.ArrayList;
@@ -23,8 +23,8 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.util.Debug;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.util.Debug;
 
 public class MedianCutQuantizer
 {
diff --git a/src/main/java/org/apache/sanselan/palette/Palette.java b/src/main/java/org/apache/commons/sanselan/palette/Palette.java
similarity index 90%
rename from src/main/java/org/apache/sanselan/palette/Palette.java
rename to src/main/java/org/apache/commons/sanselan/palette/Palette.java
index 0af5042..235bbdd 100644
--- a/src/main/java/org/apache/sanselan/palette/Palette.java
+++ b/src/main/java/org/apache/commons/sanselan/palette/Palette.java
@@ -14,9 +14,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.palette;
+package org.apache.commons.sanselan.palette;
 
-import org.apache.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.ImageWriteException;
 
 public abstract class Palette
 {
diff --git a/src/main/java/org/apache/sanselan/palette/PaletteFactory.java b/src/main/java/org/apache/commons/sanselan/palette/PaletteFactory.java
similarity index 99%
rename from src/main/java/org/apache/sanselan/palette/PaletteFactory.java
rename to src/main/java/org/apache/commons/sanselan/palette/PaletteFactory.java
index 12f96eb..fa0e12e 100644
--- a/src/main/java/org/apache/sanselan/palette/PaletteFactory.java
+++ b/src/main/java/org/apache/commons/sanselan/palette/PaletteFactory.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.palette;
+package org.apache.commons.sanselan.palette;
 
 import java.awt.color.ColorSpace;
 import java.awt.image.BufferedImage;
diff --git a/src/main/java/org/apache/sanselan/palette/QuantizedPalette.java b/src/main/java/org/apache/commons/sanselan/palette/QuantizedPalette.java
similarity index 96%
rename from src/main/java/org/apache/sanselan/palette/QuantizedPalette.java
rename to src/main/java/org/apache/commons/sanselan/palette/QuantizedPalette.java
index 49e64ba..c8762df 100644
--- a/src/main/java/org/apache/sanselan/palette/QuantizedPalette.java
+++ b/src/main/java/org/apache/commons/sanselan/palette/QuantizedPalette.java
@@ -14,11 +14,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.palette;
+package org.apache.commons.sanselan.palette;
 
 import java.util.ArrayList;
 
-import org.apache.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.ImageWriteException;
 
 public class QuantizedPalette extends Palette
 {
diff --git a/src/main/java/org/apache/sanselan/palette/SimplePalette.java b/src/main/java/org/apache/commons/sanselan/palette/SimplePalette.java
similarity index 95%
rename from src/main/java/org/apache/sanselan/palette/SimplePalette.java
rename to src/main/java/org/apache/commons/sanselan/palette/SimplePalette.java
index 2afd935..2647963 100644
--- a/src/main/java/org/apache/sanselan/palette/SimplePalette.java
+++ b/src/main/java/org/apache/commons/sanselan/palette/SimplePalette.java
@@ -14,9 +14,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.palette;
+package org.apache.commons.sanselan.palette;
 
-import org.apache.sanselan.util.Debug;
+import org.apache.commons.sanselan.util.Debug;
 
 public class SimplePalette extends Palette
 {
diff --git a/src/main/java/org/apache/sanselan/util/CachingInputStream.java b/src/main/java/org/apache/commons/sanselan/util/CachingInputStream.java
similarity index 97%
rename from src/main/java/org/apache/sanselan/util/CachingInputStream.java
rename to src/main/java/org/apache/commons/sanselan/util/CachingInputStream.java
index 1f67ea7..330b589 100644
--- a/src/main/java/org/apache/sanselan/util/CachingInputStream.java
+++ b/src/main/java/org/apache/commons/sanselan/util/CachingInputStream.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.util;
+package org.apache.commons.sanselan.util;
 
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
diff --git a/src/main/java/org/apache/sanselan/util/CachingOutputStream.java b/src/main/java/org/apache/commons/sanselan/util/CachingOutputStream.java
similarity index 96%
rename from src/main/java/org/apache/sanselan/util/CachingOutputStream.java
rename to src/main/java/org/apache/commons/sanselan/util/CachingOutputStream.java
index 20e3f58..b0792dc 100644
--- a/src/main/java/org/apache/sanselan/util/CachingOutputStream.java
+++ b/src/main/java/org/apache/commons/sanselan/util/CachingOutputStream.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.util;
+package org.apache.commons.sanselan.util;
 
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
diff --git a/src/main/java/org/apache/sanselan/util/Debug.java b/src/main/java/org/apache/commons/sanselan/util/Debug.java
similarity index 99%
rename from src/main/java/org/apache/sanselan/util/Debug.java
rename to src/main/java/org/apache/commons/sanselan/util/Debug.java
index 96c36ed..1f78498 100644
--- a/src/main/java/org/apache/sanselan/util/Debug.java
+++ b/src/main/java/org/apache/commons/sanselan/util/Debug.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.util;
+package org.apache.commons.sanselan.util;
 
 import java.awt.Dimension;
 import java.awt.Point;
diff --git a/src/main/java/org/apache/sanselan/util/DebugInputStream.java b/src/main/java/org/apache/commons/sanselan/util/DebugInputStream.java
similarity index 97%
rename from src/main/java/org/apache/sanselan/util/DebugInputStream.java
rename to src/main/java/org/apache/commons/sanselan/util/DebugInputStream.java
index b5b63ca..d10b161 100644
--- a/src/main/java/org/apache/sanselan/util/DebugInputStream.java
+++ b/src/main/java/org/apache/commons/sanselan/util/DebugInputStream.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.util;
+package org.apache.commons.sanselan.util;
 
 import java.io.IOException;
 import java.io.InputStream;
diff --git a/src/main/java/org/apache/sanselan/util/DebugOutputStream.java b/src/main/java/org/apache/commons/sanselan/util/DebugOutputStream.java
similarity index 97%
rename from src/main/java/org/apache/sanselan/util/DebugOutputStream.java
rename to src/main/java/org/apache/commons/sanselan/util/DebugOutputStream.java
index 033b123..66d8c95 100644
--- a/src/main/java/org/apache/sanselan/util/DebugOutputStream.java
+++ b/src/main/java/org/apache/commons/sanselan/util/DebugOutputStream.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.util;
+package org.apache.commons.sanselan.util;
 
 import java.io.IOException;
 import java.io.OutputStream;
diff --git a/src/main/java/org/apache/sanselan/util/IOUtils.java b/src/main/java/org/apache/commons/sanselan/util/IOUtils.java
similarity index 98%
rename from src/main/java/org/apache/sanselan/util/IOUtils.java
rename to src/main/java/org/apache/commons/sanselan/util/IOUtils.java
index 5215b77..a6776f7 100644
--- a/src/main/java/org/apache/sanselan/util/IOUtils.java
+++ b/src/main/java/org/apache/commons/sanselan/util/IOUtils.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.util;
+package org.apache.commons.sanselan.util;
 
 import java.io.BufferedInputStream;
 import java.io.BufferedOutputStream;
@@ -28,7 +28,7 @@
 import java.io.OutputStream;
 import java.nio.channels.FileChannel;
 
-import org.apache.sanselan.SanselanConstants;
+import org.apache.commons.sanselan.SanselanConstants;
 
 public class IOUtils implements SanselanConstants
 {
diff --git a/src/main/java/org/apache/sanselan/util/ParamMap.java b/src/main/java/org/apache/commons/sanselan/util/ParamMap.java
similarity index 96%
rename from src/main/java/org/apache/sanselan/util/ParamMap.java
rename to src/main/java/org/apache/commons/sanselan/util/ParamMap.java
index 9770b8e..48632a5 100644
--- a/src/main/java/org/apache/sanselan/util/ParamMap.java
+++ b/src/main/java/org/apache/commons/sanselan/util/ParamMap.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.util;
+package org.apache.commons.sanselan.util;
 
 import java.util.Map;
 
diff --git a/src/main/java/org/apache/sanselan/util/UnicodeUtils.java b/src/main/java/org/apache/commons/sanselan/util/UnicodeUtils.java
similarity index 99%
rename from src/main/java/org/apache/sanselan/util/UnicodeUtils.java
rename to src/main/java/org/apache/commons/sanselan/util/UnicodeUtils.java
index 052277c..f101b15 100644
--- a/src/main/java/org/apache/sanselan/util/UnicodeUtils.java
+++ b/src/main/java/org/apache/commons/sanselan/util/UnicodeUtils.java
@@ -15,11 +15,11 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.util;
+package org.apache.commons.sanselan.util;
 
 import java.io.UnsupportedEncodingException;
 
-import org.apache.sanselan.common.BinaryConstants;
+import org.apache.commons.sanselan.common.BinaryConstants;
 
 public abstract class UnicodeUtils implements BinaryConstants
 {
diff --git a/src/site/xdoc/history.xml b/src/site/xdoc/history.xml
index 8e56190..481fa35 100644
--- a/src/site/xdoc/history.xml
+++ b/src/site/xdoc/history.xml
@@ -46,7 +46,7 @@
 <p>
   Version 0.88 released November 17th, 2007.
   <ul>
-    <li>Restored original package structure. (org.apache.sanselan.* -> org.cmc.sanselan.*)</li>
+    <li>Restored original package structure. (org.apache.commons.sanselan.* -> org.cmc.sanselan.*)</li>
     <li>Refactored "byte sources," improving performance reading image data from InputStreams.</li>
     <li>More code cleanup, mostly removing debugging code and applying naming conventions.</li>
     <li>Fixed two bugs around pngs: alpha channels weren't be written properly, and alpha channel was not being preserved when reading grayscale pngs.</li>
@@ -120,7 +120,7 @@
   Version 0.80 released July 25th, 2007.
   <ul>
     <li>I've begun a overhaul of the codebase in anticipation of becoming an Apache Incubator project.</li>
-    <li>I've changed the package names (again) to be org.apache.sanselan.*.</li>
+    <li>I've changed the package names (again) to be org.apache.commons.sanselan.*.</li>
     <li>I've removed the dependency on sharedlib.</li>
     <li>I've removed a great deal of old cruft.</li>
     <li>I've begun to apply a consistent naming convention to variables (lowerCamelCase) and constant names (ALL_CAPS).</li>
diff --git a/src/site/xdoc/index.xml b/src/site/xdoc/index.xml
index 20dfeaf..c683896 100644
--- a/src/site/xdoc/index.xml
+++ b/src/site/xdoc/index.xml
@@ -67,7 +67,7 @@
   <ul>
     <li><a href="api-release/index.html">Javadocs</a></li>
     <ul>
-      <li>Start with the <a href="api-release/index.html?org/apache/sanselan/Sanselan.html">Sanselan class</a></li>
+      <li>Start with the <a href="api-release/index.html?org/apache/commons/sanselan/Sanselan.html">Sanselan class</a></li>
     </ul>
   </ul>
 </p>
diff --git a/src/site/xdoc/sampleusage.xml b/src/site/xdoc/sampleusage.xml
index 54d7ea7..a041f98 100644
--- a/src/site/xdoc/sampleusage.xml
+++ b/src/site/xdoc/sampleusage.xml
@@ -26,12 +26,12 @@
 
 <subsection name="Example Code">
 <p>
-  Can be found in the source distribution in org.apache.sanselan.sampleUsage package
+  Can be found in the source distribution in org.apache.commons.sanselan.sampleUsage package
   <ul>
-      <li><a href="https://svn.apache.org/repos/asf/commons/proper/sanselan/trunk/src/test/java/org/apache/sanselan/sampleUsage/SampleUsage.java">SampleUsage.java</a>(includes the above code)</li>
-      <li><a href="https://svn.apache.org/repos/asf/commons/proper/sanselan/trunk/src/test/java/org/apache/sanselan/sampleUsage/MetadataExample.java">MetadataExample.java</a>(illustrates how to find JPEG EXIF metadata such as GPS, date and time photo taken, etc.)</li>
-      <li><a href="https://svn.apache.org/repos/asf/commons/proper/sanselan/trunk/src/test/java/org/apache/sanselan/sampleUsage/ImageWriteExample.java">ImageWriteExample.java</a>(illustrates how to write an image)</li>
-      <li><a href="https://svn.apache.org/repos/asf/commons/proper/sanselan/trunk/src/test/java/org/apache/sanselan/sampleUsage/ImageReadExample.java">ImageReadExample.java</a>(illustrates how to read an image)</li>
+      <li><a href="https://svn.apache.org/repos/asf/commons/proper/sanselan/trunk/src/test/java/org/apache/commons/sanselan/sampleUsage/SampleUsage.java">SampleUsage.java</a>(includes the above code)</li>
+      <li><a href="https://svn.apache.org/repos/asf/commons/proper/sanselan/trunk/src/test/java/org/apache/commons/sanselan/sampleUsage/MetadataExample.java">MetadataExample.java</a>(illustrates how to find JPEG EXIF metadata such as GPS, date and time photo taken, etc.)</li>
+      <li><a href="https://svn.apache.org/repos/asf/commons/proper/sanselan/trunk/src/test/java/org/apache/commons/sanselan/sampleUsage/ImageWriteExample.java">ImageWriteExample.java</a>(illustrates how to write an image)</li>
+      <li><a href="https://svn.apache.org/repos/asf/commons/proper/sanselan/trunk/src/test/java/org/apache/commons/sanselan/sampleUsage/ImageReadExample.java">ImageReadExample.java</a>(illustrates how to read an image)</li>
   </ul>
 </p>
 </subsection>
@@ -49,7 +49,7 @@
 import java.util.Hashtable;
 import java.util.Map;
 
-import org.apache.sanselan.*;
+import org.apache.commons.sanselan.*;
 
 // Code won't work unless these variables are properly initialized. 
 // Sanselan works equally well with File, byte array or InputStream inputs.
diff --git a/src/test/java/org/apache/sanselan/SanselanGuessFormatTest.java b/src/test/java/org/apache/commons/sanselan/SanselanGuessFormatTest.java
similarity index 95%
rename from src/test/java/org/apache/sanselan/SanselanGuessFormatTest.java
rename to src/test/java/org/apache/commons/sanselan/SanselanGuessFormatTest.java
index e210ed3..5312b62 100644
--- a/src/test/java/org/apache/sanselan/SanselanGuessFormatTest.java
+++ b/src/test/java/org/apache/commons/sanselan/SanselanGuessFormatTest.java
@@ -15,11 +15,14 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan;
+package org.apache.commons.sanselan;
 
 import java.io.File;
 import java.io.IOException;
 import org.apache.commons.io.FilenameUtils;
+import org.apache.commons.sanselan.ImageFormat;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.Sanselan;
 
 public class SanselanGuessFormatTest extends SanselanTest {
 
diff --git a/src/test/java/org/apache/sanselan/SanselanTest.java b/src/test/java/org/apache/commons/sanselan/SanselanTest.java
similarity index 94%
rename from src/test/java/org/apache/sanselan/SanselanTest.java
rename to src/test/java/org/apache/commons/sanselan/SanselanTest.java
index 17745ab..b53c896 100644
--- a/src/test/java/org/apache/sanselan/SanselanTest.java
+++ b/src/test/java/org/apache/commons/sanselan/SanselanTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan;
+package org.apache.commons.sanselan;
 
 import java.io.File;
 import java.io.IOException;
@@ -24,8 +24,11 @@
 
 import junit.framework.TestCase;
 
-import org.apache.sanselan.test.util.FSTraversal;
-import org.apache.sanselan.util.Debug;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.Sanselan;
+import org.apache.commons.sanselan.SanselanConstants;
+import org.apache.commons.sanselan.test.util.FSTraversal;
+import org.apache.commons.sanselan.util.Debug;
 
 public abstract class SanselanTest extends TestCase implements
         SanselanTestConstants, SanselanConstants {
diff --git a/src/test/java/org/apache/sanselan/SanselanTestConstants.java b/src/test/java/org/apache/commons/sanselan/SanselanTestConstants.java
similarity index 97%
rename from src/test/java/org/apache/sanselan/SanselanTestConstants.java
rename to src/test/java/org/apache/commons/sanselan/SanselanTestConstants.java
index 8954e64..89c3c4a 100644
--- a/src/test/java/org/apache/sanselan/SanselanTestConstants.java
+++ b/src/test/java/org/apache/commons/sanselan/SanselanTestConstants.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan;
+package org.apache.commons.sanselan;
 
 import java.io.File;
 import org.apache.commons.io.FilenameUtils;
diff --git a/src/test/java/org/apache/sanselan/common/BinaryFileFunctionsTest.java b/src/test/java/org/apache/commons/sanselan/common/BinaryFileFunctionsTest.java
similarity index 92%
rename from src/test/java/org/apache/sanselan/common/BinaryFileFunctionsTest.java
rename to src/test/java/org/apache/commons/sanselan/common/BinaryFileFunctionsTest.java
index 51753df..131ccff 100644
--- a/src/test/java/org/apache/sanselan/common/BinaryFileFunctionsTest.java
+++ b/src/test/java/org/apache/commons/sanselan/common/BinaryFileFunctionsTest.java
@@ -13,9 +13,10 @@
  *  under the License.
  */
 
-package org.apache.sanselan.common;
+package org.apache.commons.sanselan.common;
 
-import org.apache.sanselan.SanselanTest;
+import org.apache.commons.sanselan.SanselanTest;
+import org.apache.commons.sanselan.common.BinaryFileFunctions;
 
 public class BinaryFileFunctionsTest extends SanselanTest {
     // Work around that pesky "protected"...
diff --git a/src/test/java/org/apache/sanselan/common/RationalNumberTest.java b/src/test/java/org/apache/commons/sanselan/common/RationalNumberTest.java
similarity index 93%
rename from src/test/java/org/apache/sanselan/common/RationalNumberTest.java
rename to src/test/java/org/apache/commons/sanselan/common/RationalNumberTest.java
index 4a301db..5a31c63 100644
--- a/src/test/java/org/apache/sanselan/common/RationalNumberTest.java
+++ b/src/test/java/org/apache/commons/sanselan/common/RationalNumberTest.java
@@ -15,13 +15,15 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.common;
+package org.apache.commons.sanselan.common;
 
 import java.text.DecimalFormat;
 import java.text.NumberFormat;
 
-import org.apache.sanselan.SanselanTest;
-import org.apache.sanselan.util.Debug;
+import org.apache.commons.sanselan.SanselanTest;
+import org.apache.commons.sanselan.common.RationalNumber;
+import org.apache.commons.sanselan.common.RationalNumberUtilities;
+import org.apache.commons.sanselan.util.Debug;
 
 public class RationalNumberTest extends SanselanTest
 {
diff --git a/src/test/java/org/apache/sanselan/common/byteSources/ByteSourceDataTest.java b/src/test/java/org/apache/commons/sanselan/common/byteSources/ByteSourceDataTest.java
similarity index 93%
rename from src/test/java/org/apache/sanselan/common/byteSources/ByteSourceDataTest.java
rename to src/test/java/org/apache/commons/sanselan/common/byteSources/ByteSourceDataTest.java
index 637bf7b..7f5db7f 100644
--- a/src/test/java/org/apache/sanselan/common/byteSources/ByteSourceDataTest.java
+++ b/src/test/java/org/apache/commons/sanselan/common/byteSources/ByteSourceDataTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.common.byteSources;
+package org.apache.commons.sanselan.common.byteSources;
 
 import java.io.ByteArrayInputStream;
 import java.io.File;
@@ -23,7 +23,10 @@
 import java.io.IOException;
 import java.io.InputStream;
 
-import org.apache.sanselan.util.IOUtils;
+import org.apache.commons.sanselan.common.byteSources.ByteSource;
+import org.apache.commons.sanselan.common.byteSources.ByteSourceFile;
+import org.apache.commons.sanselan.common.byteSources.ByteSourceInputStream;
+import org.apache.commons.sanselan.util.IOUtils;
 
 public class ByteSourceDataTest extends ByteSourceTest
 {
diff --git a/src/test/java/org/apache/sanselan/common/byteSources/ByteSourceImageTest.java b/src/test/java/org/apache/commons/sanselan/common/byteSources/ByteSourceImageTest.java
similarity index 95%
rename from src/test/java/org/apache/sanselan/common/byteSources/ByteSourceImageTest.java
rename to src/test/java/org/apache/commons/sanselan/common/byteSources/ByteSourceImageTest.java
index 0291718..80bef88 100644
--- a/src/test/java/org/apache/sanselan/common/byteSources/ByteSourceImageTest.java
+++ b/src/test/java/org/apache/commons/sanselan/common/byteSources/ByteSourceImageTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.common.byteSources;
+package org.apache.commons.sanselan.common.byteSources;
 
 import java.awt.Dimension;
 import java.awt.image.BufferedImage;
@@ -28,12 +28,12 @@
 import java.util.List;
 import java.util.Map;
 
-import org.apache.sanselan.ImageFormat;
-import org.apache.sanselan.ImageInfo;
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.Sanselan;
-import org.apache.sanselan.util.Debug;
-import org.apache.sanselan.util.IOUtils;
+import org.apache.commons.sanselan.ImageFormat;
+import org.apache.commons.sanselan.ImageInfo;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.Sanselan;
+import org.apache.commons.sanselan.util.Debug;
+import org.apache.commons.sanselan.util.IOUtils;
 
 public class ByteSourceImageTest extends ByteSourceTest
 {
diff --git a/src/test/java/org/apache/sanselan/common/byteSources/ByteSourceTest.java b/src/test/java/org/apache/commons/sanselan/common/byteSources/ByteSourceTest.java
similarity index 95%
rename from src/test/java/org/apache/sanselan/common/byteSources/ByteSourceTest.java
rename to src/test/java/org/apache/commons/sanselan/common/byteSources/ByteSourceTest.java
index 8f62871..7eab166 100644
--- a/src/test/java/org/apache/sanselan/common/byteSources/ByteSourceTest.java
+++ b/src/test/java/org/apache/commons/sanselan/common/byteSources/ByteSourceTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.common.byteSources;
+package org.apache.commons.sanselan.common.byteSources;
 
 import java.io.BufferedOutputStream;
 import java.io.ByteArrayOutputStream;
@@ -24,7 +24,7 @@
 import java.io.IOException;
 import java.io.OutputStream;
 
-import org.apache.sanselan.SanselanTest;
+import org.apache.commons.sanselan.SanselanTest;
 
 public abstract class ByteSourceTest extends SanselanTest
 {
diff --git a/src/test/java/org/apache/sanselan/formats/bmp/BmpBaseTest.java b/src/test/java/org/apache/commons/sanselan/formats/bmp/BmpBaseTest.java
similarity index 85%
rename from src/test/java/org/apache/sanselan/formats/bmp/BmpBaseTest.java
rename to src/test/java/org/apache/commons/sanselan/formats/bmp/BmpBaseTest.java
index 2e715fb..d0ae061 100644
--- a/src/test/java/org/apache/sanselan/formats/bmp/BmpBaseTest.java
+++ b/src/test/java/org/apache/commons/sanselan/formats/bmp/BmpBaseTest.java
@@ -15,16 +15,16 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.formats.bmp;
+package org.apache.commons.sanselan.formats.bmp;
 
 import java.io.File;
 import java.io.IOException;
 import java.util.List;
 
-import org.apache.sanselan.ImageFormat;
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.Sanselan;
-import org.apache.sanselan.SanselanTest;
+import org.apache.commons.sanselan.ImageFormat;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.Sanselan;
+import org.apache.commons.sanselan.SanselanTest;
 
 public abstract class BmpBaseTest extends SanselanTest
 {
diff --git a/src/test/java/org/apache/sanselan/formats/bmp/BmpReadTest.java b/src/test/java/org/apache/commons/sanselan/formats/bmp/BmpReadTest.java
similarity index 85%
rename from src/test/java/org/apache/sanselan/formats/bmp/BmpReadTest.java
rename to src/test/java/org/apache/commons/sanselan/formats/bmp/BmpReadTest.java
index 7384c58..7461b96 100644
--- a/src/test/java/org/apache/sanselan/formats/bmp/BmpReadTest.java
+++ b/src/test/java/org/apache/commons/sanselan/formats/bmp/BmpReadTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.formats.bmp;
+package org.apache.commons.sanselan.formats.bmp;
 
 import java.awt.image.BufferedImage;
 import java.io.File;
@@ -24,11 +24,11 @@
 import java.util.List;
 import java.util.Map;
 
-import org.apache.sanselan.ImageInfo;
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.Sanselan;
-import org.apache.sanselan.common.IImageMetadata;
-import org.apache.sanselan.util.Debug;
+import org.apache.commons.sanselan.ImageInfo;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.Sanselan;
+import org.apache.commons.sanselan.common.IImageMetadata;
+import org.apache.commons.sanselan.util.Debug;
 
 public class BmpReadTest extends BmpBaseTest
 {
diff --git a/src/test/java/org/apache/sanselan/formats/bmp/BmpRoundtripTest.java b/src/test/java/org/apache/commons/sanselan/formats/bmp/BmpRoundtripTest.java
similarity index 94%
rename from src/test/java/org/apache/sanselan/formats/bmp/BmpRoundtripTest.java
rename to src/test/java/org/apache/commons/sanselan/formats/bmp/BmpRoundtripTest.java
index 7d25632..e61de37 100644
--- a/src/test/java/org/apache/sanselan/formats/bmp/BmpRoundtripTest.java
+++ b/src/test/java/org/apache/commons/sanselan/formats/bmp/BmpRoundtripTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.formats.bmp;
+package org.apache.commons.sanselan.formats.bmp;
 
 import java.awt.image.BufferedImage;
 import java.io.File;
@@ -24,12 +24,12 @@
 import java.util.Map;
 import java.util.Random;
 
-import org.apache.sanselan.ImageFormat;
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.Sanselan;
-import org.apache.sanselan.util.Debug;
-import org.apache.sanselan.util.IOUtils;
+import org.apache.commons.sanselan.ImageFormat;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.Sanselan;
+import org.apache.commons.sanselan.util.Debug;
+import org.apache.commons.sanselan.util.IOUtils;
 
 public class BmpRoundtripTest extends BmpBaseTest
 {
diff --git a/src/test/java/org/apache/sanselan/formats/dcx/DcxBaseTest.java b/src/test/java/org/apache/commons/sanselan/formats/dcx/DcxBaseTest.java
similarity index 85%
rename from src/test/java/org/apache/sanselan/formats/dcx/DcxBaseTest.java
rename to src/test/java/org/apache/commons/sanselan/formats/dcx/DcxBaseTest.java
index 74bf6ca..0447665 100644
--- a/src/test/java/org/apache/sanselan/formats/dcx/DcxBaseTest.java
+++ b/src/test/java/org/apache/commons/sanselan/formats/dcx/DcxBaseTest.java
@@ -15,16 +15,16 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.formats.dcx;
+package org.apache.commons.sanselan.formats.dcx;
 
 import java.io.File;
 import java.io.IOException;
 import java.util.List;
 
-import org.apache.sanselan.ImageFormat;
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.Sanselan;
-import org.apache.sanselan.SanselanTest;
+import org.apache.commons.sanselan.ImageFormat;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.Sanselan;
+import org.apache.commons.sanselan.SanselanTest;
 
 public abstract class DcxBaseTest extends SanselanTest
 {
diff --git a/src/test/java/org/apache/sanselan/formats/dcx/DcxReadTest.java b/src/test/java/org/apache/commons/sanselan/formats/dcx/DcxReadTest.java
similarity index 85%
rename from src/test/java/org/apache/sanselan/formats/dcx/DcxReadTest.java
rename to src/test/java/org/apache/commons/sanselan/formats/dcx/DcxReadTest.java
index 42fdcec..be67c19 100644
--- a/src/test/java/org/apache/sanselan/formats/dcx/DcxReadTest.java
+++ b/src/test/java/org/apache/commons/sanselan/formats/dcx/DcxReadTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.formats.dcx;
+package org.apache.commons.sanselan.formats.dcx;
 
 import java.awt.image.BufferedImage;
 import java.io.File;
@@ -24,11 +24,11 @@
 import java.util.List;
 import java.util.Map;
 
-import org.apache.sanselan.ImageInfo;
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.Sanselan;
-import org.apache.sanselan.common.IImageMetadata;
-import org.apache.sanselan.util.Debug;
+import org.apache.commons.sanselan.ImageInfo;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.Sanselan;
+import org.apache.commons.sanselan.common.IImageMetadata;
+import org.apache.commons.sanselan.util.Debug;
 
 public class DcxReadTest extends DcxBaseTest
 {
diff --git a/src/test/java/org/apache/sanselan/formats/gif/GifBaseTest.java b/src/test/java/org/apache/commons/sanselan/formats/gif/GifBaseTest.java
similarity index 85%
rename from src/test/java/org/apache/sanselan/formats/gif/GifBaseTest.java
rename to src/test/java/org/apache/commons/sanselan/formats/gif/GifBaseTest.java
index 8265b5b..64e0deb 100644
--- a/src/test/java/org/apache/sanselan/formats/gif/GifBaseTest.java
+++ b/src/test/java/org/apache/commons/sanselan/formats/gif/GifBaseTest.java
@@ -15,16 +15,16 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.formats.gif;
+package org.apache.commons.sanselan.formats.gif;
 
 import java.io.File;
 import java.io.IOException;
 import java.util.List;
 
-import org.apache.sanselan.ImageFormat;
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.Sanselan;
-import org.apache.sanselan.SanselanTest;
+import org.apache.commons.sanselan.ImageFormat;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.Sanselan;
+import org.apache.commons.sanselan.SanselanTest;
 
 public abstract class GifBaseTest extends SanselanTest
 {
diff --git a/src/test/java/org/apache/sanselan/formats/gif/GifReadTest.java b/src/test/java/org/apache/commons/sanselan/formats/gif/GifReadTest.java
similarity index 84%
rename from src/test/java/org/apache/sanselan/formats/gif/GifReadTest.java
rename to src/test/java/org/apache/commons/sanselan/formats/gif/GifReadTest.java
index 839b37f..83c8083 100644
--- a/src/test/java/org/apache/sanselan/formats/gif/GifReadTest.java
+++ b/src/test/java/org/apache/commons/sanselan/formats/gif/GifReadTest.java
@@ -15,18 +15,18 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.formats.gif;
+package org.apache.commons.sanselan.formats.gif;
 
 import java.awt.image.BufferedImage;
 import java.io.File;
 import java.io.IOException;
 import java.util.List;
 
-import org.apache.sanselan.ImageInfo;
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.Sanselan;
-import org.apache.sanselan.common.IImageMetadata;
-import org.apache.sanselan.util.Debug;
+import org.apache.commons.sanselan.ImageInfo;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.Sanselan;
+import org.apache.commons.sanselan.common.IImageMetadata;
+import org.apache.commons.sanselan.util.Debug;
 
 public class GifReadTest extends GifBaseTest
 {
diff --git a/src/test/java/org/apache/sanselan/formats/icns/IcnsBaseTest.java b/src/test/java/org/apache/commons/sanselan/formats/icns/IcnsBaseTest.java
similarity index 85%
rename from src/test/java/org/apache/sanselan/formats/icns/IcnsBaseTest.java
rename to src/test/java/org/apache/commons/sanselan/formats/icns/IcnsBaseTest.java
index b2c67b8..402e78d 100644
--- a/src/test/java/org/apache/sanselan/formats/icns/IcnsBaseTest.java
+++ b/src/test/java/org/apache/commons/sanselan/formats/icns/IcnsBaseTest.java
@@ -15,16 +15,16 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.formats.icns;
+package org.apache.commons.sanselan.formats.icns;
 
 import java.io.File;
 import java.io.IOException;
 import java.util.List;
 
-import org.apache.sanselan.ImageFormat;
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.Sanselan;
-import org.apache.sanselan.SanselanTest;
+import org.apache.commons.sanselan.ImageFormat;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.Sanselan;
+import org.apache.commons.sanselan.SanselanTest;
 
 public abstract class IcnsBaseTest extends SanselanTest
 {
diff --git a/src/test/java/org/apache/sanselan/formats/icns/IcnsReadTest.java b/src/test/java/org/apache/commons/sanselan/formats/icns/IcnsReadTest.java
similarity index 85%
rename from src/test/java/org/apache/sanselan/formats/icns/IcnsReadTest.java
rename to src/test/java/org/apache/commons/sanselan/formats/icns/IcnsReadTest.java
index 597a72e..1931f77 100644
--- a/src/test/java/org/apache/sanselan/formats/icns/IcnsReadTest.java
+++ b/src/test/java/org/apache/commons/sanselan/formats/icns/IcnsReadTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.formats.icns;
+package org.apache.commons.sanselan.formats.icns;
 
 import java.awt.image.BufferedImage;
 import java.io.File;
@@ -24,11 +24,11 @@
 import java.util.List;
 import java.util.Map;
 
-import org.apache.sanselan.ImageInfo;
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.Sanselan;
-import org.apache.sanselan.common.IImageMetadata;
-import org.apache.sanselan.util.Debug;
+import org.apache.commons.sanselan.ImageInfo;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.Sanselan;
+import org.apache.commons.sanselan.common.IImageMetadata;
+import org.apache.commons.sanselan.util.Debug;
 
 public class IcnsReadTest extends IcnsBaseTest
 {
diff --git a/src/test/java/org/apache/sanselan/formats/icns/IcnsRoundTripTest.java b/src/test/java/org/apache/commons/sanselan/formats/icns/IcnsRoundTripTest.java
similarity index 96%
rename from src/test/java/org/apache/sanselan/formats/icns/IcnsRoundTripTest.java
rename to src/test/java/org/apache/commons/sanselan/formats/icns/IcnsRoundTripTest.java
index d91c9a5..2dedcb9 100644
--- a/src/test/java/org/apache/sanselan/formats/icns/IcnsRoundTripTest.java
+++ b/src/test/java/org/apache/commons/sanselan/formats/icns/IcnsRoundTripTest.java
@@ -15,18 +15,21 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.formats.icns;
+package org.apache.commons.sanselan.formats.icns;
 
 import java.awt.image.BufferedImage;
 import java.io.ByteArrayOutputStream;
 import java.io.File;
 import java.io.IOException;
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.Sanselan;
-import org.apache.sanselan.common.BinaryOutputStream;
-import org.apache.sanselan.util.Debug;
-import org.apache.sanselan.util.IOUtils;
+
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.Sanselan;
+import org.apache.commons.sanselan.common.BinaryOutputStream;
+import org.apache.commons.sanselan.formats.icns.IcnsImageParser;
+import org.apache.commons.sanselan.formats.icns.IcnsType;
+import org.apache.commons.sanselan.util.Debug;
+import org.apache.commons.sanselan.util.IOUtils;
 
 public class IcnsRoundTripTest extends IcnsBaseTest
 {
diff --git a/src/test/java/org/apache/sanselan/formats/ico/IcoBaseTest.java b/src/test/java/org/apache/commons/sanselan/formats/ico/IcoBaseTest.java
similarity index 90%
rename from src/test/java/org/apache/sanselan/formats/ico/IcoBaseTest.java
rename to src/test/java/org/apache/commons/sanselan/formats/ico/IcoBaseTest.java
index d4128d3..ec99577 100644
--- a/src/test/java/org/apache/sanselan/formats/ico/IcoBaseTest.java
+++ b/src/test/java/org/apache/commons/sanselan/formats/ico/IcoBaseTest.java
@@ -15,14 +15,14 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.formats.ico;
+package org.apache.commons.sanselan.formats.ico;
 
 import java.io.File;
 import java.io.IOException;
 import java.util.List;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.SanselanTest;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.SanselanTest;
 
 public abstract class IcoBaseTest extends SanselanTest
 {
diff --git a/src/test/java/org/apache/sanselan/formats/ico/IcoReadTest.java b/src/test/java/org/apache/commons/sanselan/formats/ico/IcoReadTest.java
similarity index 85%
rename from src/test/java/org/apache/sanselan/formats/ico/IcoReadTest.java
rename to src/test/java/org/apache/commons/sanselan/formats/ico/IcoReadTest.java
index c27f66e..22627f5 100644
--- a/src/test/java/org/apache/sanselan/formats/ico/IcoReadTest.java
+++ b/src/test/java/org/apache/commons/sanselan/formats/ico/IcoReadTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.formats.ico;
+package org.apache.commons.sanselan.formats.ico;
 
 import java.awt.image.BufferedImage;
 import java.io.File;
@@ -24,11 +24,11 @@
 import java.util.List;
 import java.util.Map;
 
-import org.apache.sanselan.ImageInfo;
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.Sanselan;
-import org.apache.sanselan.common.IImageMetadata;
-import org.apache.sanselan.util.Debug;
+import org.apache.commons.sanselan.ImageInfo;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.Sanselan;
+import org.apache.commons.sanselan.common.IImageMetadata;
+import org.apache.commons.sanselan.util.Debug;
 
 public class IcoReadTest extends IcoBaseTest
 {
diff --git a/src/test/java/org/apache/sanselan/formats/ico/IcoRoundtripTest.java b/src/test/java/org/apache/commons/sanselan/formats/ico/IcoRoundtripTest.java
similarity index 98%
rename from src/test/java/org/apache/sanselan/formats/ico/IcoRoundtripTest.java
rename to src/test/java/org/apache/commons/sanselan/formats/ico/IcoRoundtripTest.java
index 59884dd..b65f505 100644
--- a/src/test/java/org/apache/sanselan/formats/ico/IcoRoundtripTest.java
+++ b/src/test/java/org/apache/commons/sanselan/formats/ico/IcoRoundtripTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.formats.ico;
+package org.apache.commons.sanselan.formats.ico;
 
 import java.awt.image.BufferedImage;
 import java.io.ByteArrayOutputStream;
@@ -25,12 +25,12 @@
 import java.util.Iterator;
 import java.util.Map;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.Sanselan;
-import org.apache.sanselan.common.BinaryOutputStream;
-import org.apache.sanselan.util.Debug;
-import org.apache.sanselan.util.IOUtils;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.Sanselan;
+import org.apache.commons.sanselan.common.BinaryOutputStream;
+import org.apache.commons.sanselan.util.Debug;
+import org.apache.commons.sanselan.util.IOUtils;
 
 public class IcoRoundtripTest extends IcoBaseTest
 {
diff --git a/src/test/java/org/apache/sanselan/formats/jpeg/JpegBaseTest.java b/src/test/java/org/apache/commons/sanselan/formats/jpeg/JpegBaseTest.java
similarity index 85%
rename from src/test/java/org/apache/sanselan/formats/jpeg/JpegBaseTest.java
rename to src/test/java/org/apache/commons/sanselan/formats/jpeg/JpegBaseTest.java
index 6625eb2..929bd99 100644
--- a/src/test/java/org/apache/sanselan/formats/jpeg/JpegBaseTest.java
+++ b/src/test/java/org/apache/commons/sanselan/formats/jpeg/JpegBaseTest.java
@@ -15,16 +15,16 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.formats.jpeg;
+package org.apache.commons.sanselan.formats.jpeg;
 
 import java.io.File;
 import java.io.IOException;
 import java.util.List;
 
-import org.apache.sanselan.ImageFormat;
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.Sanselan;
-import org.apache.sanselan.SanselanTest;
+import org.apache.commons.sanselan.ImageFormat;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.Sanselan;
+import org.apache.commons.sanselan.SanselanTest;
 
 public abstract class JpegBaseTest extends SanselanTest
 {
diff --git a/src/test/java/org/apache/sanselan/formats/jpeg/JpegReadTest.java b/src/test/java/org/apache/commons/sanselan/formats/jpeg/JpegReadTest.java
similarity index 86%
rename from src/test/java/org/apache/sanselan/formats/jpeg/JpegReadTest.java
rename to src/test/java/org/apache/commons/sanselan/formats/jpeg/JpegReadTest.java
index 1a944e2..d182629 100644
--- a/src/test/java/org/apache/sanselan/formats/jpeg/JpegReadTest.java
+++ b/src/test/java/org/apache/commons/sanselan/formats/jpeg/JpegReadTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.formats.jpeg;
+package org.apache.commons.sanselan.formats.jpeg;
 
 import java.io.File;
 import java.io.IOException;
@@ -23,11 +23,11 @@
 import java.util.List;
 import java.util.Map;
 
-import org.apache.sanselan.ImageInfo;
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.Sanselan;
-import org.apache.sanselan.common.IImageMetadata;
-import org.apache.sanselan.util.Debug;
+import org.apache.commons.sanselan.ImageInfo;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.Sanselan;
+import org.apache.commons.sanselan.common.IImageMetadata;
+import org.apache.commons.sanselan.util.Debug;
 
 public class JpegReadTest extends JpegBaseTest
 {
diff --git a/src/test/java/org/apache/sanselan/formats/jpeg/JpegWithJpegThumbnailTest.java b/src/test/java/org/apache/commons/sanselan/formats/jpeg/JpegWithJpegThumbnailTest.java
similarity index 81%
rename from src/test/java/org/apache/sanselan/formats/jpeg/JpegWithJpegThumbnailTest.java
rename to src/test/java/org/apache/commons/sanselan/formats/jpeg/JpegWithJpegThumbnailTest.java
index b5b0ec1..337138f 100644
--- a/src/test/java/org/apache/sanselan/formats/jpeg/JpegWithJpegThumbnailTest.java
+++ b/src/test/java/org/apache/commons/sanselan/formats/jpeg/JpegWithJpegThumbnailTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.formats.jpeg;
+package org.apache.commons.sanselan.formats.jpeg;
 
 import java.awt.image.BufferedImage;
 import java.io.File;
@@ -23,10 +23,11 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.Sanselan;
-import org.apache.sanselan.SanselanTest;
-import org.apache.sanselan.common.IImageMetadata;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.Sanselan;
+import org.apache.commons.sanselan.SanselanTest;
+import org.apache.commons.sanselan.common.IImageMetadata;
+import org.apache.commons.sanselan.formats.jpeg.JpegImageMetadata;
 
 public class JpegWithJpegThumbnailTest extends SanselanTest {
 
diff --git a/src/test/java/org/apache/sanselan/formats/jpeg/exif/AsciiFieldTest.java b/src/test/java/org/apache/commons/sanselan/formats/jpeg/exif/AsciiFieldTest.java
similarity index 85%
rename from src/test/java/org/apache/sanselan/formats/jpeg/exif/AsciiFieldTest.java
rename to src/test/java/org/apache/commons/sanselan/formats/jpeg/exif/AsciiFieldTest.java
index 5b30050..10fd25b 100644
--- a/src/test/java/org/apache/sanselan/formats/jpeg/exif/AsciiFieldTest.java
+++ b/src/test/java/org/apache/commons/sanselan/formats/jpeg/exif/AsciiFieldTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.formats.jpeg.exif;
+package org.apache.commons.sanselan.formats.jpeg.exif;
 
 import java.io.File;
 import java.io.IOException;
@@ -25,13 +25,13 @@
 import java.util.List;
 import java.util.Map;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.Sanselan;
-import org.apache.sanselan.common.IImageMetadata;
-import org.apache.sanselan.formats.jpeg.JpegImageMetadata;
-import org.apache.sanselan.formats.tiff.TiffField;
-import org.apache.sanselan.formats.tiff.TiffImageMetadata;
-import org.apache.sanselan.formats.tiff.constants.AllTagConstants;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.Sanselan;
+import org.apache.commons.sanselan.common.IImageMetadata;
+import org.apache.commons.sanselan.formats.jpeg.JpegImageMetadata;
+import org.apache.commons.sanselan.formats.tiff.TiffField;
+import org.apache.commons.sanselan.formats.tiff.TiffImageMetadata;
+import org.apache.commons.sanselan.formats.tiff.constants.AllTagConstants;
 
 public class AsciiFieldTest extends ExifBaseTest implements AllTagConstants {
 
diff --git a/src/test/java/org/apache/sanselan/formats/jpeg/exif/ExifBaseTest.java b/src/test/java/org/apache/commons/sanselan/formats/jpeg/exif/ExifBaseTest.java
similarity index 89%
rename from src/test/java/org/apache/sanselan/formats/jpeg/exif/ExifBaseTest.java
rename to src/test/java/org/apache/commons/sanselan/formats/jpeg/exif/ExifBaseTest.java
index 0b63384..17e3b32 100644
--- a/src/test/java/org/apache/sanselan/formats/jpeg/exif/ExifBaseTest.java
+++ b/src/test/java/org/apache/commons/sanselan/formats/jpeg/exif/ExifBaseTest.java
@@ -15,17 +15,17 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.formats.jpeg.exif;
+package org.apache.commons.sanselan.formats.jpeg.exif;
 
 import java.io.File;
 import java.io.IOException;
 import java.util.List;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.SanselanTest;
-import org.apache.sanselan.common.byteSources.ByteSource;
-import org.apache.sanselan.common.byteSources.ByteSourceFile;
-import org.apache.sanselan.formats.jpeg.JpegImageParser;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.SanselanTest;
+import org.apache.commons.sanselan.common.byteSources.ByteSource;
+import org.apache.commons.sanselan.common.byteSources.ByteSourceFile;
+import org.apache.commons.sanselan.formats.jpeg.JpegImageParser;
 
 public abstract class ExifBaseTest extends SanselanTest
 {
diff --git a/src/test/java/org/apache/sanselan/formats/jpeg/exif/ExifDumpTest.java b/src/test/java/org/apache/commons/sanselan/formats/jpeg/exif/ExifDumpTest.java
similarity index 80%
rename from src/test/java/org/apache/sanselan/formats/jpeg/exif/ExifDumpTest.java
rename to src/test/java/org/apache/commons/sanselan/formats/jpeg/exif/ExifDumpTest.java
index a37af39..af00685 100644
--- a/src/test/java/org/apache/sanselan/formats/jpeg/exif/ExifDumpTest.java
+++ b/src/test/java/org/apache/commons/sanselan/formats/jpeg/exif/ExifDumpTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.formats.jpeg.exif;
+package org.apache.commons.sanselan.formats.jpeg.exif;
 
 import java.io.File;
 import java.io.IOException;
@@ -23,14 +23,14 @@
 import java.util.List;
 import java.util.Map;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.Sanselan;
-import org.apache.sanselan.common.byteSources.ByteSource;
-import org.apache.sanselan.common.byteSources.ByteSourceFile;
-import org.apache.sanselan.formats.jpeg.JpegImageMetadata;
-import org.apache.sanselan.formats.jpeg.JpegUtils;
-import org.apache.sanselan.util.Debug;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.Sanselan;
+import org.apache.commons.sanselan.common.byteSources.ByteSource;
+import org.apache.commons.sanselan.common.byteSources.ByteSourceFile;
+import org.apache.commons.sanselan.formats.jpeg.JpegImageMetadata;
+import org.apache.commons.sanselan.formats.jpeg.JpegUtils;
+import org.apache.commons.sanselan.util.Debug;
 
 public class ExifDumpTest extends ExifBaseTest
 {
diff --git a/src/test/java/org/apache/sanselan/formats/jpeg/exif/ExifRewriteTest.java b/src/test/java/org/apache/commons/sanselan/formats/jpeg/exif/ExifRewriteTest.java
similarity index 95%
rename from src/test/java/org/apache/sanselan/formats/jpeg/exif/ExifRewriteTest.java
rename to src/test/java/org/apache/commons/sanselan/formats/jpeg/exif/ExifRewriteTest.java
index a346cd5..70d3c25 100644
--- a/src/test/java/org/apache/sanselan/formats/jpeg/exif/ExifRewriteTest.java
+++ b/src/test/java/org/apache/commons/sanselan/formats/jpeg/exif/ExifRewriteTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.formats.jpeg.exif;
+package org.apache.commons.sanselan.formats.jpeg.exif;
 
 import java.io.ByteArrayOutputStream;
 import java.io.File;
@@ -28,21 +28,21 @@
 import java.util.List;
 import java.util.Set;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.Sanselan;
-import org.apache.sanselan.common.byteSources.ByteSource;
-import org.apache.sanselan.common.byteSources.ByteSourceArray;
-import org.apache.sanselan.common.byteSources.ByteSourceFile;
-import org.apache.sanselan.formats.jpeg.JpegImageMetadata;
-import org.apache.sanselan.formats.jpeg.JpegUtils;
-import org.apache.sanselan.formats.jpeg.exifRewrite.ExifRewriter;
-import org.apache.sanselan.formats.tiff.TiffField;
-import org.apache.sanselan.formats.tiff.TiffImageMetadata;
-import org.apache.sanselan.formats.tiff.constants.AllTagConstants;
-import org.apache.sanselan.formats.tiff.write.TiffOutputSet;
-import org.apache.sanselan.util.Debug;
-import org.apache.sanselan.util.IOUtils;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.Sanselan;
+import org.apache.commons.sanselan.common.byteSources.ByteSource;
+import org.apache.commons.sanselan.common.byteSources.ByteSourceArray;
+import org.apache.commons.sanselan.common.byteSources.ByteSourceFile;
+import org.apache.commons.sanselan.formats.jpeg.JpegImageMetadata;
+import org.apache.commons.sanselan.formats.jpeg.JpegUtils;
+import org.apache.commons.sanselan.formats.jpeg.exifRewrite.ExifRewriter;
+import org.apache.commons.sanselan.formats.tiff.TiffField;
+import org.apache.commons.sanselan.formats.tiff.TiffImageMetadata;
+import org.apache.commons.sanselan.formats.tiff.constants.AllTagConstants;
+import org.apache.commons.sanselan.formats.tiff.write.TiffOutputSet;
+import org.apache.commons.sanselan.util.Debug;
+import org.apache.commons.sanselan.util.IOUtils;
 
 public class ExifRewriteTest extends ExifBaseTest implements AllTagConstants
 {
diff --git a/src/test/java/org/apache/sanselan/formats/jpeg/exif/GpsTest.java b/src/test/java/org/apache/commons/sanselan/formats/jpeg/exif/GpsTest.java
similarity index 90%
rename from src/test/java/org/apache/sanselan/formats/jpeg/exif/GpsTest.java
rename to src/test/java/org/apache/commons/sanselan/formats/jpeg/exif/GpsTest.java
index 2b7c727..efd36fd 100644
--- a/src/test/java/org/apache/sanselan/formats/jpeg/exif/GpsTest.java
+++ b/src/test/java/org/apache/commons/sanselan/formats/jpeg/exif/GpsTest.java
@@ -15,18 +15,18 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.formats.jpeg.exif;
+package org.apache.commons.sanselan.formats.jpeg.exif;
 
 import java.io.File;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.sanselan.Sanselan;
-import org.apache.sanselan.SanselanConstants;
-import org.apache.sanselan.formats.jpeg.JpegImageMetadata;
-import org.apache.sanselan.formats.tiff.TiffImageMetadata;
-import org.apache.sanselan.util.Debug;
+import org.apache.commons.sanselan.Sanselan;
+import org.apache.commons.sanselan.SanselanConstants;
+import org.apache.commons.sanselan.formats.jpeg.JpegImageMetadata;
+import org.apache.commons.sanselan.formats.tiff.TiffImageMetadata;
+import org.apache.commons.sanselan.util.Debug;
 
 public class GpsTest extends ExifBaseTest implements SanselanConstants
 {
diff --git a/src/test/java/org/apache/sanselan/formats/jpeg/exif/MakerNoteFieldTest.java b/src/test/java/org/apache/commons/sanselan/formats/jpeg/exif/MakerNoteFieldTest.java
similarity index 89%
rename from src/test/java/org/apache/sanselan/formats/jpeg/exif/MakerNoteFieldTest.java
rename to src/test/java/org/apache/commons/sanselan/formats/jpeg/exif/MakerNoteFieldTest.java
index ad4a372..0d40e54 100644
--- a/src/test/java/org/apache/sanselan/formats/jpeg/exif/MakerNoteFieldTest.java
+++ b/src/test/java/org/apache/commons/sanselan/formats/jpeg/exif/MakerNoteFieldTest.java
@@ -15,15 +15,15 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.formats.jpeg.exif;
+package org.apache.commons.sanselan.formats.jpeg.exif;
 
 import java.io.File;
 import java.io.IOException;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.formats.tiff.TiffField;
-import org.apache.sanselan.util.Debug;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.formats.tiff.TiffField;
+import org.apache.commons.sanselan.util.Debug;
 
 public class MakerNoteFieldTest extends SpecificExifTagTest
 {
diff --git a/src/test/java/org/apache/sanselan/formats/jpeg/exif/SpecificExifTagTest.java b/src/test/java/org/apache/commons/sanselan/formats/jpeg/exif/SpecificExifTagTest.java
similarity index 83%
rename from src/test/java/org/apache/sanselan/formats/jpeg/exif/SpecificExifTagTest.java
rename to src/test/java/org/apache/commons/sanselan/formats/jpeg/exif/SpecificExifTagTest.java
index 77ae9bc..56c4d20 100644
--- a/src/test/java/org/apache/sanselan/formats/jpeg/exif/SpecificExifTagTest.java
+++ b/src/test/java/org/apache/commons/sanselan/formats/jpeg/exif/SpecificExifTagTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.formats.jpeg.exif;
+package org.apache.commons.sanselan.formats.jpeg.exif;
 
 import java.io.File;
 import java.io.IOException;
@@ -23,15 +23,15 @@
 import java.util.List;
 import java.util.Map;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.Sanselan;
-import org.apache.sanselan.common.IImageMetadata;
-import org.apache.sanselan.formats.jpeg.JpegImageMetadata;
-import org.apache.sanselan.formats.tiff.TiffField;
-import org.apache.sanselan.formats.tiff.TiffImageMetadata;
-import org.apache.sanselan.formats.tiff.constants.AllTagConstants;
-import org.apache.sanselan.util.Debug;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.Sanselan;
+import org.apache.commons.sanselan.common.IImageMetadata;
+import org.apache.commons.sanselan.formats.jpeg.JpegImageMetadata;
+import org.apache.commons.sanselan.formats.tiff.TiffField;
+import org.apache.commons.sanselan.formats.tiff.TiffImageMetadata;
+import org.apache.commons.sanselan.formats.tiff.constants.AllTagConstants;
+import org.apache.commons.sanselan.util.Debug;
 
 public abstract class SpecificExifTagTest extends ExifBaseTest
         implements
diff --git a/src/test/java/org/apache/sanselan/formats/jpeg/exif/TextFieldTest.java b/src/test/java/org/apache/commons/sanselan/formats/jpeg/exif/TextFieldTest.java
similarity index 89%
rename from src/test/java/org/apache/sanselan/formats/jpeg/exif/TextFieldTest.java
rename to src/test/java/org/apache/commons/sanselan/formats/jpeg/exif/TextFieldTest.java
index bd796ae..ee14345 100644
--- a/src/test/java/org/apache/sanselan/formats/jpeg/exif/TextFieldTest.java
+++ b/src/test/java/org/apache/commons/sanselan/formats/jpeg/exif/TextFieldTest.java
@@ -15,15 +15,15 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.formats.jpeg.exif;
+package org.apache.commons.sanselan.formats.jpeg.exif;
 
 import java.io.File;
 import java.io.IOException;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.formats.tiff.TiffField;
-import org.apache.sanselan.util.Debug;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.formats.tiff.TiffField;
+import org.apache.commons.sanselan.util.Debug;
 
 public class TextFieldTest extends SpecificExifTagTest
 {
diff --git a/src/test/java/org/apache/sanselan/formats/jpeg/exif/WriteExifMetadataExampleTest.java b/src/test/java/org/apache/commons/sanselan/formats/jpeg/exif/WriteExifMetadataExampleTest.java
similarity index 87%
rename from src/test/java/org/apache/sanselan/formats/jpeg/exif/WriteExifMetadataExampleTest.java
rename to src/test/java/org/apache/commons/sanselan/formats/jpeg/exif/WriteExifMetadataExampleTest.java
index bd24e1e..9796639 100644
--- a/src/test/java/org/apache/sanselan/formats/jpeg/exif/WriteExifMetadataExampleTest.java
+++ b/src/test/java/org/apache/commons/sanselan/formats/jpeg/exif/WriteExifMetadataExampleTest.java
@@ -15,18 +15,18 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.formats.jpeg.exif;
+package org.apache.commons.sanselan.formats.jpeg.exif;
 
 import java.io.File;
 import java.io.IOException;
 import java.util.List;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.formats.jpeg.exifRewrite.ExifRewriter;
-import org.apache.sanselan.formats.tiff.constants.AllTagConstants;
-import org.apache.sanselan.sampleUsage.WriteExifMetadataExample;
-import org.apache.sanselan.util.Debug;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.formats.jpeg.exifRewrite.ExifRewriter;
+import org.apache.commons.sanselan.formats.tiff.constants.AllTagConstants;
+import org.apache.commons.sanselan.sampleUsage.WriteExifMetadataExample;
+import org.apache.commons.sanselan.util.Debug;
 
 public class WriteExifMetadataExampleTest extends ExifBaseTest
         implements
diff --git a/src/test/java/org/apache/sanselan/formats/jpeg/exif/WriteTagsTest.java b/src/test/java/org/apache/commons/sanselan/formats/jpeg/exif/WriteTagsTest.java
similarity index 81%
rename from src/test/java/org/apache/sanselan/formats/jpeg/exif/WriteTagsTest.java
rename to src/test/java/org/apache/commons/sanselan/formats/jpeg/exif/WriteTagsTest.java
index 94efaf3..7300071 100644
--- a/src/test/java/org/apache/sanselan/formats/jpeg/exif/WriteTagsTest.java
+++ b/src/test/java/org/apache/commons/sanselan/formats/jpeg/exif/WriteTagsTest.java
@@ -15,14 +15,14 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.formats.jpeg.exif;
+package org.apache.commons.sanselan.formats.jpeg.exif;
 
-import org.apache.sanselan.SanselanConstants;
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.common.BinaryConstants;
-import org.apache.sanselan.formats.tiff.constants.TiffConstants;
-import org.apache.sanselan.formats.tiff.write.TiffOutputField;
-import org.apache.sanselan.util.Debug;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.SanselanConstants;
+import org.apache.commons.sanselan.common.BinaryConstants;
+import org.apache.commons.sanselan.formats.tiff.constants.TiffConstants;
+import org.apache.commons.sanselan.formats.tiff.write.TiffOutputField;
+import org.apache.commons.sanselan.util.Debug;
 
 public class WriteTagsTest extends ExifBaseTest implements SanselanConstants
 {
diff --git a/src/test/java/org/apache/sanselan/formats/jpeg/iptc/IptcBaseTest.java b/src/test/java/org/apache/commons/sanselan/formats/jpeg/iptc/IptcBaseTest.java
similarity index 89%
rename from src/test/java/org/apache/sanselan/formats/jpeg/iptc/IptcBaseTest.java
rename to src/test/java/org/apache/commons/sanselan/formats/jpeg/iptc/IptcBaseTest.java
index f81c8e4..f96d9a1 100644
--- a/src/test/java/org/apache/sanselan/formats/jpeg/iptc/IptcBaseTest.java
+++ b/src/test/java/org/apache/commons/sanselan/formats/jpeg/iptc/IptcBaseTest.java
@@ -15,17 +15,17 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.formats.jpeg.iptc;
+package org.apache.commons.sanselan.formats.jpeg.iptc;
 
 import java.io.File;
 import java.io.IOException;
 import java.util.List;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.SanselanTest;
-import org.apache.sanselan.common.byteSources.ByteSource;
-import org.apache.sanselan.common.byteSources.ByteSourceFile;
-import org.apache.sanselan.formats.jpeg.JpegImageParser;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.SanselanTest;
+import org.apache.commons.sanselan.common.byteSources.ByteSource;
+import org.apache.commons.sanselan.common.byteSources.ByteSourceFile;
+import org.apache.commons.sanselan.formats.jpeg.JpegImageParser;
 
 public abstract class IptcBaseTest extends SanselanTest
 {
diff --git a/src/test/java/org/apache/sanselan/formats/jpeg/iptc/IptcDumpTest.java b/src/test/java/org/apache/commons/sanselan/formats/jpeg/iptc/IptcDumpTest.java
similarity index 85%
rename from src/test/java/org/apache/sanselan/formats/jpeg/iptc/IptcDumpTest.java
rename to src/test/java/org/apache/commons/sanselan/formats/jpeg/iptc/IptcDumpTest.java
index 2712225..378f088 100644
--- a/src/test/java/org/apache/sanselan/formats/jpeg/iptc/IptcDumpTest.java
+++ b/src/test/java/org/apache/commons/sanselan/formats/jpeg/iptc/IptcDumpTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.formats.jpeg.iptc;
+package org.apache.commons.sanselan.formats.jpeg.iptc;
 
 import java.io.File;
 import java.io.IOException;
@@ -23,11 +23,13 @@
 import java.util.List;
 import java.util.Map;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.Sanselan;
-import org.apache.sanselan.formats.jpeg.JpegImageMetadata;
-import org.apache.sanselan.formats.jpeg.JpegPhotoshopMetadata;
-import org.apache.sanselan.util.Debug;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.Sanselan;
+import org.apache.commons.sanselan.formats.jpeg.JpegImageMetadata;
+import org.apache.commons.sanselan.formats.jpeg.JpegPhotoshopMetadata;
+import org.apache.commons.sanselan.formats.jpeg.iptc.IPTCConstants;
+import org.apache.commons.sanselan.formats.jpeg.iptc.IPTCRecord;
+import org.apache.commons.sanselan.util.Debug;
 
 public class IptcDumpTest extends IptcBaseTest
 {
diff --git a/src/test/java/org/apache/sanselan/formats/jpeg/iptc/IptcUpdateTest.java b/src/test/java/org/apache/commons/sanselan/formats/jpeg/iptc/IptcUpdateTest.java
similarity index 95%
rename from src/test/java/org/apache/sanselan/formats/jpeg/iptc/IptcUpdateTest.java
rename to src/test/java/org/apache/commons/sanselan/formats/jpeg/iptc/IptcUpdateTest.java
index f06391b..51cbf1c 100644
--- a/src/test/java/org/apache/sanselan/formats/jpeg/iptc/IptcUpdateTest.java
+++ b/src/test/java/org/apache/commons/sanselan/formats/jpeg/iptc/IptcUpdateTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.formats.jpeg.iptc;
+package org.apache.commons.sanselan.formats.jpeg.iptc;
 
 import java.io.BufferedOutputStream;
 import java.io.File;
@@ -27,13 +27,17 @@
 import java.util.List;
 import java.util.Map;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.common.byteSources.ByteSource;
-import org.apache.sanselan.common.byteSources.ByteSourceFile;
-import org.apache.sanselan.formats.jpeg.JpegImageParser;
-import org.apache.sanselan.formats.jpeg.JpegPhotoshopMetadata;
-import org.apache.sanselan.util.Debug;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.common.byteSources.ByteSource;
+import org.apache.commons.sanselan.common.byteSources.ByteSourceFile;
+import org.apache.commons.sanselan.formats.jpeg.JpegImageParser;
+import org.apache.commons.sanselan.formats.jpeg.JpegPhotoshopMetadata;
+import org.apache.commons.sanselan.formats.jpeg.iptc.IPTCConstants;
+import org.apache.commons.sanselan.formats.jpeg.iptc.IPTCRecord;
+import org.apache.commons.sanselan.formats.jpeg.iptc.JpegIptcRewriter;
+import org.apache.commons.sanselan.formats.jpeg.iptc.PhotoshopApp13Data;
+import org.apache.commons.sanselan.util.Debug;
 
 public class IptcUpdateTest extends IptcBaseTest
 {
diff --git a/src/test/java/org/apache/sanselan/formats/jpeg/xmp/JpegXmpBaseTest.java b/src/test/java/org/apache/commons/sanselan/formats/jpeg/xmp/JpegXmpBaseTest.java
similarity index 89%
rename from src/test/java/org/apache/sanselan/formats/jpeg/xmp/JpegXmpBaseTest.java
rename to src/test/java/org/apache/commons/sanselan/formats/jpeg/xmp/JpegXmpBaseTest.java
index ce5baef..d9a8596 100644
--- a/src/test/java/org/apache/sanselan/formats/jpeg/xmp/JpegXmpBaseTest.java
+++ b/src/test/java/org/apache/commons/sanselan/formats/jpeg/xmp/JpegXmpBaseTest.java
@@ -15,17 +15,17 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.formats.jpeg.xmp;
+package org.apache.commons.sanselan.formats.jpeg.xmp;
 
 import java.io.File;
 import java.io.IOException;
 import java.util.List;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.SanselanTest;
-import org.apache.sanselan.common.byteSources.ByteSource;
-import org.apache.sanselan.common.byteSources.ByteSourceFile;
-import org.apache.sanselan.formats.jpeg.JpegImageParser;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.SanselanTest;
+import org.apache.commons.sanselan.common.byteSources.ByteSource;
+import org.apache.commons.sanselan.common.byteSources.ByteSourceFile;
+import org.apache.commons.sanselan.formats.jpeg.JpegImageParser;
 
 public abstract class JpegXmpBaseTest extends SanselanTest
 {
diff --git a/src/test/java/org/apache/sanselan/formats/jpeg/xmp/JpegXmpDumpTest.java b/src/test/java/org/apache/commons/sanselan/formats/jpeg/xmp/JpegXmpDumpTest.java
similarity index 82%
rename from src/test/java/org/apache/sanselan/formats/jpeg/xmp/JpegXmpDumpTest.java
rename to src/test/java/org/apache/commons/sanselan/formats/jpeg/xmp/JpegXmpDumpTest.java
index da0d309..900c642 100644
--- a/src/test/java/org/apache/sanselan/formats/jpeg/xmp/JpegXmpDumpTest.java
+++ b/src/test/java/org/apache/commons/sanselan/formats/jpeg/xmp/JpegXmpDumpTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.formats.jpeg.xmp;
+package org.apache.commons.sanselan.formats.jpeg.xmp;
 
 import java.io.File;
 import java.io.IOException;
@@ -23,11 +23,11 @@
 import java.util.List;
 import java.util.Map;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.common.byteSources.ByteSource;
-import org.apache.sanselan.common.byteSources.ByteSourceFile;
-import org.apache.sanselan.formats.jpeg.JpegImageParser;
-import org.apache.sanselan.util.Debug;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.common.byteSources.ByteSource;
+import org.apache.commons.sanselan.common.byteSources.ByteSourceFile;
+import org.apache.commons.sanselan.formats.jpeg.JpegImageParser;
+import org.apache.commons.sanselan.util.Debug;
 
 public class JpegXmpDumpTest extends JpegXmpBaseTest
 {
diff --git a/src/test/java/org/apache/sanselan/formats/jpeg/xmp/JpegXmpRewriteTest.java b/src/test/java/org/apache/commons/sanselan/formats/jpeg/xmp/JpegXmpRewriteTest.java
similarity index 90%
rename from src/test/java/org/apache/sanselan/formats/jpeg/xmp/JpegXmpRewriteTest.java
rename to src/test/java/org/apache/commons/sanselan/formats/jpeg/xmp/JpegXmpRewriteTest.java
index 270f537..787ac6e 100644
--- a/src/test/java/org/apache/sanselan/formats/jpeg/xmp/JpegXmpRewriteTest.java
+++ b/src/test/java/org/apache/commons/sanselan/formats/jpeg/xmp/JpegXmpRewriteTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.formats.jpeg.xmp;
+package org.apache.commons.sanselan.formats.jpeg.xmp;
 
 import java.io.BufferedOutputStream;
 import java.io.File;
@@ -26,12 +26,13 @@
 import java.util.List;
 import java.util.Map;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.common.byteSources.ByteSource;
-import org.apache.sanselan.common.byteSources.ByteSourceFile;
-import org.apache.sanselan.formats.jpeg.JpegImageParser;
-import org.apache.sanselan.util.Debug;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.common.byteSources.ByteSource;
+import org.apache.commons.sanselan.common.byteSources.ByteSourceFile;
+import org.apache.commons.sanselan.formats.jpeg.JpegImageParser;
+import org.apache.commons.sanselan.formats.jpeg.xmp.JpegXmpRewriter;
+import org.apache.commons.sanselan.util.Debug;
 
 public class JpegXmpRewriteTest extends JpegXmpBaseTest
 {
diff --git a/src/test/java/org/apache/sanselan/formats/pcx/PcxBaseTest.java b/src/test/java/org/apache/commons/sanselan/formats/pcx/PcxBaseTest.java
similarity index 89%
rename from src/test/java/org/apache/sanselan/formats/pcx/PcxBaseTest.java
rename to src/test/java/org/apache/commons/sanselan/formats/pcx/PcxBaseTest.java
index e092390..346a57b 100644
--- a/src/test/java/org/apache/sanselan/formats/pcx/PcxBaseTest.java
+++ b/src/test/java/org/apache/commons/sanselan/formats/pcx/PcxBaseTest.java
@@ -15,14 +15,14 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.formats.pcx;
+package org.apache.commons.sanselan.formats.pcx;
 
 import java.io.File;
 import java.io.IOException;
 import java.util.List;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.SanselanTest;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.SanselanTest;
 
 public abstract class PcxBaseTest extends SanselanTest
 {
diff --git a/src/test/java/org/apache/sanselan/formats/pcx/PcxReadTest.java b/src/test/java/org/apache/commons/sanselan/formats/pcx/PcxReadTest.java
similarity index 85%
rename from src/test/java/org/apache/sanselan/formats/pcx/PcxReadTest.java
rename to src/test/java/org/apache/commons/sanselan/formats/pcx/PcxReadTest.java
index bb5f596..c75015a 100644
--- a/src/test/java/org/apache/sanselan/formats/pcx/PcxReadTest.java
+++ b/src/test/java/org/apache/commons/sanselan/formats/pcx/PcxReadTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.formats.pcx;
+package org.apache.commons.sanselan.formats.pcx;
 
 import java.awt.image.BufferedImage;
 import java.io.File;
@@ -24,11 +24,11 @@
 import java.util.List;
 import java.util.Map;
 
-import org.apache.sanselan.ImageInfo;
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.Sanselan;
-import org.apache.sanselan.common.IImageMetadata;
-import org.apache.sanselan.util.Debug;
+import org.apache.commons.sanselan.ImageInfo;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.Sanselan;
+import org.apache.commons.sanselan.common.IImageMetadata;
+import org.apache.commons.sanselan.util.Debug;
 
 public class PcxReadTest extends PcxBaseTest
 {
diff --git a/src/test/java/org/apache/sanselan/formats/png/ConvertPngToGifTest.java b/src/test/java/org/apache/commons/sanselan/formats/png/ConvertPngToGifTest.java
similarity index 86%
rename from src/test/java/org/apache/sanselan/formats/png/ConvertPngToGifTest.java
rename to src/test/java/org/apache/commons/sanselan/formats/png/ConvertPngToGifTest.java
index 048c023..ce780a7 100644
--- a/src/test/java/org/apache/sanselan/formats/png/ConvertPngToGifTest.java
+++ b/src/test/java/org/apache/commons/sanselan/formats/png/ConvertPngToGifTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.formats.png;
+package org.apache.commons.sanselan.formats.png;
 
 import java.awt.image.BufferedImage;
 import java.io.File;
@@ -23,11 +23,11 @@
 import java.util.Hashtable;
 import java.util.List;
 
-import org.apache.sanselan.ImageFormat;
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.Sanselan;
-import org.apache.sanselan.util.Debug;
+import org.apache.commons.sanselan.ImageFormat;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.Sanselan;
+import org.apache.commons.sanselan.util.Debug;
 
 public class ConvertPngToGifTest extends PngBaseTest {
 
diff --git a/src/test/java/org/apache/sanselan/formats/png/PngBaseTest.java b/src/test/java/org/apache/commons/sanselan/formats/png/PngBaseTest.java
similarity index 85%
rename from src/test/java/org/apache/sanselan/formats/png/PngBaseTest.java
rename to src/test/java/org/apache/commons/sanselan/formats/png/PngBaseTest.java
index 53db95d..5033ea2 100644
--- a/src/test/java/org/apache/sanselan/formats/png/PngBaseTest.java
+++ b/src/test/java/org/apache/commons/sanselan/formats/png/PngBaseTest.java
@@ -15,16 +15,16 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.formats.png;
+package org.apache.commons.sanselan.formats.png;
 
 import java.io.File;
 import java.io.IOException;
 import java.util.List;
 
-import org.apache.sanselan.ImageFormat;
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.Sanselan;
-import org.apache.sanselan.SanselanTest;
+import org.apache.commons.sanselan.ImageFormat;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.Sanselan;
+import org.apache.commons.sanselan.SanselanTest;
 
 public abstract class PngBaseTest extends SanselanTest
 {
diff --git a/src/test/java/org/apache/sanselan/formats/png/PngMultipleRoundtripTest.java b/src/test/java/org/apache/commons/sanselan/formats/png/PngMultipleRoundtripTest.java
similarity index 89%
rename from src/test/java/org/apache/sanselan/formats/png/PngMultipleRoundtripTest.java
rename to src/test/java/org/apache/commons/sanselan/formats/png/PngMultipleRoundtripTest.java
index 004c422..0bef623 100644
--- a/src/test/java/org/apache/sanselan/formats/png/PngMultipleRoundtripTest.java
+++ b/src/test/java/org/apache/commons/sanselan/formats/png/PngMultipleRoundtripTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.formats.png;
+package org.apache.commons.sanselan.formats.png;
 
 import java.awt.image.BufferedImage;
 import java.io.File;
@@ -23,12 +23,12 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import org.apache.sanselan.ImageFormat;
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.Sanselan;
-import org.apache.sanselan.util.Debug;
 import org.apache.commons.io.FilenameUtils;
+import org.apache.commons.sanselan.ImageFormat;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.Sanselan;
+import org.apache.commons.sanselan.util.Debug;
 
 public class PngMultipleRoundtripTest extends PngBaseTest
 {
diff --git a/src/test/java/org/apache/sanselan/formats/png/PngReadTest.java b/src/test/java/org/apache/commons/sanselan/formats/png/PngReadTest.java
similarity index 89%
rename from src/test/java/org/apache/sanselan/formats/png/PngReadTest.java
rename to src/test/java/org/apache/commons/sanselan/formats/png/PngReadTest.java
index e6ad5e8..528e605 100644
--- a/src/test/java/org/apache/sanselan/formats/png/PngReadTest.java
+++ b/src/test/java/org/apache/commons/sanselan/formats/png/PngReadTest.java
@@ -15,18 +15,18 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.formats.png;
+package org.apache.commons.sanselan.formats.png;
 
 import java.awt.image.BufferedImage;
 import java.io.File;
 import java.io.IOException;
 import java.util.List;
 
-import org.apache.sanselan.ImageInfo;
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.Sanselan;
-import org.apache.sanselan.common.IImageMetadata;
-import org.apache.sanselan.util.Debug;
+import org.apache.commons.sanselan.ImageInfo;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.Sanselan;
+import org.apache.commons.sanselan.common.IImageMetadata;
+import org.apache.commons.sanselan.util.Debug;
 
 public class PngReadTest extends PngBaseTest
 {
diff --git a/src/test/java/org/apache/sanselan/formats/png/PngTextTest.java b/src/test/java/org/apache/commons/sanselan/formats/png/PngTextTest.java
similarity index 86%
rename from src/test/java/org/apache/sanselan/formats/png/PngTextTest.java
rename to src/test/java/org/apache/commons/sanselan/formats/png/PngTextTest.java
index e56eea9..6a56625 100644
--- a/src/test/java/org/apache/sanselan/formats/png/PngTextTest.java
+++ b/src/test/java/org/apache/commons/sanselan/formats/png/PngTextTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.formats.png;
+package org.apache.commons.sanselan.formats.png;
 
 import java.awt.Color;
 import java.awt.image.BufferedImage;
@@ -26,11 +26,14 @@
 import java.util.List;
 import java.util.Map;
 
-import org.apache.sanselan.ImageFormat;
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.Sanselan;
-import org.apache.sanselan.util.IOUtils;
+import org.apache.commons.sanselan.ImageFormat;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.Sanselan;
+import org.apache.commons.sanselan.formats.png.PngConstants;
+import org.apache.commons.sanselan.formats.png.PngImageInfo;
+import org.apache.commons.sanselan.formats.png.PngText;
+import org.apache.commons.sanselan.util.IOUtils;
 
 public class PngTextTest extends PngBaseTest
 {
diff --git a/src/test/java/org/apache/sanselan/formats/png/PngWriteForceTrueColorText.java b/src/test/java/org/apache/commons/sanselan/formats/png/PngWriteForceTrueColorText.java
similarity index 90%
rename from src/test/java/org/apache/sanselan/formats/png/PngWriteForceTrueColorText.java
rename to src/test/java/org/apache/commons/sanselan/formats/png/PngWriteForceTrueColorText.java
index a52836c..c098217 100644
--- a/src/test/java/org/apache/sanselan/formats/png/PngWriteForceTrueColorText.java
+++ b/src/test/java/org/apache/commons/sanselan/formats/png/PngWriteForceTrueColorText.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.formats.png;
+package org.apache.commons.sanselan.formats.png;
 
 import java.awt.image.BufferedImage;
 import java.io.File;
@@ -23,9 +23,10 @@
 import java.util.List;
 import java.util.Map;
 
-import org.apache.sanselan.ImageFormat;
-import org.apache.sanselan.Sanselan;
-import org.apache.sanselan.util.Debug;
+import org.apache.commons.sanselan.ImageFormat;
+import org.apache.commons.sanselan.Sanselan;
+import org.apache.commons.sanselan.formats.png.PngConstants;
+import org.apache.commons.sanselan.util.Debug;
 
 public class PngWriteForceTrueColorText extends PngBaseTest {
 
diff --git a/src/test/java/org/apache/sanselan/formats/png/PngWriteReadTest.java b/src/test/java/org/apache/commons/sanselan/formats/png/PngWriteReadTest.java
similarity index 94%
rename from src/test/java/org/apache/sanselan/formats/png/PngWriteReadTest.java
rename to src/test/java/org/apache/commons/sanselan/formats/png/PngWriteReadTest.java
index 4285d77..a63a503 100644
--- a/src/test/java/org/apache/sanselan/formats/png/PngWriteReadTest.java
+++ b/src/test/java/org/apache/commons/sanselan/formats/png/PngWriteReadTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.formats.png;
+package org.apache.commons.sanselan.formats.png;
 
 import java.awt.image.BufferedImage;
 import java.io.File;
@@ -24,12 +24,12 @@
 import java.util.Map;
 import java.util.Random;
 
-import org.apache.sanselan.ImageFormat;
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.Sanselan;
-import org.apache.sanselan.SanselanTest;
-import org.apache.sanselan.util.IOUtils;
+import org.apache.commons.sanselan.ImageFormat;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.Sanselan;
+import org.apache.commons.sanselan.SanselanTest;
+import org.apache.commons.sanselan.util.IOUtils;
 
 public class PngWriteReadTest extends SanselanTest
 {
diff --git a/src/test/java/org/apache/sanselan/formats/tiff/TiffBaseTest.java b/src/test/java/org/apache/commons/sanselan/formats/tiff/TiffBaseTest.java
similarity index 85%
rename from src/test/java/org/apache/sanselan/formats/tiff/TiffBaseTest.java
rename to src/test/java/org/apache/commons/sanselan/formats/tiff/TiffBaseTest.java
index c14c5cf..2c15c8a 100644
--- a/src/test/java/org/apache/sanselan/formats/tiff/TiffBaseTest.java
+++ b/src/test/java/org/apache/commons/sanselan/formats/tiff/TiffBaseTest.java
@@ -15,16 +15,16 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.formats.tiff;
+package org.apache.commons.sanselan.formats.tiff;
 
 import java.io.File;
 import java.io.IOException;
 import java.util.List;
 
-import org.apache.sanselan.ImageFormat;
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.Sanselan;
-import org.apache.sanselan.SanselanTest;
+import org.apache.commons.sanselan.ImageFormat;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.Sanselan;
+import org.apache.commons.sanselan.SanselanTest;
 
 public abstract class TiffBaseTest extends SanselanTest
 {
diff --git a/src/test/java/org/apache/sanselan/formats/tiff/TiffLZWTest.java b/src/test/java/org/apache/commons/sanselan/formats/tiff/TiffLZWTest.java
similarity index 96%
rename from src/test/java/org/apache/sanselan/formats/tiff/TiffLZWTest.java
rename to src/test/java/org/apache/commons/sanselan/formats/tiff/TiffLZWTest.java
index c7243ca..fb71f16 100644
--- a/src/test/java/org/apache/sanselan/formats/tiff/TiffLZWTest.java
+++ b/src/test/java/org/apache/commons/sanselan/formats/tiff/TiffLZWTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.formats.tiff;
+package org.apache.commons.sanselan.formats.tiff;
 
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
@@ -23,10 +23,10 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.sanselan.common.BinaryConstants;
-import org.apache.sanselan.common.mylzw.MyLZWCompressor;
-import org.apache.sanselan.common.mylzw.MyLZWDecompressor;
-import org.apache.sanselan.util.Debug;
+import org.apache.commons.sanselan.common.BinaryConstants;
+import org.apache.commons.sanselan.common.mylzw.MyLZWCompressor;
+import org.apache.commons.sanselan.common.mylzw.MyLZWDecompressor;
+import org.apache.commons.sanselan.util.Debug;
 
 public class TiffLZWTest extends TiffBaseTest implements BinaryConstants
 {
diff --git a/src/test/java/org/apache/sanselan/formats/tiff/TiffReadTest.java b/src/test/java/org/apache/commons/sanselan/formats/tiff/TiffReadTest.java
similarity index 84%
rename from src/test/java/org/apache/sanselan/formats/tiff/TiffReadTest.java
rename to src/test/java/org/apache/commons/sanselan/formats/tiff/TiffReadTest.java
index e3eef36..395ec8f 100644
--- a/src/test/java/org/apache/sanselan/formats/tiff/TiffReadTest.java
+++ b/src/test/java/org/apache/commons/sanselan/formats/tiff/TiffReadTest.java
@@ -15,18 +15,18 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.formats.tiff;
+package org.apache.commons.sanselan.formats.tiff;
 
 import java.awt.image.BufferedImage;
 import java.io.File;
 import java.io.IOException;
 import java.util.List;
 
-import org.apache.sanselan.ImageInfo;
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.Sanselan;
-import org.apache.sanselan.common.IImageMetadata;
-import org.apache.sanselan.util.Debug;
+import org.apache.commons.sanselan.ImageInfo;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.Sanselan;
+import org.apache.commons.sanselan.common.IImageMetadata;
+import org.apache.commons.sanselan.util.Debug;
 
 public class TiffReadTest extends TiffBaseTest
 {
diff --git a/src/test/java/org/apache/sanselan/formats/tiff/TiffRoundtripTest.java b/src/test/java/org/apache/commons/sanselan/formats/tiff/TiffRoundtripTest.java
similarity index 83%
rename from src/test/java/org/apache/sanselan/formats/tiff/TiffRoundtripTest.java
rename to src/test/java/org/apache/commons/sanselan/formats/tiff/TiffRoundtripTest.java
index 3ce5ec5..d16cb17 100644
--- a/src/test/java/org/apache/sanselan/formats/tiff/TiffRoundtripTest.java
+++ b/src/test/java/org/apache/commons/sanselan/formats/tiff/TiffRoundtripTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.formats.tiff;
+package org.apache.commons.sanselan.formats.tiff;
 
 import java.awt.image.BufferedImage;
 import java.io.File;
@@ -24,13 +24,13 @@
 import java.util.List;
 import java.util.Map;
 
-import org.apache.sanselan.ImageFormat;
-import org.apache.sanselan.ImageInfo;
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.Sanselan;
-import org.apache.sanselan.common.IImageMetadata;
-import org.apache.sanselan.util.Debug;
+import org.apache.commons.sanselan.ImageFormat;
+import org.apache.commons.sanselan.ImageInfo;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.Sanselan;
+import org.apache.commons.sanselan.common.IImageMetadata;
+import org.apache.commons.sanselan.util.Debug;
 
 public class TiffRoundtripTest extends TiffBaseTest {
 
diff --git a/src/test/java/org/apache/sanselan/formats/wbmp/WbmpBaseTest.java b/src/test/java/org/apache/commons/sanselan/formats/wbmp/WbmpBaseTest.java
similarity index 88%
rename from src/test/java/org/apache/sanselan/formats/wbmp/WbmpBaseTest.java
rename to src/test/java/org/apache/commons/sanselan/formats/wbmp/WbmpBaseTest.java
index af9a1cd..bb1ae5b 100644
--- a/src/test/java/org/apache/sanselan/formats/wbmp/WbmpBaseTest.java
+++ b/src/test/java/org/apache/commons/sanselan/formats/wbmp/WbmpBaseTest.java
@@ -13,13 +13,14 @@
  *  under the License.
  */
 
-package org.apache.sanselan.formats.wbmp;
+package org.apache.commons.sanselan.formats.wbmp;
 
 import java.io.File;
 import java.io.IOException;
 import java.util.List;
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.SanselanTest;
+
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.SanselanTest;
 
 public abstract class WbmpBaseTest extends SanselanTest
 {
diff --git a/src/test/java/org/apache/sanselan/formats/wbmp/WbmpReadTest.java b/src/test/java/org/apache/commons/sanselan/formats/wbmp/WbmpReadTest.java
similarity index 83%
rename from src/test/java/org/apache/sanselan/formats/wbmp/WbmpReadTest.java
rename to src/test/java/org/apache/commons/sanselan/formats/wbmp/WbmpReadTest.java
index 96c6117..64d8e95 100644
--- a/src/test/java/org/apache/sanselan/formats/wbmp/WbmpReadTest.java
+++ b/src/test/java/org/apache/commons/sanselan/formats/wbmp/WbmpReadTest.java
@@ -13,7 +13,7 @@
  *  under the License.
  */
 
-package org.apache.sanselan.formats.wbmp;
+package org.apache.commons.sanselan.formats.wbmp;
 
 import java.awt.image.BufferedImage;
 import java.io.File;
@@ -21,11 +21,12 @@
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import org.apache.sanselan.ImageInfo;
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.Sanselan;
-import org.apache.sanselan.common.IImageMetadata;
-import org.apache.sanselan.util.Debug;
+
+import org.apache.commons.sanselan.ImageInfo;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.Sanselan;
+import org.apache.commons.sanselan.common.IImageMetadata;
+import org.apache.commons.sanselan.util.Debug;
 
 public class WbmpReadTest extends WbmpBaseTest
 {
diff --git a/src/test/java/org/apache/sanselan/formats/xbm/XbmBaseTest.java b/src/test/java/org/apache/commons/sanselan/formats/xbm/XbmBaseTest.java
similarity index 88%
rename from src/test/java/org/apache/sanselan/formats/xbm/XbmBaseTest.java
rename to src/test/java/org/apache/commons/sanselan/formats/xbm/XbmBaseTest.java
index 54022c8..b801faa 100644
--- a/src/test/java/org/apache/sanselan/formats/xbm/XbmBaseTest.java
+++ b/src/test/java/org/apache/commons/sanselan/formats/xbm/XbmBaseTest.java
@@ -13,13 +13,14 @@
  *  under the License.
  */
 
-package org.apache.sanselan.formats.xbm;
+package org.apache.commons.sanselan.formats.xbm;
 
 import java.io.File;
 import java.io.IOException;
 import java.util.List;
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.SanselanTest;
+
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.SanselanTest;
 
 public abstract class XbmBaseTest extends SanselanTest
 {
diff --git a/src/test/java/org/apache/sanselan/formats/xbm/XbmReadTest.java b/src/test/java/org/apache/commons/sanselan/formats/xbm/XbmReadTest.java
similarity index 83%
rename from src/test/java/org/apache/sanselan/formats/xbm/XbmReadTest.java
rename to src/test/java/org/apache/commons/sanselan/formats/xbm/XbmReadTest.java
index b708e26..fae94be 100644
--- a/src/test/java/org/apache/sanselan/formats/xbm/XbmReadTest.java
+++ b/src/test/java/org/apache/commons/sanselan/formats/xbm/XbmReadTest.java
@@ -13,7 +13,7 @@
  *  under the License.
  */
 
-package org.apache.sanselan.formats.xbm;
+package org.apache.commons.sanselan.formats.xbm;
 
 import java.awt.image.BufferedImage;
 import java.io.File;
@@ -21,11 +21,12 @@
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import org.apache.sanselan.ImageInfo;
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.Sanselan;
-import org.apache.sanselan.common.IImageMetadata;
-import org.apache.sanselan.util.Debug;
+
+import org.apache.commons.sanselan.ImageInfo;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.Sanselan;
+import org.apache.commons.sanselan.common.IImageMetadata;
+import org.apache.commons.sanselan.util.Debug;
 
 public class XbmReadTest extends XbmBaseTest
 {
diff --git a/src/test/java/org/apache/sanselan/formats/xmp/XmpDumpTest.java b/src/test/java/org/apache/commons/sanselan/formats/xmp/XmpDumpTest.java
similarity index 87%
rename from src/test/java/org/apache/sanselan/formats/xmp/XmpDumpTest.java
rename to src/test/java/org/apache/commons/sanselan/formats/xmp/XmpDumpTest.java
index 57c04e6..f1d76a4 100644
--- a/src/test/java/org/apache/sanselan/formats/xmp/XmpDumpTest.java
+++ b/src/test/java/org/apache/commons/sanselan/formats/xmp/XmpDumpTest.java
@@ -15,16 +15,16 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.formats.xmp;
+package org.apache.commons.sanselan.formats.xmp;
 
 import java.io.File;
 import java.io.IOException;
 import java.util.List;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.Sanselan;
-import org.apache.sanselan.SanselanTest;
-import org.apache.sanselan.util.Debug;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.Sanselan;
+import org.apache.commons.sanselan.SanselanTest;
+import org.apache.commons.sanselan.util.Debug;
 
 public class XmpDumpTest extends SanselanTest
 {
diff --git a/src/test/java/org/apache/sanselan/formats/xmp/XmpUpdateTest.java b/src/test/java/org/apache/commons/sanselan/formats/xmp/XmpUpdateTest.java
similarity index 89%
rename from src/test/java/org/apache/sanselan/formats/xmp/XmpUpdateTest.java
rename to src/test/java/org/apache/commons/sanselan/formats/xmp/XmpUpdateTest.java
index a6fc2d9..e9c4794 100644
--- a/src/test/java/org/apache/sanselan/formats/xmp/XmpUpdateTest.java
+++ b/src/test/java/org/apache/commons/sanselan/formats/xmp/XmpUpdateTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.formats.xmp;
+package org.apache.commons.sanselan.formats.xmp;
 
 import java.awt.image.BufferedImage;
 import java.io.File;
@@ -24,12 +24,12 @@
 import java.util.List;
 import java.util.Map;
 
-import org.apache.sanselan.ImageFormat;
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.Sanselan;
-import org.apache.sanselan.SanselanTest;
-import org.apache.sanselan.util.Debug;
+import org.apache.commons.sanselan.ImageFormat;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.Sanselan;
+import org.apache.commons.sanselan.SanselanTest;
+import org.apache.commons.sanselan.util.Debug;
 
 public class XmpUpdateTest extends SanselanTest
 {
diff --git a/src/test/java/org/apache/sanselan/formats/xpm/XpmBaseTest.java b/src/test/java/org/apache/commons/sanselan/formats/xpm/XpmBaseTest.java
similarity index 88%
rename from src/test/java/org/apache/sanselan/formats/xpm/XpmBaseTest.java
rename to src/test/java/org/apache/commons/sanselan/formats/xpm/XpmBaseTest.java
index 5a1073e..2ef02cf 100644
--- a/src/test/java/org/apache/sanselan/formats/xpm/XpmBaseTest.java
+++ b/src/test/java/org/apache/commons/sanselan/formats/xpm/XpmBaseTest.java
@@ -13,13 +13,14 @@
  *  under the License.
  */
 
-package org.apache.sanselan.formats.xpm;
+package org.apache.commons.sanselan.formats.xpm;
 
 import java.io.File;
 import java.io.IOException;
 import java.util.List;
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.SanselanTest;
+
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.SanselanTest;
 
 public abstract class XpmBaseTest extends SanselanTest
 {
diff --git a/src/test/java/org/apache/sanselan/formats/xpm/XpmReadTest.java b/src/test/java/org/apache/commons/sanselan/formats/xpm/XpmReadTest.java
similarity index 83%
rename from src/test/java/org/apache/sanselan/formats/xpm/XpmReadTest.java
rename to src/test/java/org/apache/commons/sanselan/formats/xpm/XpmReadTest.java
index 052b3df..33a8c55 100644
--- a/src/test/java/org/apache/sanselan/formats/xpm/XpmReadTest.java
+++ b/src/test/java/org/apache/commons/sanselan/formats/xpm/XpmReadTest.java
@@ -13,7 +13,7 @@
  *  under the License.
  */
 
-package org.apache.sanselan.formats.xpm;
+package org.apache.commons.sanselan.formats.xpm;
 
 import java.awt.image.BufferedImage;
 import java.io.File;
@@ -21,11 +21,12 @@
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import org.apache.sanselan.ImageInfo;
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.Sanselan;
-import org.apache.sanselan.common.IImageMetadata;
-import org.apache.sanselan.util.Debug;
+
+import org.apache.commons.sanselan.ImageInfo;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.Sanselan;
+import org.apache.commons.sanselan.common.IImageMetadata;
+import org.apache.commons.sanselan.util.Debug;
 
 public class XpmReadTest extends XpmBaseTest
 {
diff --git a/src/test/java/org/apache/sanselan/roundtrip/RoundtripTest.java b/src/test/java/org/apache/commons/sanselan/roundtrip/RoundtripTest.java
similarity index 96%
rename from src/test/java/org/apache/sanselan/roundtrip/RoundtripTest.java
rename to src/test/java/org/apache/commons/sanselan/roundtrip/RoundtripTest.java
index 7020743..51fdb34 100644
--- a/src/test/java/org/apache/sanselan/roundtrip/RoundtripTest.java
+++ b/src/test/java/org/apache/commons/sanselan/roundtrip/RoundtripTest.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.roundtrip;
+package org.apache.commons.sanselan.roundtrip;
 
 import java.awt.image.BufferedImage;
 import java.io.File;
@@ -23,15 +23,15 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import org.apache.sanselan.ImageFormat;
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.Sanselan;
-import org.apache.sanselan.SanselanConstants;
-import org.apache.sanselan.SanselanTest;
-import org.apache.sanselan.common.RgbBufferedImageFactory;
-import org.apache.sanselan.util.Debug;
-import org.apache.sanselan.util.IOUtils;
+import org.apache.commons.sanselan.ImageFormat;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.Sanselan;
+import org.apache.commons.sanselan.SanselanConstants;
+import org.apache.commons.sanselan.SanselanTest;
+import org.apache.commons.sanselan.common.RgbBufferedImageFactory;
+import org.apache.commons.sanselan.util.Debug;
+import org.apache.commons.sanselan.util.IOUtils;
 
 public class RoundtripTest extends SanselanTest
 {
diff --git a/src/test/java/org/apache/sanselan/sampleUsage/ImageReadExample.java b/src/test/java/org/apache/commons/sanselan/sampleUsage/ImageReadExample.java
similarity index 89%
rename from src/test/java/org/apache/sanselan/sampleUsage/ImageReadExample.java
rename to src/test/java/org/apache/commons/sanselan/sampleUsage/ImageReadExample.java
index e875481..564bacd 100644
--- a/src/test/java/org/apache/sanselan/sampleUsage/ImageReadExample.java
+++ b/src/test/java/org/apache/commons/sanselan/sampleUsage/ImageReadExample.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.sampleUsage;
+package org.apache.commons.sanselan.sampleUsage;
 
 import java.awt.GraphicsConfiguration;
 import java.awt.GraphicsDevice;
@@ -26,10 +26,10 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.Sanselan;
-import org.apache.sanselan.SanselanConstants;
-import org.apache.sanselan.common.IBufferedImageFactory;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.Sanselan;
+import org.apache.commons.sanselan.SanselanConstants;
+import org.apache.commons.sanselan.common.IBufferedImageFactory;
 
 public class ImageReadExample
 {
diff --git a/src/test/java/org/apache/sanselan/sampleUsage/ImageWriteExample.java b/src/test/java/org/apache/commons/sanselan/sampleUsage/ImageWriteExample.java
similarity index 80%
rename from src/test/java/org/apache/sanselan/sampleUsage/ImageWriteExample.java
rename to src/test/java/org/apache/commons/sanselan/sampleUsage/ImageWriteExample.java
index 1a72da4..e8895a5 100644
--- a/src/test/java/org/apache/sanselan/sampleUsage/ImageWriteExample.java
+++ b/src/test/java/org/apache/commons/sanselan/sampleUsage/ImageWriteExample.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.sampleUsage;
+package org.apache.commons.sanselan.sampleUsage;
 
 import java.awt.image.BufferedImage;
 import java.io.File;
@@ -22,12 +22,12 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import org.apache.sanselan.ImageFormat;
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.Sanselan;
-import org.apache.sanselan.SanselanConstants;
-import org.apache.sanselan.formats.tiff.constants.TiffConstants;
+import org.apache.commons.sanselan.ImageFormat;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.Sanselan;
+import org.apache.commons.sanselan.SanselanConstants;
+import org.apache.commons.sanselan.formats.tiff.constants.TiffConstants;
 
 public class ImageWriteExample
 {
diff --git a/src/test/java/org/apache/sanselan/sampleUsage/MetadataExample.java b/src/test/java/org/apache/commons/sanselan/sampleUsage/MetadataExample.java
similarity index 92%
rename from src/test/java/org/apache/sanselan/sampleUsage/MetadataExample.java
rename to src/test/java/org/apache/commons/sanselan/sampleUsage/MetadataExample.java
index 1eccadc..f225bf6 100644
--- a/src/test/java/org/apache/sanselan/sampleUsage/MetadataExample.java
+++ b/src/test/java/org/apache/commons/sanselan/sampleUsage/MetadataExample.java
@@ -14,21 +14,21 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.sampleUsage;
+package org.apache.commons.sanselan.sampleUsage;
 
 import java.io.File;
 import java.io.IOException;
 import java.util.ArrayList;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.Sanselan;
-import org.apache.sanselan.common.IImageMetadata;
-import org.apache.sanselan.common.RationalNumber;
-import org.apache.sanselan.formats.jpeg.JpegImageMetadata;
-import org.apache.sanselan.formats.tiff.TiffField;
-import org.apache.sanselan.formats.tiff.TiffImageMetadata;
-import org.apache.sanselan.formats.tiff.constants.TagInfo;
-import org.apache.sanselan.formats.tiff.constants.TiffConstants;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.Sanselan;
+import org.apache.commons.sanselan.common.IImageMetadata;
+import org.apache.commons.sanselan.common.RationalNumber;
+import org.apache.commons.sanselan.formats.jpeg.JpegImageMetadata;
+import org.apache.commons.sanselan.formats.tiff.TiffField;
+import org.apache.commons.sanselan.formats.tiff.TiffImageMetadata;
+import org.apache.commons.sanselan.formats.tiff.constants.TagInfo;
+import org.apache.commons.sanselan.formats.tiff.constants.TiffConstants;
 
 public class MetadataExample
 {
diff --git a/src/test/java/org/apache/sanselan/sampleUsage/SampleUsage.java b/src/test/java/org/apache/commons/sanselan/sampleUsage/SampleUsage.java
similarity index 93%
rename from src/test/java/org/apache/sanselan/sampleUsage/SampleUsage.java
rename to src/test/java/org/apache/commons/sanselan/sampleUsage/SampleUsage.java
index 232fd2d..73720bd 100644
--- a/src/test/java/org/apache/sanselan/sampleUsage/SampleUsage.java
+++ b/src/test/java/org/apache/commons/sanselan/sampleUsage/SampleUsage.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.sampleUsage;
+package org.apache.commons.sanselan.sampleUsage;
 
 import java.awt.Dimension;
 import java.awt.color.ICC_Profile;
@@ -25,11 +25,11 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import org.apache.sanselan.FormatCompliance;
-import org.apache.sanselan.ImageFormat;
-import org.apache.sanselan.ImageInfo;
-import org.apache.sanselan.Sanselan;
-import org.apache.sanselan.common.IImageMetadata;
+import org.apache.commons.sanselan.FormatCompliance;
+import org.apache.commons.sanselan.ImageFormat;
+import org.apache.commons.sanselan.ImageInfo;
+import org.apache.commons.sanselan.Sanselan;
+import org.apache.commons.sanselan.common.IImageMetadata;
 
 public class SampleUsage
 {
diff --git a/src/test/java/org/apache/sanselan/sampleUsage/WriteExifMetadataExample.java b/src/test/java/org/apache/commons/sanselan/sampleUsage/WriteExifMetadataExample.java
similarity index 92%
rename from src/test/java/org/apache/sanselan/sampleUsage/WriteExifMetadataExample.java
rename to src/test/java/org/apache/commons/sanselan/sampleUsage/WriteExifMetadataExample.java
index 5a51a9d..e3703b7 100644
--- a/src/test/java/org/apache/sanselan/sampleUsage/WriteExifMetadataExample.java
+++ b/src/test/java/org/apache/commons/sanselan/sampleUsage/WriteExifMetadataExample.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.sanselan.sampleUsage;
+package org.apache.commons.sanselan.sampleUsage;
 
 import java.io.BufferedOutputStream;
 import java.io.File;
@@ -22,18 +22,18 @@
 import java.io.IOException;
 import java.io.OutputStream;
 
-import org.apache.sanselan.ImageReadException;
-import org.apache.sanselan.ImageWriteException;
-import org.apache.sanselan.Sanselan;
-import org.apache.sanselan.common.IImageMetadata;
-import org.apache.sanselan.formats.jpeg.JpegImageMetadata;
-import org.apache.sanselan.formats.jpeg.exifRewrite.ExifRewriter;
-import org.apache.sanselan.formats.tiff.TiffImageMetadata;
-import org.apache.sanselan.formats.tiff.constants.TiffConstants;
-import org.apache.sanselan.formats.tiff.write.TiffOutputDirectory;
-import org.apache.sanselan.formats.tiff.write.TiffOutputField;
-import org.apache.sanselan.formats.tiff.write.TiffOutputSet;
-import org.apache.sanselan.util.IOUtils;
+import org.apache.commons.sanselan.ImageReadException;
+import org.apache.commons.sanselan.ImageWriteException;
+import org.apache.commons.sanselan.Sanselan;
+import org.apache.commons.sanselan.common.IImageMetadata;
+import org.apache.commons.sanselan.formats.jpeg.JpegImageMetadata;
+import org.apache.commons.sanselan.formats.jpeg.exifRewrite.ExifRewriter;
+import org.apache.commons.sanselan.formats.tiff.TiffImageMetadata;
+import org.apache.commons.sanselan.formats.tiff.constants.TiffConstants;
+import org.apache.commons.sanselan.formats.tiff.write.TiffOutputDirectory;
+import org.apache.commons.sanselan.formats.tiff.write.TiffOutputField;
+import org.apache.commons.sanselan.formats.tiff.write.TiffOutputSet;
+import org.apache.commons.sanselan.util.IOUtils;
 
 public class WriteExifMetadataExample
 {
@@ -122,7 +122,7 @@
                 // directories are associated with a given tag.
                 //
                 // see
-                // org.apache.sanselan.formats.tiff.constants.AllTagConstants
+                // org.apache.commons.sanselan.formats.tiff.constants.AllTagConstants
                 //
                 TiffOutputField aperture = TiffOutputField.create(
                         TiffConstants.EXIF_TAG_APERTURE_VALUE,
diff --git a/src/test/java/org/apache/sanselan/test/util/FSTraversal.java b/src/test/java/org/apache/commons/sanselan/test/util/FSTraversal.java
similarity index 97%
rename from src/test/java/org/apache/sanselan/test/util/FSTraversal.java
rename to src/test/java/org/apache/commons/sanselan/test/util/FSTraversal.java
index 6da10b7..bf050fd 100644
--- a/src/test/java/org/apache/sanselan/test/util/FSTraversal.java
+++ b/src/test/java/org/apache/commons/sanselan/test/util/FSTraversal.java
@@ -15,11 +15,11 @@
  * limitations under the License.
  */
 
-package org.apache.sanselan.test.util;
+package org.apache.commons.sanselan.test.util;
 
 import java.io.File;
 
-import org.apache.sanselan.util.Debug;
+import org.apache.commons.sanselan.util.Debug;
 
 public class FSTraversal
 {