diff --git a/weinre.application/resources/macosx/weinre.app/Contents/Info.plist b/weinre.application/resources/macosx/weinre.app/Contents/Info.plist
index 19b2870..3e8310a 100644
--- a/weinre.application/resources/macosx/weinre.app/Contents/Info.plist
+++ b/weinre.application/resources/macosx/weinre.app/Contents/Info.plist
@@ -17,7 +17,7 @@
     <key>CFBundleIconFile</key>
         <string>weinre.icns</string>
     <key>CFBundleIdentifier</key>
-        <string>com.phonegap.weinre.application</string>
+        <string>weinre.application</string>
     <key>CFBundleInfoDictionaryVersion</key>
         <string>6.0</string>
     <key>CFBundleName</key>
diff --git a/weinre.application/resources/macosx/weinre.app/Contents/MacOS/launcher b/weinre.application/resources/macosx/weinre.app/Contents/MacOS/launcher
index 9259211..ffc287d 100644
--- a/weinre.application/resources/macosx/weinre.app/Contents/MacOS/launcher
+++ b/weinre.application/resources/macosx/weinre.app/Contents/MacOS/launcher
@@ -12,4 +12,4 @@
 java \
     -XstartOnFirstThread \
     -classpath $BASEDIR/weinre-ui.jar:$BASEDIR/weinre.jar:$BASEDIR/swt.jar \
-    com.phonegap.weinre.application.GUIMain
+    weinre.application.GUIMain
diff --git a/weinre.application/src/com/phonegap/weinre/application/GUIMain.java b/weinre.application/src/weinre/application/GUIMain.java
similarity index 97%
rename from weinre.application/src/com/phonegap/weinre/application/GUIMain.java
rename to weinre.application/src/weinre/application/GUIMain.java
index 18d3082..fad134e 100644
--- a/weinre.application/src/com/phonegap/weinre/application/GUIMain.java
+++ b/weinre.application/src/weinre/application/GUIMain.java
@@ -5,7 +5,7 @@
  * Copyright (c) 2010, 2011 IBM Corporation
  */
 
-package com.phonegap.weinre.application;
+package weinre.application;
 
 import java.io.IOException;
 
@@ -29,8 +29,9 @@
 import org.eclipse.swt.widgets.Shell;
 import org.eclipse.swt.widgets.Text;
 
-import com.phonegap.weinre.server.Main;
-import com.phonegap.weinre.server.ServerSettings;
+import weinre.server.Main;
+import weinre.server.ServerSettings;
+
 
 /**
  * 
@@ -245,7 +246,7 @@
     public String getBrowserURL() {
         String result;
         
-        ServerSettings settings = com.phonegap.weinre.server.Main.getSettings();
+        ServerSettings settings = weinre.server.Main.getSettings();
         
         String host = settings.getNiceHostName();
         int    port = settings.getHttpPort();
diff --git a/weinre.application/src/com/phonegap/weinre/application/GUIPreferences.java b/weinre.application/src/weinre/application/GUIPreferences.java
similarity index 96%
rename from weinre.application/src/com/phonegap/weinre/application/GUIPreferences.java
rename to weinre.application/src/weinre/application/GUIPreferences.java
index 196bcb2..9163ce3 100644
--- a/weinre.application/src/com/phonegap/weinre/application/GUIPreferences.java
+++ b/weinre.application/src/weinre/application/GUIPreferences.java
@@ -5,7 +5,7 @@
  * Copyright (c) 2010, 2011 IBM Corporation
  */
 
-package com.phonegap.weinre.application;
+package weinre.application;
 
 import java.io.File;
 import java.io.FileReader;
@@ -17,7 +17,8 @@
 import org.apache.wink.json4j.JSONObject;
 import org.eclipse.swt.widgets.Shell;
 
-import com.phonegap.weinre.server.Main;
+import weinre.server.Main;
+
 
 /**
  * 
diff --git a/weinre.application/src/com/phonegap/weinre/application/ShellSizeTracker.java b/weinre.application/src/weinre/application/ShellSizeTracker.java
similarity index 98%
rename from weinre.application/src/com/phonegap/weinre/application/ShellSizeTracker.java
rename to weinre.application/src/weinre/application/ShellSizeTracker.java
index 20f05cd..0880faa 100644
--- a/weinre.application/src/com/phonegap/weinre/application/ShellSizeTracker.java
+++ b/weinre.application/src/weinre/application/ShellSizeTracker.java
@@ -5,7 +5,7 @@
  * Copyright (c) 2010, 2011 IBM Corporation
  */
 
-package com.phonegap.weinre.application;
+package weinre.application;
 
 import org.apache.wink.json4j.JSONException;
 import org.apache.wink.json4j.JSONObject;
diff --git a/weinre.application/weinre application using ~weinre-server.settings.launch b/weinre.application/weinre application using ~weinre-server.settings.launch
index def714b..75a0fe3 100644
--- a/weinre.application/weinre application using ~weinre-server.settings.launch
+++ b/weinre.application/weinre application using ~weinre-server.settings.launch
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
 <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/weinre.application/src/com/phonegap/weinre/application/GUIMain.java"/>
+<listEntry value="/weinre.application/src/weinre/application/GUIMain.java"/>
 </listAttribute>
 <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
 <listEntry value="1"/>
@@ -10,7 +10,7 @@
 <listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
 <listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
 </listAttribute>
-<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="com.phonegap.weinre.application.GUIMain"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="weinre.application.GUIMain"/>
 <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="weinre.application"/>
 <stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-XstartOnFirstThread"/>
 </launchConfiguration>
diff --git a/weinre.build/build.xml b/weinre.build/build.xml
index 0dc3a53..9c5e59e 100644
--- a/weinre.build/build.xml
+++ b/weinre.build/build.xml
@@ -355,7 +355,7 @@
         <jar destfile="${OUT}/weinre.jar">
             <manifest>
                 <attribute name="Built-By" value="${ant.file.basename} - ${ant.project.name}"/>
-                <attribute name="Main-Class" value="com.phonegap.weinre.server.Main"/>
+                <attribute name="Main-Class" value="weinre.server.Main"/>
             </manifest>
             
             <fileset file="${OUT}/build-info.txt"/>
@@ -399,7 +399,7 @@
         <jar destfile="${OUT}/weinre-ui.jar">
             <manifest>
                 <attribute name="Built-By" value="${ant.file.basename} - ${ant.project.name}"/>
-                <attribute name="Main-Class" value="com.phonegap.weinre.application.GUIMain"/>
+                <attribute name="Main-Class" value="weinre.application.GUIMain"/>
             </manifest>
             
             <fileset file="${OUT}/build-info.txt"/>
diff --git a/weinre.server.android/AndroidManifest.xml b/weinre.server.android/AndroidManifest.xml
index 2578f0c..c8f5931 100644
--- a/weinre.server.android/AndroidManifest.xml
+++ b/weinre.server.android/AndroidManifest.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
-      package="com.phonegap.weinre.server.android"
+      package="weinre.server.android"
       android:versionCode="1"
       android:versionName="1.0">
     <application android:icon="@drawable/icon" android:label="@string/app_name">
