diff --git a/fileinstall/pom.xml b/fileinstall/pom.xml
index 871b3fc..e66edaf 100644
--- a/fileinstall/pom.xml
+++ b/fileinstall/pom.xml
@@ -53,14 +53,15 @@
         <configuration>
           <instructions>
             <Export-Package>
-                org.apache.felix.fileinstall*,
+                org.apache.felix.fileinstall;version=${project.version},
                 org.osgi.service.cm
             </Export-Package>
             <Import-Package>
+                !org.apache.felix.fileinstall.internal*,
                 org.osgi.service.log;resolution:=optional,
                 *
             </Import-Package>
-            <Bundle-Activator>org.apache.felix.fileinstall.FileInstall</Bundle-Activator>
+            <Bundle-Activator>org.apache.felix.fileinstall.internal.FileInstall</Bundle-Activator>
             <Bundle-SymbolicName>${pom.artifactId}</Bundle-SymbolicName>
             <Bundle-Vendor>The Apache Software Foundation</Bundle-Vendor>
             <_versionpolicy>[$(version;==;$(@)),$(version;+;$(@)))</_versionpolicy>
diff --git a/fileinstall/src/main/java/org/apache/felix/fileinstall/listener/ArtifactInstaller.java b/fileinstall/src/main/java/org/apache/felix/fileinstall/ArtifactInstaller.java
similarity index 97%
rename from fileinstall/src/main/java/org/apache/felix/fileinstall/listener/ArtifactInstaller.java
rename to fileinstall/src/main/java/org/apache/felix/fileinstall/ArtifactInstaller.java
index 0a9de7d..adfd60b 100644
--- a/fileinstall/src/main/java/org/apache/felix/fileinstall/listener/ArtifactInstaller.java
+++ b/fileinstall/src/main/java/org/apache/felix/fileinstall/ArtifactInstaller.java
@@ -15,7 +15,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.felix.fileinstall.listener;
+package org.apache.felix.fileinstall;
 
 import java.io.File;
 
diff --git a/fileinstall/src/main/java/org/apache/felix/fileinstall/listener/ArtifactListener.java b/fileinstall/src/main/java/org/apache/felix/fileinstall/ArtifactListener.java
similarity index 87%
rename from fileinstall/src/main/java/org/apache/felix/fileinstall/listener/ArtifactListener.java
rename to fileinstall/src/main/java/org/apache/felix/fileinstall/ArtifactListener.java
index 17b9e1a..51db411 100644
--- a/fileinstall/src/main/java/org/apache/felix/fileinstall/listener/ArtifactListener.java
+++ b/fileinstall/src/main/java/org/apache/felix/fileinstall/ArtifactListener.java
@@ -15,7 +15,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.felix.fileinstall.listener;
+package org.apache.felix.fileinstall;
 
 import java.io.File;
 
@@ -23,8 +23,8 @@
  * Interface representing a custom deployment mechanism.
  * 
  * Classes must implement one of its sub-interface, either
