diff --git a/gogo/commands/src/test/java/org/apache/felix/gogo/commands/Context.java b/gogo/commands/src/test/java/org/apache/felix/gogo/commands/Context.java
index eb62bfb..1d466ff 100644
--- a/gogo/commands/src/test/java/org/apache/felix/gogo/commands/Context.java
+++ b/gogo/commands/src/test/java/org/apache/felix/gogo/commands/Context.java
@@ -18,9 +18,9 @@
  */
 package org.apache.felix.gogo.commands;
 
+import org.apache.felix.gogo.runtime.CommandProcessorImpl;
+import org.apache.felix.gogo.runtime.CommandSessionImpl;
 import org.apache.felix.gogo.runtime.threadio.ThreadIOImpl;
-import org.apache.felix.gogo.runtime.shell.CommandProcessorImpl;
-import org.apache.felix.gogo.runtime.shell.CommandSessionImpl;
 
 public class Context extends CommandProcessorImpl
 {
diff --git a/gogo/runtime/pom.xml b/gogo/runtime/pom.xml
index d3c87bc..b6bb26e 100644
--- a/gogo/runtime/pom.xml
+++ b/gogo/runtime/pom.xml
@@ -62,10 +62,10 @@
                             org.osgi.service.startlevel*; resolution:=optional,
                             *
                         </Import-Package>
-                        <Private-Package>org.apache.felix.gogo.*</Private-Package>
+                        <Private-Package>org.apache.felix.gogo.runtime*</Private-Package>
                         <Bundle-SymbolicName>${pom.artifactId}</Bundle-SymbolicName>
                         <Bundle-Vendor>The Apache Software Foundation</Bundle-Vendor>
-                        <Bundle-Activator>org.apache.felix.gogo.runtime.Activator</Bundle-Activator>
+                        <Bundle-Activator>org.apache.felix.gogo.runtime.activator.Activator</Bundle-Activator>
                         <Include-Resource>{maven-resources},META-INF/NOTICE=NOTICE</Include-Resource>
                         <_versionpolicy>[$(version;==;$(@)),$(version;+;$(@)))</_versionpolicy>
                         <_removeheaders>Private-Package,Ignore-Package,Include-Resource</_removeheaders>
diff --git a/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/shell/Closure.java b/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Closure.java
similarity index 99%
rename from gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/shell/Closure.java
rename to gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Closure.java
index 12813cf..d224bfa 100644
--- a/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/shell/Closure.java
+++ b/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Closure.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.felix.gogo.runtime.shell;
+package org.apache.felix.gogo.runtime;
 
 import java.io.EOFException;
 import java.util.AbstractList;
@@ -27,7 +27,7 @@
 import java.util.Map;
 import java.util.Map.Entry;
 
-import org.apache.felix.gogo.runtime.shell.Tokenizer.Type;
+import org.apache.felix.gogo.runtime.Tokenizer.Type;
 import org.osgi.service.command.CommandSession;
 import org.osgi.service.command.Function;
 
diff --git a/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/shell/CommandProcessorImpl.java b/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/CommandProcessorImpl.java
similarity index 99%
rename from gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/shell/CommandProcessorImpl.java
rename to gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/CommandProcessorImpl.java
index 57d7de3..ca0e9cf 100644
--- a/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/shell/CommandProcessorImpl.java
+++ b/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/CommandProcessorImpl.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.felix.gogo.runtime.shell;
+package org.apache.felix.gogo.runtime;
 
 import java.io.InputStream;
 import java.io.PrintStream;
diff --git a/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/shell/CommandProxy.java b/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/CommandProxy.java
similarity index 97%
rename from gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/shell/CommandProxy.java
rename to gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/CommandProxy.java
index aca890c..84630b9 100644
--- a/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/shell/CommandProxy.java
+++ b/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/CommandProxy.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.felix.gogo.runtime.shell;
+package org.apache.felix.gogo.runtime;
 
 import java.util.List;
 
diff --git a/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/shell/CommandSessionImpl.java b/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/CommandSessionImpl.java
similarity index 99%
rename from gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/shell/CommandSessionImpl.java
rename to gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/CommandSessionImpl.java
index fa09534..02982a2 100644
--- a/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/shell/CommandSessionImpl.java
+++ b/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/CommandSessionImpl.java
@@ -19,7 +19,7 @@
 // DWB8: throw IllegatlStateException if session used after closed (as per rfc132)
 // DWB9: there is no API to list all variables: https://www.osgi.org/bugzilla/show_bug.cgi?id=49
 // DWB10: add SCOPE support: https://www.osgi.org/bugzilla/show_bug.cgi?id=51
-package org.apache.felix.gogo.runtime.shell;
+package org.apache.felix.gogo.runtime;
 
 import org.osgi.service.command.CommandSession;
 import org.osgi.service.command.Converter;
diff --git a/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/shell/EOFError.java b/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/EOFError.java
similarity index 95%
rename from gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/shell/EOFError.java
rename to gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/EOFError.java
index 4965e0d..2e3d8c1 100644
--- a/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/shell/EOFError.java
+++ b/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/EOFError.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.felix.gogo.runtime.shell;
+package org.apache.felix.gogo.runtime;
 
 public class EOFError extends SyntaxError
 {
diff --git a/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/shell/Evaluate.java b/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Evaluate.java
similarity index 95%
rename from gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/shell/Evaluate.java
rename to gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Evaluate.java
index 4111912..333fa6c 100644
--- a/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/shell/Evaluate.java
+++ b/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Evaluate.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.felix.gogo.runtime.shell;
+package org.apache.felix.gogo.runtime;
 
 public interface Evaluate
 {
diff --git a/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/shell/Parser.java b/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Parser.java
similarity index 97%
rename from gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/shell/Parser.java
rename to gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Parser.java
index de11bfd..271bb8a 100644
--- a/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/shell/Parser.java
+++ b/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Parser.java
@@ -18,13 +18,13 @@
  */
 // DWB14: parser loops if // comment at start of program
 // DWB15: allow program to have trailing ';'
-package org.apache.felix.gogo.runtime.shell;
+package org.apache.felix.gogo.runtime;
 
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.felix.gogo.runtime.shell.Tokenizer.Type;
+import org.apache.felix.gogo.runtime.Tokenizer.Type;
 
 public class Parser
 {
diff --git a/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/shell/Pipe.java b/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Pipe.java
similarity index 98%
rename from gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/shell/Pipe.java
rename to gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Pipe.java
index 71a612f..33a8f1c 100644
--- a/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/shell/Pipe.java
+++ b/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Pipe.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.felix.gogo.runtime.shell;
+package org.apache.felix.gogo.runtime;
 
 import java.io.IOException;
 import java.io.InputStream;
diff --git a/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/shell/Reflective.java b/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Reflective.java
similarity index 99%
rename from gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/shell/Reflective.java
rename to gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Reflective.java
index be335fb..c888325 100644
--- a/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/shell/Reflective.java
+++ b/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Reflective.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.felix.gogo.runtime.shell;
+package org.apache.felix.gogo.runtime;
 
 import java.lang.annotation.*;
 import java.lang.reflect.*;
diff --git a/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/shell/SyntaxError.java b/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/SyntaxError.java
similarity index 96%
rename from gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/shell/SyntaxError.java
rename to gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/SyntaxError.java
index bbaea93..a53e47c 100644
--- a/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/shell/SyntaxError.java
+++ b/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/SyntaxError.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.felix.gogo.runtime.shell;
+package org.apache.felix.gogo.runtime;
 
 public class SyntaxError extends RuntimeException
 {
diff --git a/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/shell/Token.java b/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Token.java
similarity index 94%
rename from gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/shell/Token.java
rename to gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Token.java
index 097bf0b..c7b32d5 100644
--- a/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/shell/Token.java
+++ b/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Token.java
@@ -17,9 +17,9 @@
  * under the License.
  */
 
-package org.apache.felix.gogo.runtime.shell;
+package org.apache.felix.gogo.runtime;
 
-import org.apache.felix.gogo.runtime.shell.Tokenizer.Type;
+import org.apache.felix.gogo.runtime.Tokenizer.Type;
 
 public class Token implements CharSequence
 {
diff --git a/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/shell/Tokenizer.java b/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Tokenizer.java
similarity index 99%
rename from gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/shell/Tokenizer.java
rename to gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Tokenizer.java
index f70cbe0..930442b 100644
--- a/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/shell/Tokenizer.java
+++ b/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Tokenizer.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.felix.gogo.runtime.shell;
+package org.apache.felix.gogo.runtime;
 
 
 /**
diff --git a/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Activator.java b/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/activator/Activator.java
similarity index 97%
rename from gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Activator.java
rename to gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/activator/Activator.java
index 8b8c0ca..2e8246c 100644
--- a/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/Activator.java
+++ b/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/activator/Activator.java
@@ -16,13 +16,13 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.felix.gogo.runtime;
+package org.apache.felix.gogo.runtime.activator;
 
 import java.util.ArrayList;
 import java.util.List;
 
-import org.apache.felix.gogo.runtime.shell.CommandProcessorImpl;
-import org.apache.felix.gogo.runtime.shell.CommandProxy;
+import org.apache.felix.gogo.runtime.CommandProcessorImpl;
+import org.apache.felix.gogo.runtime.CommandProxy;
 import org.apache.felix.gogo.runtime.threadio.ThreadIOImpl;
 import org.osgi.framework.BundleActivator;
 import org.osgi.framework.BundleContext;
diff --git a/gogo/runtime/src/test/java/org/apache/felix/gogo/runtime/shell/Context.java b/gogo/runtime/src/test/java/org/apache/felix/gogo/runtime/Context.java
similarity index 92%
rename from gogo/runtime/src/test/java/org/apache/felix/gogo/runtime/shell/Context.java
rename to gogo/runtime/src/test/java/org/apache/felix/gogo/runtime/Context.java
index d683fcc..a29266b 100644
--- a/gogo/runtime/src/test/java/org/apache/felix/gogo/runtime/shell/Context.java
+++ b/gogo/runtime/src/test/java/org/apache/felix/gogo/runtime/Context.java
@@ -16,8 +16,10 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.felix.gogo.runtime.shell;
+package org.apache.felix.gogo.runtime;
 
+import org.apache.felix.gogo.runtime.CommandProcessorImpl;
+import org.apache.felix.gogo.runtime.CommandSessionImpl;
 import org.apache.felix.gogo.runtime.threadio.ThreadIOImpl;
 import org.osgi.service.command.CommandSession;
 
diff --git a/gogo/runtime/src/test/java/org/apache/felix/gogo/runtime/shell/TestParser.java b/gogo/runtime/src/test/java/org/apache/felix/gogo/runtime/TestParser.java
similarity index 98%
rename from gogo/runtime/src/test/java/org/apache/felix/gogo/runtime/shell/TestParser.java
rename to gogo/runtime/src/test/java/org/apache/felix/gogo/runtime/TestParser.java
index c18139d..e47d0a7 100644
--- a/gogo/runtime/src/test/java/org/apache/felix/gogo/runtime/shell/TestParser.java
+++ b/gogo/runtime/src/test/java/org/apache/felix/gogo/runtime/TestParser.java
@@ -16,9 +16,12 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.felix.gogo.runtime.shell;
+package org.apache.felix.gogo.runtime;
 
 import junit.framework.TestCase;
+
+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;
 
diff --git a/gogo/runtime/src/test/java/org/apache/felix/gogo/runtime/shell/TestParser2.java b/gogo/runtime/src/test/java/org/apache/felix/gogo/runtime/TestParser2.java
similarity index 97%
rename from gogo/runtime/src/test/java/org/apache/felix/gogo/runtime/shell/TestParser2.java
rename to gogo/runtime/src/test/java/org/apache/felix/gogo/runtime/TestParser2.java
index 175a8fd..162b37d 100644
--- a/gogo/runtime/src/test/java/org/apache/felix/gogo/runtime/shell/TestParser2.java
+++ b/gogo/runtime/src/test/java/org/apache/felix/gogo/runtime/TestParser2.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.felix.gogo.runtime.shell;
+package org.apache.felix.gogo.runtime;
 
 import java.io.EOFException;
 
diff --git a/gogo/runtime/src/test/java/org/apache/felix/gogo/runtime/shell/TestTokenizer.java b/gogo/runtime/src/test/java/org/apache/felix/gogo/runtime/TestTokenizer.java
similarity index 96%
rename from gogo/runtime/src/test/java/org/apache/felix/gogo/runtime/shell/TestTokenizer.java
rename to gogo/runtime/src/test/java/org/apache/felix/gogo/runtime/TestTokenizer.java
index d70c7d7..ae9f18c 100644
--- a/gogo/runtime/src/test/java/org/apache/felix/gogo/runtime/shell/TestTokenizer.java
+++ b/gogo/runtime/src/test/java/org/apache/felix/gogo/runtime/TestTokenizer.java
@@ -16,14 +16,19 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.felix.gogo.runtime.shell;
+package org.apache.felix.gogo.runtime;
 
 import java.io.File;
 import java.net.URI;
 import java.util.HashMap;
 import java.util.Map;
 
-import org.apache.felix.gogo.runtime.shell.Tokenizer.Type;
+import org.apache.felix.gogo.runtime.Evaluate;
+import org.apache.felix.gogo.runtime.Parser;
+import org.apache.felix.gogo.runtime.SyntaxError;
+import org.apache.felix.gogo.runtime.Token;
+import org.apache.felix.gogo.runtime.Tokenizer;
+import org.apache.felix.gogo.runtime.Tokenizer.Type;
 
 import junit.framework.TestCase;
 