diff --git a/weinre.server.android/src/com/phonegap/weinre/server/android/MainActivity.java b/weinre.server.android/src/weinre/server/android/MainActivity.java
similarity index 92%
rename from weinre.server.android/src/com/phonegap/weinre/server/android/MainActivity.java
rename to weinre.server.android/src/weinre/server/android/MainActivity.java
index 84205c5..6f7c044 100644
--- a/weinre.server.android/src/com/phonegap/weinre/server/android/MainActivity.java
+++ b/weinre.server.android/src/weinre/server/android/MainActivity.java
@@ -1,9 +1,10 @@
-package com.phonegap.weinre.server.android;
+package weinre.server.android;
 
 import android.app.Activity;
 import android.os.Bundle;
 
-import com.phonegap.weinre.server.Main;
+import weinre.server.Main;
+import weinre.server.android.R;
 
 //-----------------------------------------------------------------------------
 public class MainActivity extends Activity {
diff --git a/weinre.server/src/com/phonegap/weinre/server/BasicService.java b/weinre.server/src/weinre/server/BasicService.java
similarity index 96%
rename from weinre.server/src/com/phonegap/weinre/server/BasicService.java
rename to weinre.server/src/weinre/server/BasicService.java
index 1ea689d..fbc5e7e 100644
--- a/weinre.server/src/com/phonegap/weinre/server/BasicService.java
+++ b/weinre.server/src/weinre/server/BasicService.java
@@ -5,7 +5,7 @@
  * Copyright (c) 2010, 2011 IBM Corporation
  */
 
-package com.phonegap.weinre.server;
+package weinre.server;
 
 import java.io.IOException;
 import java.util.List;
diff --git a/weinre.server/src/com/phonegap/weinre/server/Channel.java b/weinre.server/src/weinre/server/Channel.java
similarity index 97%
rename from weinre.server/src/com/phonegap/weinre/server/Channel.java
rename to weinre.server/src/weinre/server/Channel.java
index cddf5a7..831ced8 100644
--- a/weinre.server/src/com/phonegap/weinre/server/Channel.java
+++ b/weinre.server/src/weinre/server/Channel.java
@@ -5,7 +5,7 @@
  * Copyright (c) 2010, 2011 IBM Corporation
  */
 
-package com.phonegap.weinre.server;
+package weinre.server;
 
 import java.io.IOException;
 import java.util.ArrayList;
@@ -147,7 +147,7 @@
         Object result = serviceMap.get(name);
         if (null != result) return result;
         
-        String klassName = "com.phonegap.weinre.server.service." + name;
+        String klassName = "weinre.server.service." + name;
         Class klass = Class.forName(klassName);
         if (null == klass) throw new ClassNotFoundException("class not found: " + klassName);
         
diff --git a/weinre.server/src/com/phonegap/weinre/server/ChannelManager.java b/weinre.server/src/weinre/server/ChannelManager.java
similarity index 98%
rename from weinre.server/src/com/phonegap/weinre/server/ChannelManager.java
rename to weinre.server/src/weinre/server/ChannelManager.java
index 15fdc1b..34d7624 100644
--- a/weinre.server/src/com/phonegap/weinre/server/ChannelManager.java
+++ b/weinre.server/src/weinre/server/ChannelManager.java
@@ -5,7 +5,7 @@
  * Copyright (c) 2010, 2011 IBM Corporation
  */
 
-package com.phonegap.weinre.server;
+package weinre.server;
 
 import java.util.ArrayList;
 import java.util.HashMap;
diff --git a/weinre.server/src/com/phonegap/weinre/server/ChannelManagerEventListener.java b/weinre.server/src/weinre/server/ChannelManagerEventListener.java
similarity index 92%
rename from weinre.server/src/com/phonegap/weinre/server/ChannelManagerEventListener.java
rename to weinre.server/src/weinre/server/ChannelManagerEventListener.java
index a278092..0abca17 100644
--- a/weinre.server/src/com/phonegap/weinre/server/ChannelManagerEventListener.java
+++ b/weinre.server/src/weinre/server/ChannelManagerEventListener.java
@@ -5,7 +5,7 @@
  * Copyright (c) 2010, 2011 IBM Corporation
  */
 
-package com.phonegap.weinre.server;
+package weinre.server;
 
 /**
  * 
diff --git a/weinre.server/src/com/phonegap/weinre/server/Client.java b/weinre.server/src/weinre/server/Client.java
similarity index 97%
rename from weinre.server/src/com/phonegap/weinre/server/Client.java
rename to weinre.server/src/weinre/server/Client.java
index a335b5b..a9e09ba 100644
--- a/weinre.server/src/com/phonegap/weinre/server/Client.java
+++ b/weinre.server/src/weinre/server/Client.java
@@ -5,7 +5,7 @@
  * Copyright (c) 2010, 2011 IBM Corporation
  */
 
-package com.phonegap.weinre.server;
+package weinre.server;
 
 import org.apache.wink.json4j.JSONArray;
 import org.apache.wink.json4j.JSONException;
diff --git a/weinre.server/src/com/phonegap/weinre/server/ConnectionManager.java b/weinre.server/src/weinre/server/ConnectionManager.java
similarity index 99%
rename from weinre.server/src/com/phonegap/weinre/server/ConnectionManager.java
rename to weinre.server/src/weinre/server/ConnectionManager.java
index df61fa8..39cbcc2 100644
--- a/weinre.server/src/com/phonegap/weinre/server/ConnectionManager.java
+++ b/weinre.server/src/weinre/server/ConnectionManager.java
@@ -5,7 +5,7 @@
  * Copyright (c) 2010, 2011 IBM Corporation
  */
 
-package com.phonegap.weinre.server;
+package weinre.server;
 
 import java.util.ArrayList;
 import java.util.Collections;
diff --git a/weinre.server/src/com/phonegap/weinre/server/Connector.java b/weinre.server/src/weinre/server/Connector.java
similarity index 98%
rename from weinre.server/src/com/phonegap/weinre/server/Connector.java
rename to weinre.server/src/weinre/server/Connector.java
index 7b1ea8b..6fde384 100644
--- a/weinre.server/src/com/phonegap/weinre/server/Connector.java
+++ b/weinre.server/src/weinre/server/Connector.java
@@ -5,7 +5,7 @@
  * Copyright (c) 2010, 2011 IBM Corporation
  */
 
-package com.phonegap.weinre.server;
+package weinre.server;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/weinre.server/src/com/phonegap/weinre/server/ConsoleOutputStream.java b/weinre.server/src/weinre/server/ConsoleOutputStream.java
similarity index 97%
rename from weinre.server/src/com/phonegap/weinre/server/ConsoleOutputStream.java
rename to weinre.server/src/weinre/server/ConsoleOutputStream.java
index 13639d7..e531ddd 100644
--- a/weinre.server/src/com/phonegap/weinre/server/ConsoleOutputStream.java
+++ b/weinre.server/src/weinre/server/ConsoleOutputStream.java
@@ -5,7 +5,7 @@
  * Copyright (c) 2010, 2011 IBM Corporation
  */
 
-package com.phonegap.weinre.server;
+package weinre.server;
 
 import java.io.IOException;
 import java.io.OutputStream;
diff --git a/weinre.server/src/com/phonegap/weinre/server/Main.java b/weinre.server/src/weinre/server/Main.java
similarity index 97%
rename from weinre.server/src/com/phonegap/weinre/server/Main.java
rename to weinre.server/src/weinre/server/Main.java
index 6cf4e76..a4fc13d 100644
--- a/weinre.server/src/com/phonegap/weinre/server/Main.java
+++ b/weinre.server/src/weinre/server/Main.java
@@ -5,7 +5,7 @@
  * Copyright (c) 2010, 2011 IBM Corporation
  */
 
-package com.phonegap.weinre.server;
+package weinre.server;
 
 import java.io.PrintStream;
 
@@ -14,7 +14,8 @@
 import org.eclipse.jetty.util.log.Logger;
 import org.eclipse.jetty.util.log.StdErrLog;
 
-import com.phonegap.weinre.server.http.HttpServer;
+import weinre.server.http.HttpServer;
+
 
 
 /**
diff --git a/weinre.server/src/com/phonegap/weinre/server/MessageHandler.java b/weinre.server/src/weinre/server/MessageHandler.java
similarity index 99%
rename from weinre.server/src/com/phonegap/weinre/server/MessageHandler.java
rename to weinre.server/src/weinre/server/MessageHandler.java
index 05d8b4d..3dcfc77 100644
--- a/weinre.server/src/com/phonegap/weinre/server/MessageHandler.java
+++ b/weinre.server/src/weinre/server/MessageHandler.java
@@ -5,7 +5,7 @@
  * Copyright (c) 2010, 2011 IBM Corporation
  */
 
-package com.phonegap.weinre.server;
+package weinre.server;
 
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
diff --git a/weinre.server/src/com/phonegap/weinre/server/MessageQueue.java b/weinre.server/src/weinre/server/MessageQueue.java
similarity index 98%
rename from weinre.server/src/com/phonegap/weinre/server/MessageQueue.java
rename to weinre.server/src/weinre/server/MessageQueue.java
index 0780992..1464097 100644
--- a/weinre.server/src/com/phonegap/weinre/server/MessageQueue.java
+++ b/weinre.server/src/weinre/server/MessageQueue.java
@@ -5,7 +5,7 @@
  * Copyright (c) 2010, 2011 IBM Corporation
  */
 
-package com.phonegap.weinre.server;
+package weinre.server;
 
 import java.util.LinkedList;
 import java.util.List;
diff --git a/weinre.server/src/com/phonegap/weinre/server/ScriptEventQueue.java b/weinre.server/src/weinre/server/ScriptEventQueue.java
similarity index 97%
rename from weinre.server/src/com/phonegap/weinre/server/ScriptEventQueue.java
rename to weinre.server/src/weinre/server/ScriptEventQueue.java
index 70c805e..9e25cf3 100644
--- a/weinre.server/src/com/phonegap/weinre/server/ScriptEventQueue.java
+++ b/weinre.server/src/weinre/server/ScriptEventQueue.java
@@ -5,7 +5,7 @@
  * Copyright (c) 2010, 2011 IBM Corporation
  */
 
-package com.phonegap.weinre.server;
+package weinre.server;
 
 import java.util.concurrent.BlockingQueue;
 import java.util.concurrent.LinkedBlockingQueue;
diff --git a/weinre.server/src/com/phonegap/weinre/server/ServerConsoleUpdater.java b/weinre.server/src/weinre/server/ServerConsoleUpdater.java
similarity index 93%
rename from weinre.server/src/com/phonegap/weinre/server/ServerConsoleUpdater.java
rename to weinre.server/src/weinre/server/ServerConsoleUpdater.java
index 41671ce..f34a641 100644
--- a/weinre.server/src/com/phonegap/weinre/server/ServerConsoleUpdater.java
+++ b/weinre.server/src/weinre/server/ServerConsoleUpdater.java
@@ -5,7 +5,7 @@
  * Copyright (c) 2010, 2011 IBM Corporation
  */
 
-package com.phonegap.weinre.server;
+package weinre.server;
 
 /**
  * 
diff --git a/weinre.server/src/com/phonegap/weinre/server/ServerSettings.java b/weinre.server/src/weinre/server/ServerSettings.java
similarity index 99%
rename from weinre.server/src/com/phonegap/weinre/server/ServerSettings.java
rename to weinre.server/src/weinre/server/ServerSettings.java
index e8ecde0..506ef21 100644
--- a/weinre.server/src/com/phonegap/weinre/server/ServerSettings.java
+++ b/weinre.server/src/weinre/server/ServerSettings.java
@@ -5,7 +5,7 @@
  * Copyright (c) 2010, 2011 IBM Corporation
  */
 
-package com.phonegap.weinre.server;
+package weinre.server;
 
 import java.net.InetAddress;
 import java.net.NetworkInterface;
diff --git a/weinre.server/src/com/phonegap/weinre/server/Target.java b/weinre.server/src/weinre/server/Target.java
similarity index 98%
rename from weinre.server/src/com/phonegap/weinre/server/Target.java
rename to weinre.server/src/weinre/server/Target.java
index 261e60d..6661610 100644
--- a/weinre.server/src/com/phonegap/weinre/server/Target.java
+++ b/weinre.server/src/weinre/server/Target.java
@@ -5,7 +5,7 @@
  * Copyright (c) 2010, 2011 IBM Corporation
  */
 
-package com.phonegap.weinre.server;
+package weinre.server;
 
 import java.util.ArrayList;
 import java.util.LinkedList;
diff --git a/weinre.server/src/com/phonegap/weinre/server/Utility.java b/weinre.server/src/weinre/server/Utility.java
similarity index 98%
rename from weinre.server/src/com/phonegap/weinre/server/Utility.java
rename to weinre.server/src/weinre/server/Utility.java
index 0ce6f38..6c55e4a 100644
--- a/weinre.server/src/com/phonegap/weinre/server/Utility.java
+++ b/weinre.server/src/weinre/server/Utility.java
@@ -5,7 +5,7 @@
  * Copyright (c) 2010, 2011 IBM Corporation
  */
 
-package com.phonegap.weinre.server;
+package weinre.server;
 
 import java.io.File;
 import java.io.FileReader;
diff --git a/weinre.server/src/com/phonegap/weinre/server/WatchDog.java b/weinre.server/src/weinre/server/WatchDog.java
similarity index 97%
rename from weinre.server/src/com/phonegap/weinre/server/WatchDog.java
rename to weinre.server/src/weinre/server/WatchDog.java
index e9cabe2..3338524 100644
--- a/weinre.server/src/com/phonegap/weinre/server/WatchDog.java
+++ b/weinre.server/src/weinre/server/WatchDog.java
@@ -5,7 +5,7 @@
  * Copyright (c) 2010, 2011 IBM Corporation
  */
 
-package com.phonegap.weinre.server;
+package weinre.server;
 
 import java.util.List;
 
diff --git a/weinre.server/src/com/phonegap/weinre/server/http/ClassPathResourceHandler.java b/weinre.server/src/weinre/server/http/ClassPathResourceHandler.java
similarity index 96%
rename from weinre.server/src/com/phonegap/weinre/server/http/ClassPathResourceHandler.java
rename to weinre.server/src/weinre/server/http/ClassPathResourceHandler.java
index 9568895..3e10c27 100644
--- a/weinre.server/src/com/phonegap/weinre/server/http/ClassPathResourceHandler.java
+++ b/weinre.server/src/weinre/server/http/ClassPathResourceHandler.java
@@ -5,7 +5,7 @@
  * Copyright (c) 2010, 2011 IBM Corporation
  */
 
-package com.phonegap.weinre.server.http;
+package weinre.server.http;
 
 import java.io.IOException;
 import java.net.MalformedURLException;
diff --git a/weinre.server/src/com/phonegap/weinre/server/http/DebugHandler.java b/weinre.server/src/weinre/server/http/DebugHandler.java
similarity index 98%
rename from weinre.server/src/com/phonegap/weinre/server/http/DebugHandler.java
rename to weinre.server/src/weinre/server/http/DebugHandler.java
index db5ba25..0bf649c 100644
--- a/weinre.server/src/com/phonegap/weinre/server/http/DebugHandler.java
+++ b/weinre.server/src/weinre/server/http/DebugHandler.java
@@ -5,7 +5,7 @@
  * Copyright (c) 2010, 2011 IBM Corporation
  */
 
-package com.phonegap.weinre.server.http;
+package weinre.server.http;
 
 import java.io.IOException;
 import java.io.PrintStream;
diff --git a/weinre.server/src/com/phonegap/weinre/server/http/FilteredRequestLogHandler.java b/weinre.server/src/weinre/server/http/FilteredRequestLogHandler.java
similarity index 95%
rename from weinre.server/src/com/phonegap/weinre/server/http/FilteredRequestLogHandler.java
rename to weinre.server/src/weinre/server/http/FilteredRequestLogHandler.java
index 0902d8d..329f1fb 100644
--- a/weinre.server/src/com/phonegap/weinre/server/http/FilteredRequestLogHandler.java
+++ b/weinre.server/src/weinre/server/http/FilteredRequestLogHandler.java
@@ -5,7 +5,7 @@
  * Copyright (c) 2010, 2011 IBM Corporation
  */
 
-package com.phonegap.weinre.server.http;
+package weinre.server.http;
 
 import java.io.IOException;
 
diff --git a/weinre.server/src/com/phonegap/weinre/server/http/HttpServer.java b/weinre.server/src/weinre/server/http/HttpServer.java
similarity index 96%
rename from weinre.server/src/com/phonegap/weinre/server/http/HttpServer.java
rename to weinre.server/src/weinre/server/http/HttpServer.java
index 772f196..c5f8013 100644
--- a/weinre.server/src/com/phonegap/weinre/server/http/HttpServer.java
+++ b/weinre.server/src/weinre/server/http/HttpServer.java
@@ -5,7 +5,7 @@
  * Copyright (c) 2010, 2011 IBM Corporation
  */
 
-package com.phonegap.weinre.server.http;
+package weinre.server.http;
 
 import java.io.IOException;
 
@@ -18,8 +18,9 @@
 import org.eclipse.jetty.server.nio.SelectChannelConnector;
 import org.eclipse.jetty.util.component.LifeCycle;
 
-import com.phonegap.weinre.server.Main;
-import com.phonegap.weinre.server.ServerSettings;
+import weinre.server.Main;
+import weinre.server.ServerSettings;
+
 
 public class HttpServer {
 
diff --git a/weinre.server/src/com/phonegap/weinre/server/http/HttpSocketHandler.java b/weinre.server/src/weinre/server/http/HttpSocketHandler.java
similarity index 96%
rename from weinre.server/src/com/phonegap/weinre/server/http/HttpSocketHandler.java
rename to weinre.server/src/weinre/server/http/HttpSocketHandler.java
index e2d0290..e85c5b2 100644
--- a/weinre.server/src/com/phonegap/weinre/server/http/HttpSocketHandler.java
+++ b/weinre.server/src/weinre/server/http/HttpSocketHandler.java
@@ -5,7 +5,7 @@
  * Copyright (c) 2010, 2011 IBM Corporation
  */
 
-package com.phonegap.weinre.server.http;
+package weinre.server.http;
 
 import java.io.IOException;
 import java.io.InputStream;
@@ -23,10 +23,11 @@
 import org.eclipse.jetty.server.Request;
 import org.eclipse.jetty.server.handler.AbstractHandler;
 
-import com.phonegap.weinre.server.Channel;
-import com.phonegap.weinre.server.ChannelManager;
-import com.phonegap.weinre.server.Main;
-import com.phonegap.weinre.server.Utility;
+import weinre.server.Channel;
+import weinre.server.ChannelManager;
+import weinre.server.Main;
+import weinre.server.Utility;
+
 
 /**
  * 
diff --git a/weinre.server/src/com/phonegap/weinre/server/http/ProxyServer.java b/weinre.server/src/weinre/server/http/ProxyServer.java
similarity index 95%
rename from weinre.server/src/com/phonegap/weinre/server/http/ProxyServer.java
rename to weinre.server/src/weinre/server/http/ProxyServer.java
index 295a454..ccb2c38 100644
--- a/weinre.server/src/com/phonegap/weinre/server/http/ProxyServer.java
+++ b/weinre.server/src/weinre/server/http/ProxyServer.java
@@ -5,7 +5,7 @@
  * Copyright (c) 2010, 2011 IBM Corporation
  */
 
-package com.phonegap.weinre.server.http;
+package weinre.server.http;
 
 import java.io.IOException;
 
@@ -19,8 +19,9 @@
 import org.eclipse.jetty.servlet.ServletHolder;
 import org.eclipse.jetty.servlets.ProxyServlet;
 
-import com.phonegap.weinre.server.Main;
-import com.phonegap.weinre.server.ServerSettings;
+import weinre.server.Main;
+import weinre.server.ServerSettings;
+
 
 public class ProxyServer {
     private ServerSettings settings;
diff --git a/weinre.server/src/com/phonegap/weinre/server/service/ApplicationCache.java b/weinre.server/src/weinre/server/service/ApplicationCache.java
similarity index 78%
rename from weinre.server/src/com/phonegap/weinre/server/service/ApplicationCache.java
rename to weinre.server/src/weinre/server/service/ApplicationCache.java
index ad08041..b967c8d 100644
--- a/weinre.server/src/com/phonegap/weinre/server/service/ApplicationCache.java
+++ b/weinre.server/src/weinre/server/service/ApplicationCache.java
@@ -5,9 +5,9 @@
  * Copyright (c) 2011 IBM Corporation
  */
 
-package com.phonegap.weinre.server.service;
+package weinre.server.service;
 
-import com.phonegap.weinre.server.BasicService;
+import weinre.server.BasicService;
 
 public class ApplicationCache extends BasicService {
 
diff --git a/weinre.server/src/com/phonegap/weinre/server/service/ApplicationCacheNotify.java b/weinre.server/src/weinre/server/service/ApplicationCacheNotify.java
similarity index 79%
rename from weinre.server/src/com/phonegap/weinre/server/service/ApplicationCacheNotify.java
rename to weinre.server/src/weinre/server/service/ApplicationCacheNotify.java
index f34ee16..17ca6a7 100644
--- a/weinre.server/src/com/phonegap/weinre/server/service/ApplicationCacheNotify.java
+++ b/weinre.server/src/weinre/server/service/ApplicationCacheNotify.java
@@ -5,9 +5,9 @@
  * Copyright (c) 2011 IBM Corporation
  */
 
-package com.phonegap.weinre.server.service;
+package weinre.server.service;
 
-import com.phonegap.weinre.server.BasicService;
+import weinre.server.BasicService;
 
 public class ApplicationCacheNotify extends BasicService {
 
diff --git a/weinre.server/src/com/phonegap/weinre/server/service/BrowserDebugger.java b/weinre.server/src/weinre/server/service/BrowserDebugger.java
similarity index 78%
rename from weinre.server/src/com/phonegap/weinre/server/service/BrowserDebugger.java
rename to weinre.server/src/weinre/server/service/BrowserDebugger.java
index 72b25bf..92104e1 100644
--- a/weinre.server/src/com/phonegap/weinre/server/service/BrowserDebugger.java
+++ b/weinre.server/src/weinre/server/service/BrowserDebugger.java
@@ -5,9 +5,9 @@
  * Copyright (c) 2011 IBM Corporation
  */
 
-package com.phonegap.weinre.server.service;
+package weinre.server.service;
 
-import com.phonegap.weinre.server.BasicService;
+import weinre.server.BasicService;
 
 public class BrowserDebugger extends BasicService {
 
diff --git a/weinre.server/src/com/phonegap/weinre/server/service/CSS.java b/weinre.server/src/weinre/server/service/CSS.java
similarity index 77%
rename from weinre.server/src/com/phonegap/weinre/server/service/CSS.java
rename to weinre.server/src/weinre/server/service/CSS.java
index 772831f..5de4667 100644
--- a/weinre.server/src/com/phonegap/weinre/server/service/CSS.java
+++ b/weinre.server/src/weinre/server/service/CSS.java
@@ -5,9 +5,9 @@
  * Copyright (c) 2011 IBM Corporation
  */
 
-package com.phonegap.weinre.server.service;
+package weinre.server.service;
 
-import com.phonegap.weinre.server.BasicService;
+import weinre.server.BasicService;
 
 public class CSS extends BasicService {
 
diff --git a/weinre.server/src/com/phonegap/weinre/server/service/Console.java b/weinre.server/src/weinre/server/service/Console.java
similarity index 77%
rename from weinre.server/src/com/phonegap/weinre/server/service/Console.java
rename to weinre.server/src/weinre/server/service/Console.java
index 93bbc29..d7f1583 100644
--- a/weinre.server/src/com/phonegap/weinre/server/service/Console.java
+++ b/weinre.server/src/weinre/server/service/Console.java
@@ -5,9 +5,9 @@
  * Copyright (c) 2011 IBM Corporation
  */
 
-package com.phonegap.weinre.server.service;
+package weinre.server.service;
 
-import com.phonegap.weinre.server.BasicService;
+import weinre.server.BasicService;
 
 public class Console extends BasicService {
 
diff --git a/weinre.server/src/com/phonegap/weinre/server/service/ConsoleNotify.java b/weinre.server/src/weinre/server/service/ConsoleNotify.java
similarity index 78%
rename from weinre.server/src/com/phonegap/weinre/server/service/ConsoleNotify.java
rename to weinre.server/src/weinre/server/service/ConsoleNotify.java
index c857b48..0c4fd5b 100644
--- a/weinre.server/src/com/phonegap/weinre/server/service/ConsoleNotify.java
+++ b/weinre.server/src/weinre/server/service/ConsoleNotify.java
@@ -5,9 +5,9 @@
  * Copyright (c) 2011 IBM Corporation
  */
 
-package com.phonegap.weinre.server.service;
+package weinre.server.service;
 
-import com.phonegap.weinre.server.BasicService;
+import weinre.server.BasicService;
 
 public class ConsoleNotify extends BasicService {
 
diff --git a/weinre.server/src/com/phonegap/weinre/server/service/DOM.java b/weinre.server/src/weinre/server/service/DOM.java
similarity index 77%
rename from weinre.server/src/com/phonegap/weinre/server/service/DOM.java
rename to weinre.server/src/weinre/server/service/DOM.java
index 234a27c..7090eae 100644
--- a/weinre.server/src/com/phonegap/weinre/server/service/DOM.java
+++ b/weinre.server/src/weinre/server/service/DOM.java
@@ -5,9 +5,9 @@
  * Copyright (c) 2011 IBM Corporation
  */
 
-package com.phonegap.weinre.server.service;
+package weinre.server.service;
 
-import com.phonegap.weinre.server.BasicService;
+import weinre.server.BasicService;
 
 public class DOM extends BasicService {
 
diff --git a/weinre.server/src/com/phonegap/weinre/server/service/DOMNotify.java b/weinre.server/src/weinre/server/service/DOMNotify.java
similarity index 77%
rename from weinre.server/src/com/phonegap/weinre/server/service/DOMNotify.java
rename to weinre.server/src/weinre/server/service/DOMNotify.java
index a5510b8..4371b08 100644
--- a/weinre.server/src/com/phonegap/weinre/server/service/DOMNotify.java
+++ b/weinre.server/src/weinre/server/service/DOMNotify.java
@@ -5,9 +5,9 @@
  * Copyright (c) 2011 IBM Corporation
  */
 
-package com.phonegap.weinre.server.service;
+package weinre.server.service;
 
-import com.phonegap.weinre.server.BasicService;
+import weinre.server.BasicService;
 
 public class DOMNotify extends BasicService {
 
diff --git a/weinre.server/src/com/phonegap/weinre/server/service/DOMStorage.java b/weinre.server/src/weinre/server/service/DOMStorage.java
similarity index 77%
rename from weinre.server/src/com/phonegap/weinre/server/service/DOMStorage.java
rename to weinre.server/src/weinre/server/service/DOMStorage.java
index 014a06f..7316434 100644
--- a/weinre.server/src/com/phonegap/weinre/server/service/DOMStorage.java
+++ b/weinre.server/src/weinre/server/service/DOMStorage.java
@@ -5,9 +5,9 @@
  * Copyright (c) 2011 IBM Corporation
  */
 
-package com.phonegap.weinre.server.service;
+package weinre.server.service;
 
-import com.phonegap.weinre.server.BasicService;
+import weinre.server.BasicService;
 
 public class DOMStorage extends BasicService {
 
diff --git a/weinre.server/src/com/phonegap/weinre/server/service/DOMStorageNotify.java b/weinre.server/src/weinre/server/service/DOMStorageNotify.java
similarity index 78%
rename from weinre.server/src/com/phonegap/weinre/server/service/DOMStorageNotify.java
rename to weinre.server/src/weinre/server/service/DOMStorageNotify.java
index ad128e5..e39e9a8 100644
--- a/weinre.server/src/com/phonegap/weinre/server/service/DOMStorageNotify.java
+++ b/weinre.server/src/weinre/server/service/DOMStorageNotify.java
@@ -5,9 +5,9 @@
  * Copyright (c) 2011 IBM Corporation
  */
 
-package com.phonegap.weinre.server.service;
+package weinre.server.service;
 
-import com.phonegap.weinre.server.BasicService;
+import weinre.server.BasicService;
 
 public class DOMStorageNotify extends BasicService {
 
diff --git a/weinre.server/src/com/phonegap/weinre/server/service/Database.java b/weinre.server/src/weinre/server/service/Database.java
similarity index 77%
rename from weinre.server/src/com/phonegap/weinre/server/service/Database.java
rename to weinre.server/src/weinre/server/service/Database.java
index 6f932ee..e231089 100644
--- a/weinre.server/src/com/phonegap/weinre/server/service/Database.java
+++ b/weinre.server/src/weinre/server/service/Database.java
@@ -5,9 +5,9 @@
  * Copyright (c) 2011 IBM Corporation
  */
 
-package com.phonegap.weinre.server.service;
+package weinre.server.service;
 
-import com.phonegap.weinre.server.BasicService;
+import weinre.server.BasicService;
 
 public class Database extends BasicService {
 
diff --git a/weinre.server/src/com/phonegap/weinre/server/service/DatabaseNotify.java b/weinre.server/src/weinre/server/service/DatabaseNotify.java
similarity index 78%
rename from weinre.server/src/com/phonegap/weinre/server/service/DatabaseNotify.java
rename to weinre.server/src/weinre/server/service/DatabaseNotify.java
index e11eab8..86eb797 100644
--- a/weinre.server/src/com/phonegap/weinre/server/service/DatabaseNotify.java
+++ b/weinre.server/src/weinre/server/service/DatabaseNotify.java
@@ -5,9 +5,9 @@
  * Copyright (c) 2011 IBM Corporation
  */
 
-package com.phonegap.weinre.server.service;
+package weinre.server.service;
 
-import com.phonegap.weinre.server.BasicService;
+import weinre.server.BasicService;
 
 public class DatabaseNotify extends BasicService {
 
diff --git a/weinre.server/src/com/phonegap/weinre/server/service/Debugger.java b/weinre.server/src/weinre/server/service/Debugger.java
similarity index 77%
rename from weinre.server/src/com/phonegap/weinre/server/service/Debugger.java
rename to weinre.server/src/weinre/server/service/Debugger.java
index 26a860f..ba68e82 100644
--- a/weinre.server/src/com/phonegap/weinre/server/service/Debugger.java
+++ b/weinre.server/src/weinre/server/service/Debugger.java
@@ -5,9 +5,9 @@
  * Copyright (c) 2011 IBM Corporation
  */
 
-package com.phonegap.weinre.server.service;
+package weinre.server.service;
 
-import com.phonegap.weinre.server.BasicService;
+import weinre.server.BasicService;
 
 public class Debugger extends BasicService {
 
diff --git a/weinre.server/src/com/phonegap/weinre/server/service/DebuggerNotify.java b/weinre.server/src/weinre/server/service/DebuggerNotify.java
similarity index 78%
rename from weinre.server/src/com/phonegap/weinre/server/service/DebuggerNotify.java
rename to weinre.server/src/weinre/server/service/DebuggerNotify.java
index ecf4875..ed4595c 100644
--- a/weinre.server/src/com/phonegap/weinre/server/service/DebuggerNotify.java
+++ b/weinre.server/src/weinre/server/service/DebuggerNotify.java
@@ -5,9 +5,9 @@
  * Copyright (c) 2011 IBM Corporation
  */
 
-package com.phonegap.weinre.server.service;
+package weinre.server.service;
 
-import com.phonegap.weinre.server.BasicService;
+import weinre.server.BasicService;
 
 public class DebuggerNotify extends BasicService {
 
diff --git a/weinre.server/src/com/phonegap/weinre/server/service/FileSystem.java b/weinre.server/src/weinre/server/service/FileSystem.java
similarity index 77%
rename from weinre.server/src/com/phonegap/weinre/server/service/FileSystem.java
rename to weinre.server/src/weinre/server/service/FileSystem.java
index 5c9ba40..17a4917 100644
--- a/weinre.server/src/com/phonegap/weinre/server/service/FileSystem.java
+++ b/weinre.server/src/weinre/server/service/FileSystem.java
@@ -5,9 +5,9 @@
  * Copyright (c) 2011 IBM Corporation
  */
 
-package com.phonegap.weinre.server.service;
+package weinre.server.service;
 
-import com.phonegap.weinre.server.BasicService;
+import weinre.server.BasicService;
 
 public class FileSystem extends BasicService {
 
diff --git a/weinre.server/src/com/phonegap/weinre/server/service/FileSystemNotify.java b/weinre.server/src/weinre/server/service/FileSystemNotify.java
similarity index 78%
rename from weinre.server/src/com/phonegap/weinre/server/service/FileSystemNotify.java
rename to weinre.server/src/weinre/server/service/FileSystemNotify.java
index bc738f4..eae3783 100644
--- a/weinre.server/src/com/phonegap/weinre/server/service/FileSystemNotify.java
+++ b/weinre.server/src/weinre/server/service/FileSystemNotify.java
@@ -5,9 +5,9 @@
  * Copyright (c) 2011 IBM Corporation
  */
 
-package com.phonegap.weinre.server.service;
+package weinre.server.service;
 
-import com.phonegap.weinre.server.BasicService;
+import weinre.server.BasicService;
 
 public class FileSystemNotify extends BasicService {
 
diff --git a/weinre.server/src/com/phonegap/weinre/server/service/InjectedScript.java b/weinre.server/src/weinre/server/service/InjectedScript.java
similarity index 78%
rename from weinre.server/src/com/phonegap/weinre/server/service/InjectedScript.java
rename to weinre.server/src/weinre/server/service/InjectedScript.java
index 0cb66c8..6eb568b 100644
--- a/weinre.server/src/com/phonegap/weinre/server/service/InjectedScript.java
+++ b/weinre.server/src/weinre/server/service/InjectedScript.java
@@ -5,9 +5,9 @@
  * Copyright (c) 2011 IBM Corporation
  */
 
-package com.phonegap.weinre.server.service;
+package weinre.server.service;
 
-import com.phonegap.weinre.server.BasicService;
+import weinre.server.BasicService;
 
 public class InjectedScript extends BasicService {
 
diff --git a/weinre.server/src/com/phonegap/weinre/server/service/InjectedScriptHost.java b/weinre.server/src/weinre/server/service/InjectedScriptHost.java
similarity index 78%
rename from weinre.server/src/com/phonegap/weinre/server/service/InjectedScriptHost.java
rename to weinre.server/src/weinre/server/service/InjectedScriptHost.java
index ed353e3..48f3a31 100644
--- a/weinre.server/src/com/phonegap/weinre/server/service/InjectedScriptHost.java
+++ b/weinre.server/src/weinre/server/service/InjectedScriptHost.java
@@ -5,9 +5,9 @@
  * Copyright (c) 2011 IBM Corporation
  */
 
-package com.phonegap.weinre.server.service;
+package weinre.server.service;
 
-import com.phonegap.weinre.server.BasicService;
+import weinre.server.BasicService;
 
 public class InjectedScriptHost extends BasicService {
 
diff --git a/weinre.server/src/com/phonegap/weinre/server/service/Inspector.java b/weinre.server/src/weinre/server/service/Inspector.java
similarity index 77%
rename from weinre.server/src/com/phonegap/weinre/server/service/Inspector.java
rename to weinre.server/src/weinre/server/service/Inspector.java
index 90b5d26..69d88af 100644
--- a/weinre.server/src/com/phonegap/weinre/server/service/Inspector.java
+++ b/weinre.server/src/weinre/server/service/Inspector.java
@@ -5,9 +5,9 @@
  * Copyright (c) 2011 IBM Corporation
  */
 
-package com.phonegap.weinre.server.service;
+package weinre.server.service;
 
-import com.phonegap.weinre.server.BasicService;
+import weinre.server.BasicService;
 
 public class Inspector extends BasicService {
 
diff --git a/weinre.server/src/com/phonegap/weinre/server/service/InspectorBackend.java b/weinre.server/src/weinre/server/service/InspectorBackend.java
similarity index 89%
rename from weinre.server/src/com/phonegap/weinre/server/service/InspectorBackend.java
rename to weinre.server/src/weinre/server/service/InspectorBackend.java
index c81db37..af8fe9c 100644
--- a/weinre.server/src/com/phonegap/weinre/server/service/InspectorBackend.java
+++ b/weinre.server/src/weinre/server/service/InspectorBackend.java
@@ -5,15 +5,16 @@
  * Copyright (c) 2010, 2011 IBM Corporation
  */
 
-package com.phonegap.weinre.server.service;
+package weinre.server.service;
 
 import java.io.IOException;
 import java.util.List;
 
 import org.apache.wink.json4j.JSONArray;
 
-import com.phonegap.weinre.server.Channel;
-import com.phonegap.weinre.server.Connector;
+import weinre.server.Channel;
+import weinre.server.Connector;
+
 
 public abstract class InspectorBackend {
 
diff --git a/weinre.server/src/com/phonegap/weinre/server/service/InspectorFrontendHost.java b/weinre.server/src/weinre/server/service/InspectorFrontendHost.java
similarity index 79%
rename from weinre.server/src/com/phonegap/weinre/server/service/InspectorFrontendHost.java
rename to weinre.server/src/weinre/server/service/InspectorFrontendHost.java
index 5a47547..575dc03 100644
--- a/weinre.server/src/com/phonegap/weinre/server/service/InspectorFrontendHost.java
+++ b/weinre.server/src/weinre/server/service/InspectorFrontendHost.java
@@ -5,9 +5,9 @@
  * Copyright (c) 2011 IBM Corporation
  */
 
-package com.phonegap.weinre.server.service;
+package weinre.server.service;
 
-import com.phonegap.weinre.server.BasicService;
+import weinre.server.BasicService;
 
 public class InspectorFrontendHost extends BasicService {
 
diff --git a/weinre.server/src/com/phonegap/weinre/server/service/InspectorNotify.java b/weinre.server/src/weinre/server/service/InspectorNotify.java
similarity index 78%
rename from weinre.server/src/com/phonegap/weinre/server/service/InspectorNotify.java
rename to weinre.server/src/weinre/server/service/InspectorNotify.java
index 417456f..03eb7ac 100644
--- a/weinre.server/src/com/phonegap/weinre/server/service/InspectorNotify.java
+++ b/weinre.server/src/weinre/server/service/InspectorNotify.java
@@ -5,9 +5,9 @@
  * Copyright (c) 2011 IBM Corporation
  */
 
-package com.phonegap.weinre.server.service;
+package weinre.server.service;
 
-import com.phonegap.weinre.server.BasicService;
+import weinre.server.BasicService;
 
 public class InspectorNotify extends BasicService {
 
diff --git a/weinre.server/src/com/phonegap/weinre/server/service/Network.java b/weinre.server/src/weinre/server/service/Network.java
similarity index 87%
rename from weinre.server/src/com/phonegap/weinre/server/service/Network.java
rename to weinre.server/src/weinre/server/service/Network.java
index ee2f745..45a6ab2 100644
--- a/weinre.server/src/com/phonegap/weinre/server/service/Network.java
+++ b/weinre.server/src/weinre/server/service/Network.java
@@ -5,12 +5,13 @@
  * Copyright (c) 2011 IBM Corporation
  */
 
-package com.phonegap.weinre.server.service;
+package weinre.server.service;
 
 import java.io.IOException;
 
-import com.phonegap.weinre.server.Channel;
-import com.phonegap.weinre.server.Main;
+import weinre.server.Channel;
+import weinre.server.Main;
+
 
 public class Network {
 
diff --git a/weinre.server/src/com/phonegap/weinre/server/service/NetworkNotify.java b/weinre.server/src/weinre/server/service/NetworkNotify.java
similarity index 78%
rename from weinre.server/src/com/phonegap/weinre/server/service/NetworkNotify.java
rename to weinre.server/src/weinre/server/service/NetworkNotify.java
index cf16564..51e616c 100644
--- a/weinre.server/src/com/phonegap/weinre/server/service/NetworkNotify.java
+++ b/weinre.server/src/weinre/server/service/NetworkNotify.java
@@ -5,9 +5,9 @@
  * Copyright (c) 2011 IBM Corporation
  */
 
-package com.phonegap.weinre.server.service;
+package weinre.server.service;
 
-import com.phonegap.weinre.server.BasicService;
+import weinre.server.BasicService;
 
 public class NetworkNotify extends BasicService {
 
diff --git a/weinre.server/src/com/phonegap/weinre/server/service/Profiler.java b/weinre.server/src/weinre/server/service/Profiler.java
similarity index 77%
rename from weinre.server/src/com/phonegap/weinre/server/service/Profiler.java
rename to weinre.server/src/weinre/server/service/Profiler.java
index ce5e3f9..7670a35 100644
--- a/weinre.server/src/com/phonegap/weinre/server/service/Profiler.java
+++ b/weinre.server/src/weinre/server/service/Profiler.java
@@ -5,9 +5,9 @@
  * Copyright (c) 2011 IBM Corporation
  */
 
-package com.phonegap.weinre.server.service;
+package weinre.server.service;
 
-import com.phonegap.weinre.server.BasicService;
+import weinre.server.BasicService;
 
 public class Profiler extends BasicService {
 
diff --git a/weinre.server/src/com/phonegap/weinre/server/service/ProfilerNotify.java b/weinre.server/src/weinre/server/service/ProfilerNotify.java
similarity index 78%
rename from weinre.server/src/com/phonegap/weinre/server/service/ProfilerNotify.java
rename to weinre.server/src/weinre/server/service/ProfilerNotify.java
index 9330351..82d1e5a 100644
--- a/weinre.server/src/com/phonegap/weinre/server/service/ProfilerNotify.java
+++ b/weinre.server/src/weinre/server/service/ProfilerNotify.java
@@ -5,9 +5,9 @@
  * Copyright (c) 2011 IBM Corporation
  */
 
-package com.phonegap.weinre.server.service;
+package weinre.server.service;
 
-import com.phonegap.weinre.server.BasicService;
+import weinre.server.BasicService;
 
 public class ProfilerNotify extends BasicService {
 
diff --git a/weinre.server/src/com/phonegap/weinre/server/service/Runtime.java b/weinre.server/src/weinre/server/service/Runtime.java
similarity index 77%
rename from weinre.server/src/com/phonegap/weinre/server/service/Runtime.java
rename to weinre.server/src/weinre/server/service/Runtime.java
index 9209ee8..394e131 100644
--- a/weinre.server/src/com/phonegap/weinre/server/service/Runtime.java
+++ b/weinre.server/src/weinre/server/service/Runtime.java
@@ -5,9 +5,9 @@
  * Copyright (c) 2011 IBM Corporation
  */
 
-package com.phonegap.weinre.server.service;
+package weinre.server.service;
 
-import com.phonegap.weinre.server.BasicService;
+import weinre.server.BasicService;
 
 public class Runtime extends BasicService {
 
diff --git a/weinre.server/src/com/phonegap/weinre/server/service/TimelineNotify.java b/weinre.server/src/weinre/server/service/TimelineNotify.java
similarity index 78%
rename from weinre.server/src/com/phonegap/weinre/server/service/TimelineNotify.java
rename to weinre.server/src/weinre/server/service/TimelineNotify.java
index 813e062..320405b 100644
--- a/weinre.server/src/com/phonegap/weinre/server/service/TimelineNotify.java
+++ b/weinre.server/src/weinre/server/service/TimelineNotify.java
@@ -5,9 +5,9 @@
  * Copyright (c) 2011 IBM Corporation
  */
 
-package com.phonegap.weinre.server.service;
+package weinre.server.service;
 
-import com.phonegap.weinre.server.BasicService;
+import weinre.server.BasicService;
 
 public class TimelineNotify extends BasicService {
 
diff --git a/weinre.server/src/com/phonegap/weinre/server/service/WeinreClientCommands.java b/weinre.server/src/weinre/server/service/WeinreClientCommands.java
similarity index 89%
rename from weinre.server/src/com/phonegap/weinre/server/service/WeinreClientCommands.java
rename to weinre.server/src/weinre/server/service/WeinreClientCommands.java
index e94c261..0de4882 100644
--- a/weinre.server/src/com/phonegap/weinre/server/service/WeinreClientCommands.java
+++ b/weinre.server/src/weinre/server/service/WeinreClientCommands.java
@@ -5,18 +5,19 @@
  * Copyright (c) 2010, 2011 IBM Corporation
  */
 
-package com.phonegap.weinre.server.service;
+package weinre.server.service;
 
 import java.io.IOException;
 import java.util.List;
 
 import org.apache.wink.json4j.JSONArray;
 
-import com.phonegap.weinre.server.Channel;
-import com.phonegap.weinre.server.Client;
-import com.phonegap.weinre.server.ConnectionManager;
-import com.phonegap.weinre.server.Main;
-import com.phonegap.weinre.server.Target;
+import weinre.server.Channel;
+import weinre.server.Client;
+import weinre.server.ConnectionManager;
+import weinre.server.Main;
+import weinre.server.Target;
+
 
 /**
  * 
diff --git a/weinre.server/src/com/phonegap/weinre/server/service/WeinreTargetCommands.java b/weinre.server/src/weinre/server/service/WeinreTargetCommands.java
similarity index 89%
rename from weinre.server/src/com/phonegap/weinre/server/service/WeinreTargetCommands.java
rename to weinre.server/src/weinre/server/service/WeinreTargetCommands.java
index f2dda25..10a80d2 100644
--- a/weinre.server/src/com/phonegap/weinre/server/service/WeinreTargetCommands.java
+++ b/weinre.server/src/weinre/server/service/WeinreTargetCommands.java
@@ -5,15 +5,16 @@
  * Copyright (c) 2010, 2011 IBM Corporation
  */
 
-package com.phonegap.weinre.server.service;
+package weinre.server.service;
 
 import java.io.IOException;
 import java.util.List;
 
-import com.phonegap.weinre.server.Channel;
-import com.phonegap.weinre.server.ChannelManager;
-import com.phonegap.weinre.server.Main;
-import com.phonegap.weinre.server.Target;
+import weinre.server.Channel;
+import weinre.server.ChannelManager;
+import weinre.server.Main;
+import weinre.server.Target;
+
 
 /**
  * 
diff --git a/weinre.server/weinre server using ~weinre-server.settings.launch b/weinre.server/weinre server using ~weinre-server.settings.launch
index 2e29a1f..4b2d2ab 100644
--- a/weinre.server/weinre server using ~weinre-server.settings.launch
+++ b/weinre.server/weinre server using ~weinre-server.settings.launch
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
 <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/weinre.server/src/com/phonegap/weinre/server/Main.java"/>
+<listEntry value="/weinre.server/src/weinre/server/Main.java"/>
 </listAttribute>
 <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
 <listEntry value="1"/>
@@ -10,6 +10,6 @@
 <listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
 <listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
 </listAttribute>
-<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="com.phonegap.weinre.server.Main"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="weinre.server.Main"/>
 <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="weinre.server"/>
 </launchConfiguration>
