diff --git a/src/main/java/org/apache/james/mime4j/message/TempFileBinaryBody.java b/src/main/java/org/apache/james/mime4j/message/TempFileBinaryBody.java
index a983577..1965c49 100644
--- a/src/main/java/org/apache/james/mime4j/message/TempFileBinaryBody.java
+++ b/src/main/java/org/apache/james/mime4j/message/TempFileBinaryBody.java
@@ -23,9 +23,9 @@
 import java.io.InputStream;
 import java.io.OutputStream;
 
-import org.apache.james.mime4j.storage.TempFile;
-import org.apache.james.mime4j.storage.TempPath;
-import org.apache.james.mime4j.storage.TempStorage;
+import org.apache.james.mime4j.message.storage.TempFile;
+import org.apache.james.mime4j.message.storage.TempPath;
+import org.apache.james.mime4j.message.storage.TempStorage;
 import org.apache.james.mime4j.util.Base64InputStream;
 import org.apache.james.mime4j.util.CodecUtil;
 import org.apache.james.mime4j.util.MimeUtil;
@@ -33,7 +33,7 @@
 
 
 /**
- * Binary body backed by a {@link org.apache.james.mime4j.storage.TempFile}.
+ * Binary body backed by a {@link org.apache.james.mime4j.message.storage.TempFile}.
  *
  * 
  * @version $Id: TempFileBinaryBody.java,v 1.2 2004/10/02 12:41:11 ntherning Exp $
diff --git a/src/main/java/org/apache/james/mime4j/message/TempFileTextBody.java b/src/main/java/org/apache/james/mime4j/message/TempFileTextBody.java
index 24176b8..234bebb 100644
--- a/src/main/java/org/apache/james/mime4j/message/TempFileTextBody.java
+++ b/src/main/java/org/apache/james/mime4j/message/TempFileTextBody.java
@@ -28,15 +28,15 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.james.mime4j.storage.TempFile;
-import org.apache.james.mime4j.storage.TempPath;
-import org.apache.james.mime4j.storage.TempStorage;
+import org.apache.james.mime4j.message.storage.TempFile;
+import org.apache.james.mime4j.message.storage.TempPath;
+import org.apache.james.mime4j.message.storage.TempStorage;
 import org.apache.james.mime4j.util.CharsetUtil;
 import org.apache.james.mime4j.util.CodecUtil;
 
 
 /**
- * Text body backed by a {@link org.apache.james.mime4j.storage.TempFile}.
+ * Text body backed by a {@link org.apache.james.mime4j.message.storage.TempFile}.
  *
  * 
  * @version $Id: TempFileTextBody.java,v 1.3 2004/10/25 07:26:46 ntherning Exp $
diff --git a/src/main/java/org/apache/james/mime4j/storage/SimpleTempStorage.java b/src/main/java/org/apache/james/mime4j/message/storage/SimpleTempStorage.java
similarity index 85%
rename from src/main/java/org/apache/james/mime4j/storage/SimpleTempStorage.java
rename to src/main/java/org/apache/james/mime4j/message/storage/SimpleTempStorage.java
index cb7dc26..403e769 100644
--- a/src/main/java/org/apache/james/mime4j/storage/SimpleTempStorage.java
+++ b/src/main/java/org/apache/james/mime4j/message/storage/SimpleTempStorage.java
@@ -17,7 +17,7 @@
  * under the License.                                           *
  ****************************************************************/
 
-package org.apache.james.mime4j.storage;
+package org.apache.james.mime4j.message.storage;
 
 import java.io.BufferedInputStream;
 import java.io.BufferedOutputStream;
@@ -110,7 +110,7 @@
     }
     
     /**
-     * @see org.apache.james.mime4j.storage.TempStorage#getRootTempPath()
+     * @see org.apache.james.mime4j.message.storage.TempStorage#getRootTempPath()
      */
     public TempPath getRootTempPath() {
         return rootPath;
@@ -128,14 +128,14 @@
         }
         
         /**
-         * @see org.apache.james.mime4j.storage.TempPath#createTempFile()
+         * @see org.apache.james.mime4j.message.storage.TempPath#createTempFile()
          */
         public TempFile createTempFile() throws IOException {
             return SimpleTempStorage.this.createTempFile(this, null, null);
         }
 
         /**
-         * @see org.apache.james.mime4j.storage.TempPath#createTempFile(java.lang.String, java.lang.String)
+         * @see org.apache.james.mime4j.message.storage.TempPath#createTempFile(java.lang.String, java.lang.String)
          */
         public TempFile createTempFile(String prefix, String suffix) 
                 throws IOException {
@@ -144,7 +144,7 @@
         }
 
         /**
-         * @see org.apache.james.mime4j.storage.TempPath#createTempFile(java.lang.String, java.lang.String, boolean)
+         * @see org.apache.james.mime4j.message.storage.TempPath#createTempFile(java.lang.String, java.lang.String, boolean)
          */
         public TempFile createTempFile(String prefix, String suffix, 
                                        boolean allowInMemory) 
