diff --git a/gogo/runtime/pom.xml b/gogo/runtime/pom.xml
index 6af4bf9..964909c 100644
--- a/gogo/runtime/pom.xml
+++ b/gogo/runtime/pom.xml
@@ -56,9 +56,8 @@
                 <configuration>
                     <instructions>
                         <Export-Package>
-                            org.apache.felix.service.command; version=${project.version},
-                            org.osgi.service.command; version=${project.version},
-                            org.osgi.service.threadio; version=${project.version}
+                            org.apache.felix.service.command;
+                            org.apache.felix.service.threadio; version=${project.version}; status="provisional"; mandatory:="status"
                         </Export-Package>
                         <Import-Package>
                             org.osgi.service.log*; resolution:=optional,
diff --git a/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Closure.java b/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Closure.java
index 4deb2a7..9b8cd1a 100644
--- a/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Closure.java
+++ b/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Closure.java
@@ -27,8 +27,8 @@
 import java.util.Map.Entry;
 
 import org.apache.felix.gogo.runtime.Tokenizer.Type;
-import org.osgi.service.command.CommandSession;
-import org.osgi.service.command.Function;
+import org.apache.felix.service.command.CommandSession;
+import org.apache.felix.service.command.Function;
 
 public class Closure implements Function, Evaluate
 {
diff --git a/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/CommandProcessorImpl.java b/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/CommandProcessorImpl.java
index d3bb889..bed918c 100644
--- a/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/CommandProcessorImpl.java
+++ b/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/CommandProcessorImpl.java
@@ -31,11 +31,11 @@
 import java.util.Map.Entry;
 
 import org.osgi.framework.BundleContext;
-import org.osgi.service.command.CommandProcessor;
-import org.osgi.service.command.CommandSession;
-import org.osgi.service.command.Converter;
-import org.osgi.service.command.Function;
-import org.osgi.service.threadio.ThreadIO;
+import org.apache.felix.service.command.CommandProcessor;
+import org.apache.felix.service.command.CommandSession;
+import org.apache.felix.service.command.Converter;
+import org.apache.felix.service.command.Function;
+import org.apache.felix.service.threadio.ThreadIO;
 
 public class CommandProcessorImpl implements CommandProcessor
 {
diff --git a/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/CommandProxy.java b/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/CommandProxy.java
index 378c2ae..500d795 100644
--- a/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/CommandProxy.java
+++ b/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/CommandProxy.java
@@ -20,8 +20,8 @@
 
 import java.util.List;
 
-import org.osgi.service.command.CommandSession;
-import org.osgi.service.command.Function;
+import org.apache.felix.service.command.CommandSession;
+import org.apache.felix.service.command.Function;
 import org.osgi.framework.ServiceReference;
 import org.osgi.framework.BundleContext;
 
diff --git a/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/CommandSessionImpl.java b/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/CommandSessionImpl.java
index d32f10a..6159511 100644
--- a/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/CommandSessionImpl.java
+++ b/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/CommandSessionImpl.java
@@ -21,9 +21,9 @@
 // DWB10: add SCOPE support: https://www.osgi.org/bugzilla/show_bug.cgi?id=51
 package org.apache.felix.gogo.runtime;
 
-import org.osgi.service.command.CommandSession;
-import org.osgi.service.command.Converter;
-import org.osgi.service.threadio.ThreadIO;
+import org.apache.felix.service.command.CommandSession;
+import org.apache.felix.service.command.Converter;
+import org.apache.felix.service.threadio.ThreadIO;
 
 import java.io.InputStream;
 import java.io.PrintStream;
diff --git a/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Pipe.java b/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Pipe.java
index 432543d..7531835 100644
--- a/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Pipe.java
+++ b/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Pipe.java
@@ -26,7 +26,7 @@
 import java.lang.reflect.Method;
 import java.util.List;
 
-import org.osgi.service.command.Converter;
+import org.apache.felix.service.command.Converter;
 
 public class Pipe extends Thread
 {
diff --git a/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Reflective.java b/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Reflective.java
index 2879a98..7df0e17 100644
--- a/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Reflective.java
+++ b/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Reflective.java
@@ -29,7 +29,7 @@
 import java.util.List;
 import java.util.Set;
 
-import org.osgi.service.command.CommandSession;
+import org.apache.felix.service.command.CommandSession;
 import org.apache.felix.service.command.Parameter;
 
 public final class Reflective
diff --git a/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/activator/Activator.java b/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/activator/Activator.java
index e95fd2e..d5823c1 100644
--- a/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/activator/Activator.java
+++ b/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/activator/Activator.java
@@ -30,10 +30,10 @@
 import org.osgi.framework.InvalidSyntaxException;
 import org.osgi.framework.ServiceReference;
 import org.osgi.framework.ServiceRegistration;
-import org.osgi.service.command.CommandProcessor;
-import org.osgi.service.command.Converter;
-import org.osgi.service.command.Function;
-import org.osgi.service.threadio.ThreadIO;
+import org.apache.felix.service.command.CommandProcessor;
+import org.apache.felix.service.command.Converter;
+import org.apache.felix.service.command.Function;
+import org.apache.felix.service.threadio.ThreadIO;
 import org.osgi.util.tracker.ServiceTracker;
 
 public class Activator implements BundleActivator
diff --git a/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/threadio/ThreadIOImpl.java b/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/threadio/ThreadIOImpl.java
index c3bcd60..c4e2a12 100644
--- a/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/threadio/ThreadIOImpl.java
+++ b/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/threadio/ThreadIOImpl.java
@@ -19,7 +19,7 @@
 // DWB20: ThreadIO should check and reset IO if something (e.g. jetty) overrides
 package org.apache.felix.gogo.runtime.threadio;
 
-import org.osgi.service.threadio.ThreadIO;
+import org.apache.felix.service.threadio.ThreadIO;
 
 import java.io.InputStream;
 import java.io.PrintStream;
diff --git a/gogo/runtime/src/main/java/org/osgi/service/command/CommandProcessor.java b/gogo/runtime/src/main/java/org/apache/felix/service/command/CommandProcessor.java
similarity index 97%
rename from gogo/runtime/src/main/java/org/osgi/service/command/CommandProcessor.java
rename to gogo/runtime/src/main/java/org/apache/felix/service/command/CommandProcessor.java
index 64d8549..2d77053 100644
--- a/gogo/runtime/src/main/java/org/osgi/service/command/CommandProcessor.java
+++ b/gogo/runtime/src/main/java/org/apache/felix/service/command/CommandProcessor.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.osgi.service.command;
+package org.apache.felix.service.command;
 
 import java.io.InputStream;
 import java.io.PrintStream;
diff --git a/gogo/runtime/src/main/java/org/osgi/service/command/CommandSession.java b/gogo/runtime/src/main/java/org/apache/felix/service/command/CommandSession.java
similarity index 98%
rename from gogo/runtime/src/main/java/org/osgi/service/command/CommandSession.java
rename to gogo/runtime/src/main/java/org/apache/felix/service/command/CommandSession.java
index 4413008..6aad74f 100644
--- a/gogo/runtime/src/main/java/org/osgi/service/command/CommandSession.java
+++ b/gogo/runtime/src/main/java/org/apache/felix/service/command/CommandSession.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.osgi.service.command;
+package org.apache.felix.service.command;
 
 import java.io.InputStream;
 import java.io.PrintStream;
diff --git a/gogo/runtime/src/main/java/org/osgi/service/command/Converter.java b/gogo/runtime/src/main/java/org/apache/felix/service/command/Converter.java
similarity index 98%
rename from gogo/runtime/src/main/java/org/osgi/service/command/Converter.java
rename to gogo/runtime/src/main/java/org/apache/felix/service/command/Converter.java
index 14c5341..c13133a 100644
--- a/gogo/runtime/src/main/java/org/osgi/service/command/Converter.java
+++ b/gogo/runtime/src/main/java/org/apache/felix/service/command/Converter.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.osgi.service.command;
+package org.apache.felix.service.command;
 
 /**
  * A converter is a service that can help create specific object types from a
diff --git a/gogo/runtime/src/main/java/org/osgi/service/command/Function.java b/gogo/runtime/src/main/java/org/apache/felix/service/command/Function.java
similarity index 96%
rename from gogo/runtime/src/main/java/org/osgi/service/command/Function.java
rename to gogo/runtime/src/main/java/org/apache/felix/service/command/Function.java
index a282d80..d861cac 100644
--- a/gogo/runtime/src/main/java/org/osgi/service/command/Function.java
+++ b/gogo/runtime/src/main/java/org/apache/felix/service/command/Function.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.osgi.service.command;
+package org.apache.felix.service.command;
 
 import java.util.List;
 
diff --git a/gogo/runtime/src/main/java/org/osgi/service/threadio/ThreadIO.java b/gogo/runtime/src/main/java/org/apache/felix/service/threadio/ThreadIO.java
similarity index 97%
rename from gogo/runtime/src/main/java/org/osgi/service/threadio/ThreadIO.java
rename to gogo/runtime/src/main/java/org/apache/felix/service/threadio/ThreadIO.java
index 483e198..98e78e8 100644
--- a/gogo/runtime/src/main/java/org/osgi/service/threadio/ThreadIO.java
+++ b/gogo/runtime/src/main/java/org/apache/felix/service/threadio/ThreadIO.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.osgi.service.threadio;
+package org.apache.felix.service.threadio;
 
 import java.io.InputStream;
 import java.io.PrintStream;
diff --git a/gogo/runtime/src/test/java/org/apache/felix/gogo/runtime/Context.java b/gogo/runtime/src/test/java/org/apache/felix/gogo/runtime/Context.java
index 5592dc5..42ba180 100644
--- a/gogo/runtime/src/test/java/org/apache/felix/gogo/runtime/Context.java
+++ b/gogo/runtime/src/test/java/org/apache/felix/gogo/runtime/Context.java
@@ -19,7 +19,7 @@
 package org.apache.felix.gogo.runtime;
 
 import org.apache.felix.gogo.runtime.threadio.ThreadIOImpl;
-import org.osgi.service.command.CommandSession;
+import org.apache.felix.service.command.CommandSession;
 
 public class Context extends CommandProcessorImpl
 {
diff --git a/gogo/runtime/src/test/java/org/apache/felix/gogo/runtime/TestParser.java b/gogo/runtime/src/test/java/org/apache/felix/gogo/runtime/TestParser.java
index 9d26323..037b970 100644
--- a/gogo/runtime/src/test/java/org/apache/felix/gogo/runtime/TestParser.java
+++ b/gogo/runtime/src/test/java/org/apache/felix/gogo/runtime/TestParser.java
@@ -22,8 +22,8 @@
 
 import org.apache.felix.gogo.runtime.Parser;
 import org.apache.felix.gogo.runtime.Token;
-import org.osgi.service.command.CommandSession;
-import org.osgi.service.command.Function;
+import org.apache.felix.service.command.CommandSession;
+import org.apache.felix.service.command.Function;
 
 import java.io.BufferedReader;
 import java.io.IOException;