- * {@link org.apache.felix.fileinstall.listener.ArtifactTransformer} or
- * {@link org.apache.felix.fileinstall.listener.ArtifactInstaller}.
+ * {@link ArtifactTransformer} or
+ * {@link ArtifactInstaller}.
  *
  */
 public interface ArtifactListener {
diff --git a/fileinstall/src/main/java/org/apache/felix/fileinstall/listener/ArtifactTransformer.java b/fileinstall/src/main/java/org/apache/felix/fileinstall/ArtifactTransformer.java
similarity index 96%
rename from fileinstall/src/main/java/org/apache/felix/fileinstall/listener/ArtifactTransformer.java
rename to fileinstall/src/main/java/org/apache/felix/fileinstall/ArtifactTransformer.java
index a056fdc..541ed09 100644
--- a/fileinstall/src/main/java/org/apache/felix/fileinstall/listener/ArtifactTransformer.java
+++ b/fileinstall/src/main/java/org/apache/felix/fileinstall/ArtifactTransformer.java
@@ -15,7 +15,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.felix.fileinstall.listener;
+package org.apache.felix.fileinstall;
 
 import java.io.File;
 
diff --git a/fileinstall/src/main/java/org/apache/felix/fileinstall/Artifact.java b/fileinstall/src/main/java/org/apache/felix/fileinstall/internal/Artifact.java
similarity index 95%
rename from fileinstall/src/main/java/org/apache/felix/fileinstall/Artifact.java
rename to fileinstall/src/main/java/org/apache/felix/fileinstall/internal/Artifact.java
index ab67f78..99b7e15 100644
--- a/fileinstall/src/main/java/org/apache/felix/fileinstall/Artifact.java
+++ b/fileinstall/src/main/java/org/apache/felix/fileinstall/internal/Artifact.java
@@ -16,11 +16,11 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.felix.fileinstall;
+package org.apache.felix.fileinstall.internal;
 
 import java.io.File;
 
-import org.apache.felix.fileinstall.listener.ArtifactListener;
+import org.apache.felix.fileinstall.ArtifactListener;
 
 /**
  * An artifact that has been dropped into one watched directory.
diff --git a/fileinstall/src/main/java/org/apache/felix/fileinstall/BundleTransformer.java b/fileinstall/src/main/java/org/apache/felix/fileinstall/internal/BundleTransformer.java
similarity index 95%
rename from fileinstall/src/main/java/org/apache/felix/fileinstall/BundleTransformer.java
rename to fileinstall/src/main/java/org/apache/felix/fileinstall/internal/BundleTransformer.java
index 9cf6511..8e05105 100644
--- a/fileinstall/src/main/java/org/apache/felix/fileinstall/BundleTransformer.java
+++ b/fileinstall/src/main/java/org/apache/felix/fileinstall/internal/BundleTransformer.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.felix.fileinstall;
+package org.apache.felix.fileinstall.internal;
 
 import java.io.File;
 import java.io.IOException;
@@ -24,7 +24,7 @@
 import java.util.jar.Manifest;
 import java.util.jar.Attributes;
 
-import org.apache.felix.fileinstall.listener.ArtifactTransformer;
+import org.apache.felix.fileinstall.ArtifactTransformer;
 
 /**
  * ArtifactTransformer for plain bundles.
diff --git a/fileinstall/src/main/java/org/apache/felix/fileinstall/ConfigInstaller.java b/fileinstall/src/main/java/org/apache/felix/fileinstall/internal/ConfigInstaller.java
similarity index 96%
rename from fileinstall/src/main/java/org/apache/felix/fileinstall/ConfigInstaller.java
rename to fileinstall/src/main/java/org/apache/felix/fileinstall/internal/ConfigInstaller.java
index 46317cf..d3fc53c 100644
--- a/fileinstall/src/main/java/org/apache/felix/fileinstall/ConfigInstaller.java
+++ b/fileinstall/src/main/java/org/apache/felix/fileinstall/internal/ConfigInstaller.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.felix.fileinstall;
+package org.apache.felix.fileinstall.internal;
 
 import java.io.File;
 import java.io.FileInputStream;
@@ -24,8 +24,8 @@
 import java.util.Hashtable;
 import java.util.Properties;
 
-import org.apache.felix.fileinstall.listener.ArtifactInstaller;
-import org.apache.felix.fileinstall.util.Util;
+import org.apache.felix.fileinstall.ArtifactInstaller;
+import org.apache.felix.fileinstall.internal.Util;
 import org.osgi.framework.BundleContext;
 import org.osgi.service.cm.Configuration;
 
diff --git a/fileinstall/src/main/java/org/apache/felix/fileinstall/DirectoryWatcher.java b/fileinstall/src/main/java/org/apache/felix/fileinstall/internal/DirectoryWatcher.java
similarity index 98%
rename from fileinstall/src/main/java/org/apache/felix/fileinstall/DirectoryWatcher.java
rename to fileinstall/src/main/java/org/apache/felix/fileinstall/internal/DirectoryWatcher.java
index 9891b5f..c2e751e 100644
--- a/fileinstall/src/main/java/org/apache/felix/fileinstall/DirectoryWatcher.java
+++ b/fileinstall/src/main/java/org/apache/felix/fileinstall/internal/DirectoryWatcher.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.felix.fileinstall;
+package org.apache.felix.fileinstall.internal;
 
 import java.io.File;
 import java.io.FileInputStream;
@@ -35,10 +35,10 @@
 import java.util.Map;
 import java.util.Set;
 
-import org.apache.felix.fileinstall.listener.ArtifactInstaller;
-import org.apache.felix.fileinstall.listener.ArtifactListener;
-import org.apache.felix.fileinstall.listener.ArtifactTransformer;
-import org.apache.felix.fileinstall.util.Util;
+import org.apache.felix.fileinstall.ArtifactInstaller;
+import org.apache.felix.fileinstall.ArtifactListener;
+import org.apache.felix.fileinstall.ArtifactTransformer;
+import org.apache.felix.fileinstall.internal.Util;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.BundleException;
@@ -629,7 +629,7 @@
 
     /**
      * Install an artifact and return the bundle object.
-     * It uses {@link org.apache.felix.fileinstall.Artifact#getPath()} as location
+     * It uses {@link Artifact#getPath()} as location
      * of the new bundle. Before installing a file,
      * it sees if the file has been identified as a bad file in
      * earlier run. If yes, then it compares to see if the file has changed
diff --git a/fileinstall/src/main/java/org/apache/felix/fileinstall/FileInstall.java b/fileinstall/src/main/java/org/apache/felix/fileinstall/internal/FileInstall.java
similarity index 96%
rename from fileinstall/src/main/java/org/apache/felix/fileinstall/FileInstall.java
rename to fileinstall/src/main/java/org/apache/felix/fileinstall/internal/FileInstall.java
index 0a8ee82..b9667f6 100644
--- a/fileinstall/src/main/java/org/apache/felix/fileinstall/FileInstall.java
+++ b/fileinstall/src/main/java/org/apache/felix/fileinstall/internal/FileInstall.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.felix.fileinstall;
+package org.apache.felix.fileinstall.internal;
 
 import java.util.ArrayList;
 import java.util.Dictionary;
@@ -26,10 +26,10 @@
 import java.util.List;
 import java.util.Map;
 
-import org.apache.felix.fileinstall.listener.ArtifactInstaller;
-import org.apache.felix.fileinstall.listener.ArtifactListener;
-import org.apache.felix.fileinstall.listener.ArtifactTransformer;
-import org.apache.felix.fileinstall.util.Util;
+import org.apache.felix.fileinstall.ArtifactInstaller;
+import org.apache.felix.fileinstall.ArtifactListener;
+import org.apache.felix.fileinstall.ArtifactTransformer;
+import org.apache.felix.fileinstall.internal.Util;
 import org.osgi.framework.BundleActivator;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.Constants;
diff --git a/fileinstall/src/main/java/org/apache/felix/fileinstall/Jar.java b/fileinstall/src/main/java/org/apache/felix/fileinstall/internal/Jar.java
similarity index 98%
rename from fileinstall/src/main/java/org/apache/felix/fileinstall/Jar.java
rename to fileinstall/src/main/java/org/apache/felix/fileinstall/internal/Jar.java
index 2488c1b..4d44e80 100644
--- a/fileinstall/src/main/java/org/apache/felix/fileinstall/Jar.java
+++ b/fileinstall/src/main/java/org/apache/felix/fileinstall/internal/Jar.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.felix.fileinstall;
+package org.apache.felix.fileinstall.internal;
 
 import java.io.File;
 import java.net.URI;
diff --git a/fileinstall/src/main/java/org/apache/felix/fileinstall/Scanner.java b/fileinstall/src/main/java/org/apache/felix/fileinstall/internal/Scanner.java
similarity index 98%
rename from fileinstall/src/main/java/org/apache/felix/fileinstall/Scanner.java
rename to fileinstall/src/main/java/org/apache/felix/fileinstall/internal/Scanner.java
index 0be8deb..44e93cf 100644
--- a/fileinstall/src/main/java/org/apache/felix/fileinstall/Scanner.java
+++ b/fileinstall/src/main/java/org/apache/felix/fileinstall/internal/Scanner.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.felix.fileinstall;
+package org.apache.felix.fileinstall.internal;
 
 import java.util.Map;
 import java.util.HashMap;
diff --git a/fileinstall/src/main/java/org/apache/felix/fileinstall/util/Util.java b/fileinstall/src/main/java/org/apache/felix/fileinstall/internal/Util.java
similarity index 99%
rename from fileinstall/src/main/java/org/apache/felix/fileinstall/util/Util.java
rename to fileinstall/src/main/java/org/apache/felix/fileinstall/internal/Util.java
index ecc6508..ea90f44 100644
--- a/fileinstall/src/main/java/org/apache/felix/fileinstall/util/Util.java
+++ b/fileinstall/src/main/java/org/apache/felix/fileinstall/internal/Util.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.felix.fileinstall.util;
+package org.apache.felix.fileinstall.internal;
 
 import java.io.IOException;
 import java.io.FileInputStream;
diff --git a/fileinstall/src/test/java/org/apache/felix/fileinstall/BundleTransformerTest.java b/fileinstall/src/test/java/org/apache/felix/fileinstall/internal/BundleTransformerTest.java
similarity index 91%
rename from fileinstall/src/test/java/org/apache/felix/fileinstall/BundleTransformerTest.java
rename to fileinstall/src/test/java/org/apache/felix/fileinstall/internal/BundleTransformerTest.java
index 8f64573..efb10e1 100644
--- a/fileinstall/src/test/java/org/apache/felix/fileinstall/BundleTransformerTest.java
+++ b/fileinstall/src/test/java/org/apache/felix/fileinstall/internal/BundleTransformerTest.java
@@ -16,11 +16,12 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.felix.fileinstall;
+package org.apache.felix.fileinstall.internal;
 
 import java.io.File;
 
 import junit.framework.TestCase;
+import org.apache.felix.fileinstall.internal.BundleTransformer;
 
 /**
  * Test for the BundleTransformer
diff --git a/fileinstall/src/test/java/org/apache/felix/fileinstall/ConfigInstallerTest.java b/fileinstall/src/test/java/org/apache/felix/fileinstall/internal/ConfigInstallerTest.java
similarity index 97%
rename from fileinstall/src/test/java/org/apache/felix/fileinstall/ConfigInstallerTest.java
rename to fileinstall/src/test/java/org/apache/felix/fileinstall/internal/ConfigInstallerTest.java
index c1d8ce7..035a896 100644
--- a/fileinstall/src/test/java/org/apache/felix/fileinstall/ConfigInstallerTest.java
+++ b/fileinstall/src/test/java/org/apache/felix/fileinstall/internal/ConfigInstallerTest.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.felix.fileinstall;
+package org.apache.felix.fileinstall.internal;
 
 import java.io.File;
 import java.util.Hashtable;
@@ -29,6 +29,8 @@
 import org.osgi.framework.Bundle;
 import org.osgi.service.cm.ConfigurationAdmin;
 import org.osgi.service.cm.Configuration;
+import org.apache.felix.fileinstall.internal.ConfigInstaller;
+import org.apache.felix.fileinstall.internal.FileInstall;
 
 /**
  * Tests for ConfigInstaller
diff --git a/fileinstall/src/test/java/org/apache/felix/fileinstall/DirectoryWatcherTest.java b/fileinstall/src/test/java/org/apache/felix/fileinstall/internal/DirectoryWatcherTest.java
similarity index 97%
rename from fileinstall/src/test/java/org/apache/felix/fileinstall/DirectoryWatcherTest.java
rename to fileinstall/src/test/java/org/apache/felix/fileinstall/internal/DirectoryWatcherTest.java
index 3dd9116..486c9ac 100644
--- a/fileinstall/src/test/java/org/apache/felix/fileinstall/DirectoryWatcherTest.java
+++ b/fileinstall/src/test/java/org/apache/felix/fileinstall/internal/DirectoryWatcherTest.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.felix.fileinstall;
+package org.apache.felix.fileinstall.internal;
 
 
 import java.io.File;
@@ -29,6 +29,8 @@
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleContext;
 import org.osgi.service.packageadmin.PackageAdmin;
+import org.apache.felix.fileinstall.internal.DirectoryWatcher;
+import org.apache.felix.fileinstall.internal.FileInstall;
 
 
 /**
diff --git a/fileinstall/src/test/java/org/apache/felix/fileinstall/MockServiceTracker.java b/fileinstall/src/test/java/org/apache/felix/fileinstall/internal/MockServiceTracker.java
similarity index 97%
rename from fileinstall/src/test/java/org/apache/felix/fileinstall/MockServiceTracker.java
rename to fileinstall/src/test/java/org/apache/felix/fileinstall/internal/MockServiceTracker.java
index fbba9eb..6ec40e6 100644
--- a/fileinstall/src/test/java/org/apache/felix/fileinstall/MockServiceTracker.java
+++ b/fileinstall/src/test/java/org/apache/felix/fileinstall/internal/MockServiceTracker.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.felix.fileinstall;
+package org.apache.felix.fileinstall.internal;
 
 
 import org.osgi.framework.BundleContext;
diff --git a/fileinstall/src/test/java/org/apache/felix/fileinstall/util/UtilTest.java b/fileinstall/src/test/java/org/apache/felix/fileinstall/internal/UtilTest.java
similarity index 94%
rename from fileinstall/src/test/java/org/apache/felix/fileinstall/util/UtilTest.java
rename to fileinstall/src/test/java/org/apache/felix/fileinstall/internal/UtilTest.java
index 291349e..61fff9c 100644
--- a/fileinstall/src/test/java/org/apache/felix/fileinstall/util/UtilTest.java
+++ b/fileinstall/src/test/java/org/apache/felix/fileinstall/internal/UtilTest.java
@@ -16,13 +16,14 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.felix.fileinstall.util;
+package org.apache.felix.fileinstall.internal;
 
 import java.util.Dictionary;
 import java.util.Enumeration;
 import java.util.Hashtable;
 
 import junit.framework.TestCase;
+import org.apache.felix.fileinstall.internal.Util;
 
 public class UtilTest extends TestCase
 {