@@ -154,7 +154,7 @@
         }
         
         /**
-         * @see org.apache.james.mime4j.storage.TempPath#getAbsolutePath()
+         * @see org.apache.james.mime4j.message.storage.TempPath#getAbsolutePath()
          */
         public String getAbsolutePath() {
             return path.getAbsolutePath();
@@ -167,14 +167,14 @@
         }
 
         /**
-         * @see org.apache.james.mime4j.storage.TempPath#createTempPath()
+         * @see org.apache.james.mime4j.message.storage.TempPath#createTempPath()
          */
         public TempPath createTempPath() throws IOException {
             return SimpleTempStorage.this.createTempPath(this, null);
         }
 
         /**
-         * @see org.apache.james.mime4j.storage.TempPath#createTempPath(java.lang.String)
+         * @see org.apache.james.mime4j.message.storage.TempPath#createTempPath(java.lang.String)
          */
         public TempPath createTempPath(String prefix) throws IOException {
             return SimpleTempStorage.this.createTempPath(this, prefix);
@@ -191,21 +191,21 @@
         }
 
         /**
-         * @see org.apache.james.mime4j.storage.TempFile#getInputStream()
+         * @see org.apache.james.mime4j.message.storage.TempFile#getInputStream()
          */
         public InputStream getInputStream() throws IOException {
             return new BufferedInputStream(new FileInputStream(file));
         }
 
         /**
-         * @see org.apache.james.mime4j.storage.TempFile#getOutputStream()
+         * @see org.apache.james.mime4j.message.storage.TempFile#getOutputStream()
          */
         public OutputStream getOutputStream() throws IOException {
             return new BufferedOutputStream(new FileOutputStream(file));
         }
 
         /**
-         * @see org.apache.james.mime4j.storage.TempFile#getAbsolutePath()
+         * @see org.apache.james.mime4j.message.storage.TempFile#getAbsolutePath()
          */
         public String getAbsolutePath() {
             return file.getAbsolutePath();
@@ -219,14 +219,14 @@
         }
 
         /**
-         * @see org.apache.james.mime4j.storage.TempFile#isInMemory()
+         * @see org.apache.james.mime4j.message.storage.TempFile#isInMemory()
          */
         public boolean isInMemory() {
             return false;
         }
 
         /**
-         * @see org.apache.james.mime4j.storage.TempFile#length()
+         * @see org.apache.james.mime4j.message.storage.TempFile#length()
          */
         public long length() {
             return file.length();
diff --git a/src/main/java/org/apache/james/mime4j/storage/TempFile.java b/src/main/java/org/apache/james/mime4j/message/storage/TempFile.java
similarity index 98%
rename from src/main/java/org/apache/james/mime4j/storage/TempFile.java
rename to src/main/java/org/apache/james/mime4j/message/storage/TempFile.java
index b95b733..e85a562 100644
--- a/src/main/java/org/apache/james/mime4j/storage/TempFile.java
+++ b/src/main/java/org/apache/james/mime4j/message/storage/TempFile.java
@@ -17,7 +17,7 @@
  * under the License.                                           *
  ****************************************************************/
 
-package org.apache.james.mime4j.storage;
+package org.apache.james.mime4j.message.storage;
 
 import java.io.IOException;
 import java.io.InputStream;
diff --git a/src/main/java/org/apache/james/mime4j/storage/TempPath.java b/src/main/java/org/apache/james/mime4j/message/storage/TempPath.java
similarity index 98%
rename from src/main/java/org/apache/james/mime4j/storage/TempPath.java
rename to src/main/java/org/apache/james/mime4j/message/storage/TempPath.java
index 4430bc2..06e1187 100644
--- a/src/main/java/org/apache/james/mime4j/storage/TempPath.java
+++ b/src/main/java/org/apache/james/mime4j/message/storage/TempPath.java
@@ -17,7 +17,7 @@
  * under the License.                                           *
  ****************************************************************/
 
-package org.apache.james.mime4j.storage;
+package org.apache.james.mime4j.message.storage;
 
 import java.io.IOException;
 
diff --git a/src/main/java/org/apache/james/mime4j/storage/TempStorage.java b/src/main/java/org/apache/james/mime4j/message/storage/TempStorage.java
similarity index 97%
rename from src/main/java/org/apache/james/mime4j/storage/TempStorage.java
rename to src/main/java/org/apache/james/mime4j/message/storage/TempStorage.java
index 6699fd0..f7af1e1 100644
--- a/src/main/java/org/apache/james/mime4j/storage/TempStorage.java
+++ b/src/main/java/org/apache/james/mime4j/message/storage/TempStorage.java
@@ -17,7 +17,7 @@
  * under the License.                                           *
  ****************************************************************/
 
-package org.apache.james.mime4j.storage;
+package org.apache.james.mime4j.message.storage;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
diff --git a/src/test/java/org/apache/james/mime4j/storage/SimpleTempStorageTest.java b/src/test/java/org/apache/james/mime4j/message/storage/SimpleTempStorageTest.java
similarity index 95%
rename from src/test/java/org/apache/james/mime4j/storage/SimpleTempStorageTest.java
rename to src/test/java/org/apache/james/mime4j/message/storage/SimpleTempStorageTest.java
index 22f15ff..7671554 100644
--- a/src/test/java/org/apache/james/mime4j/storage/SimpleTempStorageTest.java
+++ b/src/test/java/org/apache/james/mime4j/message/storage/SimpleTempStorageTest.java
@@ -17,16 +17,16 @@
  * under the License.                                           *
  ****************************************************************/
 
-package org.apache.james.mime4j.storage;
+package org.apache.james.mime4j.message.storage;
 
 import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
 
-import org.apache.james.mime4j.storage.SimpleTempStorage;
-import org.apache.james.mime4j.storage.TempFile;
-import org.apache.james.mime4j.storage.TempPath;
+import org.apache.james.mime4j.message.storage.SimpleTempStorage;
+import org.apache.james.mime4j.message.storage.TempFile;
+import org.apache.james.mime4j.message.storage.TempPath;
 
 import junit.framework.TestCase;
 
