diff --git a/pom.xml b/pom.xml
index b67851d..83e0533 100644
--- a/pom.xml
+++ b/pom.xml
@@ -55,7 +55,14 @@
                 <configuration>
                     <instructions>
                         <Export-Package>
-                            org.apache.sling.testing.clients.*,
+                            org.apache.sling.testing.clients,
+                            org.apache.sling.testing.clients.instance,
+                            org.apache.sling.testing.clients.interceptors,
+                            org.apache.sling.testing.clients.osgi,
+                            org.apache.sling.testing.clients.util,
+                            org.apache.sling.testing.clients.util.config,
+                            org.apache.sling.testing.clients.util.poller,
+                            org.apache.sling.testing.clients.*
                         </Export-Package>
                         <Import-Package>
                             org.apache.commons.exec.*; resolution:=optional,
diff --git a/src/main/java/org/apache/sling/testing/clients/osgi/BundlesInstaller.java b/src/main/java/org/apache/sling/testing/clients/osgi/BundlesInstaller.java
index e99c454..8a19aa6 100644
--- a/src/main/java/org/apache/sling/testing/clients/osgi/BundlesInstaller.java
+++ b/src/main/java/org/apache/sling/testing/clients/osgi/BundlesInstaller.java
@@ -46,7 +46,7 @@
      * @throws IOException
      * @throws InterruptedException
      */
-    public boolean isInstalled(File bundleFile) throws ClientException, InterruptedException, IOException {
+    public boolean isInstalled(File bundleFile) throws InterruptedException, IOException {
         final String bundleSymbolicName = OsgiConsoleClient.getBundleSymbolicName(bundleFile);
         log.debug("Checking if installed: " + bundleSymbolicName);
         boolean installed = osgiConsoleClient.checkBundleInstalled(bundleSymbolicName, 1000, 1);
diff --git a/src/main/java/org/apache/sling/testing/clients/util/poller/PathPoller.java b/src/main/java/org/apache/sling/testing/clients/util/poller/PathPoller.java
index c7b50cb..61a1ee1 100644
--- a/src/main/java/org/apache/sling/testing/clients/util/poller/PathPoller.java
+++ b/src/main/java/org/apache/sling/testing/clients/util/poller/PathPoller.java
@@ -37,7 +37,11 @@
         super(waitInterval, waitCount);
         this.client = client;
         this.path = path;
-        this.expectedStatus = expectedStatus;
+        if (null == expectedStatus || expectedStatus.length == 0) {
+            this.expectedStatus = new int[]{200};
+        } else {
+            this.expectedStatus = expectedStatus;
+        }
     }
 
 
