diff --git a/pom.xml b/pom.xml
index 9e10b6b..1384639 100644
--- a/pom.xml
+++ b/pom.xml
@@ -75,7 +75,7 @@
                         <fileset>
                             <directory>${basedir}</directory>
                             <includes>
-                                <include>felix-cache</include>
+                                <include>sling-crankstart</include>
                             </includes>
                         </fileset>
                     </filesets>
@@ -100,7 +100,7 @@
         <dependency>
 		    <groupId>org.apache.sling</groupId>
 		    <artifactId>org.apache.sling.crankstart.test.services</artifactId>
-		    <version>1.0.0-SNAPSHOT</version>
+		    <version>0.0.1-SNAPSHOT</version>
             <scope>provided</scope>
         </dependency>
          <dependency>
diff --git a/src/test/java/org/apache/sling/crankstart/launcher/CrankstartBootstrapTest.java b/src/test/java/org/apache/sling/crankstart/launcher/CrankstartBootstrapTest.java
index 64c9205..389f606 100644
--- a/src/test/java/org/apache/sling/crankstart/launcher/CrankstartBootstrapTest.java
+++ b/src/test/java/org/apache/sling/crankstart/launcher/CrankstartBootstrapTest.java
@@ -42,8 +42,16 @@
         + "osgi.property org.osgi.framework.storage " + getOsgiStoragePath() + "\n"
         + "start.framework\n"
         + "bundle mvn:org.apache.felix/org.apache.felix.http.jetty/2.2.0\n"
+        + "bundle mvn:org.apache.felix/org.apache.felix.eventadmin/1.3.2\n"
+        + "bundle mvn:org.apache.felix/org.apache.felix.scr/1.8.2\n"
+        + "bundle mvn:org.apache.sling/org.apache.sling.commons.osgi/2.2.1-SNAPSHOT\n"
         + "bundle mvn:org.apache.sling/org.apache.sling.commons.log/2.1.2\n"
+        + "bundle mvn:org.apache.sling/org.apache.sling.crankstart.test.services/0.0.1-SNAPSHOT\n"
+        + "bundle mvn:org.apache.felix/org.apache.felix.configadmin/1.6.0\n"
         + "start.all.bundles\n"
+        + "config org.apache.sling.crankstart.testservices.SingleConfigServlet\n"
+        + "  path=/single\n"
+        + "  message=doesn't matter\n"
         + "log felix http service should come up at http://localhost:" + port + "\n"
     ;
     
@@ -86,13 +94,18 @@
     
     @Test
     @Retry(timeoutMsec=10000, intervalMsec=250)
-    @Ignore("TODO: activate once config command is ready")
     public void testSingleConfigServlet() throws Exception {
         final GetMethod get = new GetMethod(baseUrl + "/single");
         client.executeMethod(get);
         assertEquals("Expecting success " + get.getURI(), 200, get.getStatusCode());
     }
     
+    @Test
+    @Retry(timeoutMsec=10000, intervalMsec=250)
+    @Ignore("TODO - activate once we support config factories")
+    public void testConfigFactoryServlet() throws Exception {
+    }
+    
     private static String getOsgiStoragePath() {
         final File tmpRoot = new File(System.getProperty("java.io.tmpdir"));
         final Random random = new Random();
