diff --git a/bundles/org.eclipse.rap.tools.intro/META-INF/MANIFEST.MF b/bundles/org.eclipse.rap.tools.intro/META-INF/MANIFEST.MF
index 84e6ed6..c9b5cbf 100644
--- a/bundles/org.eclipse.rap.tools.intro/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.rap.tools.intro/META-INF/MANIFEST.MF
@@ -18,8 +18,8 @@
 Eclipse-LazyStart: true
 Bundle-ActivationPolicy: lazy
 Bundle-Localization: plugin
-Bundle-Activator: org.eclipse.rap.ui.internal.intro.IntroPlugin
+Bundle-Activator: org.eclipse.rap.tools.intro.internal.IntroPlugin
 Bundle-Vendor: %Bundle-Vendor
-Export-Package: org.eclipse.rap.ui.internal.intro;x-friends:="org.eclipse.rap.tools.tests",
- org.eclipse.rap.ui.internal.intro.commands;x-internal:=true,
- org.eclipse.rap.ui.internal.intro.target;x-friends:="org.eclipse.rap.tools.tests"
+Export-Package: org.eclipse.rap.tools.intro.internal;x-friends:="org.eclipse.rap.tools.tests",
+ org.eclipse.rap.tools.intro.internal.commands;x-internal:=true,
+ org.eclipse.rap.tools.intro.internal.target;x-friends:="org.eclipse.rap.tools.tests"
diff --git a/bundles/org.eclipse.rap.tools.intro/cheatsheets/getting-started.xml b/bundles/org.eclipse.rap.tools.intro/cheatsheets/getting-started.xml
index 24dc557..f626404 100644
--- a/bundles/org.eclipse.rap.tools.intro/cheatsheets/getting-started.xml
+++ b/bundles/org.eclipse.rap.tools.intro/cheatsheets/getting-started.xml
@@ -2,38 +2,38 @@
 <cheatsheet title="Getting Started with the Remote Application Platform">
    <intro href="/org.eclipse.pde.doc.user/guide/tools/preference_pages/target_platform.htm">
       <description>
-         This cheat sheet shows you how to explore the demo applications 
-         that come with RAP. 
+         This cheat sheet shows you how to explore the demo applications
+         that come with RAP.
          <br/>
-         If not yet done we will help you to install the RAP Target 
+         If not yet done we will help you to install the RAP Target
          Platform.
          <br/>
-         As RAP is a platform itself it <b>cannot be installed on top of 
-         an existing Eclipse</b> installation. 
+         As RAP is a platform itself it <b>cannot be installed on top of
+         an existing Eclipse</b> installation.
          <br/>
-         Click the <b>?</b> button if you want to know more about target 
+         Click the <b>?</b> button if you want to know more about target
          platforms.
       </description>
    </intro>
    <item title="Installing the target" dialog="true" skip="true">
       <description>
-         First let&apos;s install the target. You can skip this step if it 
-         is already installed. If not, it is <b>required</b> to install the 
+         First let&apos;s install the target. You can skip this step if it
+         is already installed. If not, it is <b>required</b> to install the
          target before running the demo or developing plug-ins on top of RAP.
       </description>
-      <command serialization="org.eclipse.rap.ui.intro.installTarget" confirm="false">
+      <command serialization="org.eclipse.rap.tools.intro.installTarget" confirm="false">
       </command>
    </item>
    <item title="Importing the demo..." dialog="true" skip="true">
       <description>
          To test the just installed target we lauch the demo that comes
          with the target.
-         To import it, click the <b>Perform</b> link, select <b>Projects 
-         with source folders</b> and choose the <b>org.eclipse.rap.demo</b> 
+         To import it, click the <b>Perform</b> link, select <b>Projects
+         with source folders</b> and choose the <b>org.eclipse.rap.demo</b>
          plug-in on the next page.
       </description>
-      <command 
-        serialization="org.eclipse.ui.file.import(importWizardId=org.eclipse.pde.ui.PluginImportWizard)" 
+      <command
+        serialization="org.eclipse.ui.file.import(importWizardId=org.eclipse.pde.ui.PluginImportWizard)"
         confirm="false">
       </command>
    </item>
@@ -42,11 +42,11 @@
          To launch the demo application we use the <b>RAP Workbench Demo</b>
          launch configration that is bundled with the just imported plug-in.
          <br />
-         Use the <b>Run</b> &gt; <b>Open Run Dialog</b> menu item or click 
+         Use the <b>Run</b> &gt; <b>Open Run Dialog</b> menu item or click
          <b>Perform</b> and select the above mentioned launch configuration.
       </description>
-      <command 
-        serialization="org.eclipse.rap.ui.internal.intro.commands.launchRAPApplication" 
+      <command
+        serialization="org.eclipse.rap.tools.intro.internal.commands.launchRAPApplication"
         confirm="false">
       </command>
    </item>
diff --git a/bundles/org.eclipse.rap.tools.intro/intro/overviewExtensionContent.xml b/bundles/org.eclipse.rap.tools.intro/intro/overviewExtensionContent.xml
index fbc24f9..c04308a 100644
--- a/bundles/org.eclipse.rap.tools.intro/intro/overviewExtensionContent.xml
+++ b/bundles/org.eclipse.rap.tools.intro/intro/overviewExtensionContent.xml
@@ -46,7 +46,7 @@
       <group style-id="content-group" id="rap-target-one-group">
         <link
             label="Install Target Platform"
-            url="http://org.eclipse.ui.intro/runAction?class=org.eclipse.rap.ui.internal.intro.target.InstallRAPTargetAction&amp;pluginId=org.eclipse.rap.tools.intro&amp;standby=true"
+            url="http://org.eclipse.ui.intro/runAction?class=org.eclipse.rap.tools.intro.internal.target.InstallRAPTargetAction&amp;pluginId=org.eclipse.rap.tools.intro&amp;standby=true"
             id="rap-target-installer"
             style-id="content-link">
           <text>
diff --git a/bundles/org.eclipse.rap.tools.intro/plugin.xml b/bundles/org.eclipse.rap.tools.intro/plugin.xml
index 3393642..b6b462a 100644
--- a/bundles/org.eclipse.rap.tools.intro/plugin.xml
+++ b/bundles/org.eclipse.rap.tools.intro/plugin.xml
@@ -24,15 +24,15 @@
    <extension
          point="org.eclipse.ui.commands">
       <command
-            defaultHandler="org.eclipse.rap.ui.internal.intro.target.InstallRAPTargetHandler"
-            id="org.eclipse.rap.ui.intro.installTarget"
+            defaultHandler="org.eclipse.rap.tools.intro.internal.target.InstallRAPTargetHandler"
+            id="org.eclipse.rap.tools.intro.installTarget"
             name="%installTargetCommand.name">
       </command>
       <command
             name="%launchRAPApplication.name"
             description="%launchRAPApplication.description"
-            id="org.eclipse.rap.ui.internal.intro.commands.launchRAPApplication"
-            defaultHandler="org.eclipse.rap.ui.internal.intro.commands.LaunchRAPApplication">
+            id="org.eclipse.rap.tools.intro.internal.commands.launchRAPApplication"
+            defaultHandler="org.eclipse.rap.tools.intro.internal.commands.LaunchRAPApplication">
       </command>
    </extension>
    <!--
diff --git a/bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/ui/internal/intro/ErrorUtil.java b/bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/tools/intro/internal/ErrorUtil.java
similarity index 97%
rename from bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/ui/internal/intro/ErrorUtil.java
rename to bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/tools/intro/internal/ErrorUtil.java
index 7cc5c64..bc622a5 100644
--- a/bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/ui/internal/intro/ErrorUtil.java
+++ b/bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/tools/intro/internal/ErrorUtil.java
@@ -9,7 +9,7 @@
  *    Innoopract Informationssysteme GmbH - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.intro;
+package org.eclipse.rap.tools.intro.internal;
 
 import java.lang.reflect.InvocationTargetException;
 
diff --git a/bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/ui/internal/intro/IntroPlugin.java b/bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/tools/intro/internal/IntroPlugin.java
similarity index 97%
rename from bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/ui/internal/intro/IntroPlugin.java
rename to bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/tools/intro/internal/IntroPlugin.java
index ef70a22..d4bb2c1 100644
--- a/bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/ui/internal/intro/IntroPlugin.java
+++ b/bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/tools/intro/internal/IntroPlugin.java
@@ -9,7 +9,7 @@
  *    Innoopract Informationssysteme GmbH - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.intro;
+package org.eclipse.rap.tools.intro.internal;
 
 import org.eclipse.ui.plugin.AbstractUIPlugin;
 import org.osgi.framework.BundleContext;
diff --git a/bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/ui/internal/intro/commands/LaunchRAPApplication.java b/bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/tools/intro/internal/commands/LaunchRAPApplication.java
similarity index 90%
rename from bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/ui/internal/intro/commands/LaunchRAPApplication.java
rename to bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/tools/intro/internal/commands/LaunchRAPApplication.java
index 1550de4..5c5cbc1 100644
--- a/bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/ui/internal/intro/commands/LaunchRAPApplication.java
+++ b/bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/tools/intro/internal/commands/LaunchRAPApplication.java
@@ -8,14 +8,14 @@
  * Contributors:
  *    EclipseSource - initial API and implementation
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.intro.commands;
+package org.eclipse.rap.tools.intro.internal.commands;
 
 import java.text.MessageFormat;
 
 import org.eclipse.core.commands.*;
 import org.eclipse.core.commands.common.CommandException;
 import org.eclipse.core.runtime.Platform;
-import org.eclipse.rap.ui.internal.intro.ErrorUtil;
+import org.eclipse.rap.tools.intro.internal.ErrorUtil;
 import org.eclipse.swt.widgets.Display;
 import org.eclipse.ui.IWorkbenchWindow;
 import org.eclipse.ui.handlers.HandlerUtil;
@@ -25,12 +25,12 @@
 
 /*
  * Called from the getting-started cheat sheet via the command extension
- * org.eclipse.rap.ui.internal.intro.commands.launchRAPApplication
+ * org.eclipse.rap.tools.intro.internal.commands.launchRAPApplication
  */
 public final class LaunchRAPApplication extends AbstractHandler {
 
   private static final String RUN_COMMAND
-    = "org.eclipse.rap.ui.launch.RAPLaunchShortcut.run"; //$NON-NLS-1$
+    = "org.eclipse.rap.tools.launch.RAPLaunchShortcut.run"; //$NON-NLS-1$
 
   public Object execute( final ExecutionEvent event ) throws ExecutionException {
     try {
diff --git a/bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/ui/internal/intro/target/InstallRAPTargetAction.java b/bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/tools/intro/internal/target/InstallRAPTargetAction.java
similarity index 92%
rename from bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/ui/internal/intro/target/InstallRAPTargetAction.java
rename to bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/tools/intro/internal/target/InstallRAPTargetAction.java
index 0aa944b..7296842 100644
--- a/bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/ui/internal/intro/target/InstallRAPTargetAction.java
+++ b/bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/tools/intro/internal/target/InstallRAPTargetAction.java
@@ -9,14 +9,14 @@
  *    Innoopract Informationssysteme GmbH - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.intro.target;
+package org.eclipse.rap.tools.intro.internal.target;
 
 import java.text.MessageFormat;
 
 import org.eclipse.core.commands.common.CommandException;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.jface.action.Action;
-import org.eclipse.rap.ui.internal.intro.ErrorUtil;
+import org.eclipse.rap.tools.intro.internal.ErrorUtil;
 import org.eclipse.ui.IWorkbenchWindow;
 import org.eclipse.ui.PlatformUI;
 import org.eclipse.ui.handlers.IHandlerService;
@@ -24,7 +24,7 @@
 
 public final class InstallRAPTargetAction extends Action {
 
-  private static final String INSTALL_COMMAND = "org.eclipse.rap.ui.intro.installTarget"; //$NON-NLS-1$
+  private static final String INSTALL_COMMAND = "org.eclipse.rap.tools.intro.installTarget"; //$NON-NLS-1$
 
   public void run() {
     IWorkbenchWindow workbenchWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
diff --git a/bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/ui/internal/intro/target/InstallRAPTargetHandler.java b/bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/tools/intro/internal/target/InstallRAPTargetHandler.java
similarity index 95%
rename from bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/ui/internal/intro/target/InstallRAPTargetHandler.java
rename to bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/tools/intro/internal/target/InstallRAPTargetHandler.java
index f1375c4..5844c16 100644
--- a/bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/ui/internal/intro/target/InstallRAPTargetHandler.java
+++ b/bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/tools/intro/internal/target/InstallRAPTargetHandler.java
@@ -9,14 +9,14 @@
  *    Innoopract Informationssysteme GmbH - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.intro.target;
+package org.eclipse.rap.tools.intro.internal.target;
 
 import org.eclipse.core.commands.*;
 import org.eclipse.core.runtime.*;
 import org.eclipse.core.runtime.jobs.ISchedulingRule;
 import org.eclipse.core.runtime.jobs.Job;
 import org.eclipse.jface.window.Window;
-import org.eclipse.rap.ui.internal.intro.ErrorUtil;
+import org.eclipse.rap.tools.intro.internal.ErrorUtil;
 import org.eclipse.swt.widgets.Shell;
 import org.eclipse.ui.IWorkbench;
 import org.eclipse.ui.PlatformUI;
diff --git a/bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/ui/internal/intro/target/InstallTargetDialog.java b/bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/tools/intro/internal/target/InstallTargetDialog.java
similarity index 98%
rename from bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/ui/internal/intro/target/InstallTargetDialog.java
rename to bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/tools/intro/internal/target/InstallTargetDialog.java
index beef13a..5d2a47b 100644
--- a/bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/ui/internal/intro/target/InstallTargetDialog.java
+++ b/bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/tools/intro/internal/target/InstallTargetDialog.java
@@ -9,7 +9,7 @@
  *    Innoopract Informationssysteme GmbH - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.intro.target;
+package org.eclipse.rap.tools.intro.internal.target;
 
 import java.text.MessageFormat;
 
diff --git a/bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/ui/internal/intro/target/IntroMessages.java b/bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/tools/intro/internal/target/IntroMessages.java
similarity index 92%
rename from bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/ui/internal/intro/target/IntroMessages.java
rename to bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/tools/intro/internal/target/IntroMessages.java
index 2b9e17e..1d60415 100644
--- a/bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/ui/internal/intro/target/IntroMessages.java
+++ b/bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/tools/intro/internal/target/IntroMessages.java
@@ -9,14 +9,14 @@
  *    Innoopract Informationssysteme GmbH - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.intro.target;
+package org.eclipse.rap.tools.intro.internal.target;
 
 import org.eclipse.osgi.util.NLS;
 
 public class IntroMessages extends NLS {
 
   private static final String BUNDLE_NAME
-    = "org.eclipse.rap.ui.internal.intro.target.messages"; //$NON-NLS-1$
+    = "org.eclipse.rap.tools.intro.internal.target.messages"; //$NON-NLS-1$
 
   public static String InstallDialog_ShellTitle;
   public static String InstallDialog_switchTarget;
diff --git a/bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/ui/internal/intro/target/TargetProvider.java b/bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/tools/intro/internal/target/TargetProvider.java
similarity index 96%
rename from bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/ui/internal/intro/target/TargetProvider.java
rename to bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/tools/intro/internal/target/TargetProvider.java
index ee6b4cb..25b4f81 100644
--- a/bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/ui/internal/intro/target/TargetProvider.java
+++ b/bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/tools/intro/internal/target/TargetProvider.java
@@ -8,14 +8,14 @@
  * Contributors:
  *    EclipseSource - initial API and implementation
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.intro.target;
+package org.eclipse.rap.tools.intro.internal.target;
 
 import java.io.*;
 import java.net.URL;
 
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.Path;
-import org.eclipse.rap.ui.internal.intro.IntroPlugin;
+import org.eclipse.rap.tools.intro.internal.IntroPlugin;
 import org.osgi.framework.Version;
 
 
diff --git a/bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/ui/internal/intro/target/TargetSwitcher.java b/bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/tools/intro/internal/target/TargetSwitcher.java
similarity index 97%
rename from bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/ui/internal/intro/target/TargetSwitcher.java
rename to bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/tools/intro/internal/target/TargetSwitcher.java
index eb0a6da..159d5a2 100644
--- a/bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/ui/internal/intro/target/TargetSwitcher.java
+++ b/bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/tools/intro/internal/target/TargetSwitcher.java
@@ -8,7 +8,7 @@
  * Contributors:
  *    EclipseSource - initial API and implementation
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.intro.target;
+package org.eclipse.rap.tools.intro.internal.target;
 
 import java.net.*;
 
@@ -16,8 +16,8 @@
 import org.eclipse.core.runtime.jobs.Job;
 import org.eclipse.pde.core.target.*;
 import org.eclipse.pde.internal.core.PDECore;
-import org.eclipse.rap.ui.internal.intro.ErrorUtil;
-import org.eclipse.rap.ui.internal.intro.IntroPlugin;
+import org.eclipse.rap.tools.intro.internal.ErrorUtil;
+import org.eclipse.rap.tools.intro.internal.IntroPlugin;
 
 
 @SuppressWarnings( "restriction" )
diff --git a/bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/ui/internal/intro/target/messages.properties b/bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/tools/intro/internal/target/messages.properties
similarity index 100%
rename from bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/ui/internal/intro/target/messages.properties
rename to bundles/org.eclipse.rap.tools.intro/src/org/eclipse/rap/tools/intro/internal/target/messages.properties
diff --git a/bundles/org.eclipse.rap.tools.launch.rwt/META-INF/MANIFEST.MF b/bundles/org.eclipse.rap.tools.launch.rwt/META-INF/MANIFEST.MF
index 611c83e..b75cbf2 100644
--- a/bundles/org.eclipse.rap.tools.launch.rwt/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.rap.tools.launch.rwt/META-INF/MANIFEST.MF
@@ -3,7 +3,7 @@
 Bundle-Name: %Bundle-Name
 Bundle-SymbolicName: org.eclipse.rap.tools.launch.rwt;singleton:=true
 Bundle-Version: 2.3.0.qualifier
-Bundle-Activator: org.eclipse.rap.ui.internal.launch.rwt.RWTLaunchActivator
+Bundle-Activator: org.eclipse.rap.tools.launch.rwt.internal.RWTLaunchActivator
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.6.0,4.0.0)",
  org.eclipse.core.variables;bundle-version="[3.2.0,4.0.0)",
  org.eclipse.core.resources;bundle-version="[3.6.0,4.0.0)",
@@ -28,10 +28,10 @@
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Bundle-Localization: OSGI-INF/l10n/bundle
 Bundle-Vendor: %Bundle-Vendor
-Export-Package: org.eclipse.rap.ui.internal.launch.rwt;x-internal:=true,
- org.eclipse.rap.ui.internal.launch.rwt.config;x-internal:=true,
- org.eclipse.rap.ui.internal.launch.rwt.delegate;x-internal:=true,
- org.eclipse.rap.ui.internal.launch.rwt.jetty;x-internal:=true,
- org.eclipse.rap.ui.internal.launch.rwt.shortcut;x-internal:=true,
- org.eclipse.rap.ui.internal.launch.rwt.tab;x-internal:=true,
- org.eclipse.rap.ui.internal.launch.rwt.util;x-internal:=true
+Export-Package: org.eclipse.rap.tools.launch.rwt.internal;x-internal:=true,
+ org.eclipse.rap.tools.launch.rwt.internal.config;x-internal:=true,
+ org.eclipse.rap.tools.launch.rwt.internal.delegate;x-internal:=true,
+ org.eclipse.rap.tools.launch.rwt.internal.jetty;x-internal:=true,
+ org.eclipse.rap.tools.launch.rwt.internal.shortcut;x-internal:=true,
+ org.eclipse.rap.tools.launch.rwt.internal.tab;x-internal:=true,
+ org.eclipse.rap.tools.launch.rwt.internal.util;x-internal:=true
diff --git a/bundles/org.eclipse.rap.tools.launch.rwt/plugin.xml b/bundles/org.eclipse.rap.tools.launch.rwt/plugin.xml
index dabc0f6..38e23df 100644
--- a/bundles/org.eclipse.rap.tools.launch.rwt/plugin.xml
+++ b/bundles/org.eclipse.rap.tools.launch.rwt/plugin.xml
@@ -14,7 +14,7 @@
    <extension
          point="org.eclipse.debug.core.launchConfigurationTypes">
       <launchConfigurationType
-            delegate="org.eclipse.rap.ui.internal.launch.rwt.delegate.RWTLaunchDelegate"
+            delegate="org.eclipse.rap.tools.launch.rwt.internal.delegate.RWTLaunchDelegate"
             delegateDescription="%launchConfigurationType.delegateDescription"
             delegateName="%launchConfigurationType.delegateName"
             id="org.eclipse.rap.ui.internal.launch.rwt.RWTLaunchConfigType"
@@ -30,15 +30,15 @@
       <launchConfigurationTypeImage
             configTypeID="org.eclipse.rap.ui.internal.launch.rwt.RWTLaunchConfigType"
             icon="$nl$/icons/full/obj16/launcher.gif"
-            id="org.eclipse.rap.ui.internal.launch.rwt.launchConfigurationTypeImage">
+            id="org.eclipse.rap.tools.launch.rwt.launchConfigurationTypeImage">
       </launchConfigurationTypeImage>
    </extension>
    <extension
          point="org.eclipse.debug.ui.launchConfigurationTabGroups">
       <launchConfigurationTabGroup
-            class="org.eclipse.rap.ui.internal.launch.rwt.tab.RWTLaunchTabGroup"
+            class="org.eclipse.rap.tools.launch.rwt.internal.tab.RWTLaunchTabGroup"
             description="%launchConfigurationTabGroup.description"
-            id="org.eclipse.rap.ui.internal.launch.rwt.launchConfigurationTabGroup1"
+            id="org.eclipse.rap.tools.launch.rwt.launchConfigurationTabGroup1"
             type="org.eclipse.rap.ui.internal.launch.rwt.RWTLaunchConfigType">
          <launchMode
                description="%runLaunchMode.description"
@@ -53,10 +53,10 @@
    <extension
          point="org.eclipse.debug.ui.launchShortcuts">
       <shortcut
-            class="org.eclipse.rap.ui.internal.launch.rwt.shortcut.RWTLaunchShortcut"
+            class="org.eclipse.rap.tools.launch.rwt.internal.shortcut.RWTLaunchShortcut"
             description="%shortcut.description"
             icon="icons/full/obj16/launcher.gif"
-            id="org.eclipse.rap.ui.internal.launch.rwt.rwtLaunchShortcut"
+            id="org.eclipse.rap.tools.launch.rwt.rwtLaunchShortcut"
             label="%shortcut.label"
             modes="run, debug">
            <contextualLaunch>
@@ -93,13 +93,13 @@
       <command
             categoryId="org.eclipse.debug.ui.category.run"
             description="%runCommand.description"
-            id="org.eclipse.rap.ui.internal.launch.rwt.rwtLaunchShortcut.run"
+            id="org.eclipse.rap.tools.launch.rwt.rwtLaunchShortcut.run"
             name="%runCommand.name">
       </command>
       <command
             categoryId="org.eclipse.debug.ui.category.run"
             description="%debugCommand.description"
-            id="org.eclipse.rap.ui.internal.launch.rwt.rwtLaunchShortcut.debug"
+            id="org.eclipse.rap.tools.launch.rwt.rwtLaunchShortcut.debug"
             name="%debugCommand.name">
       </command>
    </extension>
@@ -107,11 +107,11 @@
    <extension point="org.eclipse.ui.bindings">
        <key
             sequence="M2+M3+X 3"
-            commandId="org.eclipse.rap.ui.internal.launch.rwt.rwtLaunchShortcut.run"
+            commandId="org.eclipse.rap.tools.launch.rwt.rwtLaunchShortcut.run"
             schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
        <key
             sequence="M2+M3+D 3"
-            commandId="org.eclipse.rap.ui.internal.launch.rwt.rwtLaunchShortcut.debug"
+            commandId="org.eclipse.rap.tools.launch.rwt.rwtLaunchShortcut.debug"
             schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/>
    </extension>
 </plugin>
diff --git a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/RWTLaunchActivator.java b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/RWTLaunchActivator.java
similarity index 95%
rename from bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/RWTLaunchActivator.java
rename to bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/RWTLaunchActivator.java
index a98749f..d62ecc2 100644
--- a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/RWTLaunchActivator.java
+++ b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/RWTLaunchActivator.java
@@ -9,7 +9,7 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt;
+package org.eclipse.rap.tools.launch.rwt.internal;
 
 import org.eclipse.ui.plugin.AbstractUIPlugin;
 import org.osgi.framework.BundleContext;
diff --git a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/config/BrowserMode.java b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/config/BrowserMode.java
similarity index 96%
rename from bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/config/BrowserMode.java
rename to bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/config/BrowserMode.java
index 1ba20fb..acfcfc2 100644
--- a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/config/BrowserMode.java
+++ b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/config/BrowserMode.java
@@ -9,7 +9,7 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.config;
+package org.eclipse.rap.tools.launch.rwt.internal.config;
 
 
 public final class BrowserMode {
diff --git a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/config/ContextPathValidator.java b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/config/ContextPathValidator.java
similarity index 96%
rename from bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/config/ContextPathValidator.java
rename to bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/config/ContextPathValidator.java
index 92acf22..d9f0b01 100644
--- a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/config/ContextPathValidator.java
+++ b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/config/ContextPathValidator.java
@@ -8,7 +8,7 @@
  * Contributors:
  *    EclipseSource - initial API and implementation
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.config;
+package org.eclipse.rap.tools.launch.rwt.internal.config;
 
 
 public class ContextPathValidator extends Validator {
diff --git a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/config/EntryPointValidator.java b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/config/EntryPointValidator.java
similarity index 87%
rename from bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/config/EntryPointValidator.java
rename to bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/config/EntryPointValidator.java
index 03f9071..6ed6cb8 100644
--- a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/config/EntryPointValidator.java
+++ b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/config/EntryPointValidator.java
@@ -9,9 +9,9 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.config;
+package org.eclipse.rap.tools.launch.rwt.internal.config;
 
-import org.eclipse.rap.ui.internal.launch.rwt.config.RWTLaunchConfig.LaunchTarget;
+import org.eclipse.rap.tools.launch.rwt.internal.config.RWTLaunchConfig.LaunchTarget;
 
 
 class EntryPointValidator extends Validator {
diff --git a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/config/ProjectValidator.java b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/config/ProjectValidator.java
similarity index 96%
rename from bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/config/ProjectValidator.java
rename to bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/config/ProjectValidator.java
index baa6ad6..ad03bb6 100644
--- a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/config/ProjectValidator.java
+++ b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/config/ProjectValidator.java
@@ -9,7 +9,7 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.config;
+package org.eclipse.rap.tools.launch.rwt.internal.config;
 
 import java.text.MessageFormat;
 
diff --git a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/config/RWTLaunchConfig.java b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/config/RWTLaunchConfig.java
similarity index 99%
rename from bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/config/RWTLaunchConfig.java
rename to bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/config/RWTLaunchConfig.java
index cad1ac9..8a11964 100644
--- a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/config/RWTLaunchConfig.java
+++ b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/config/RWTLaunchConfig.java
@@ -9,7 +9,7 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.config;
+package org.eclipse.rap.tools.launch.rwt.internal.config;
 
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.debug.core.*;
diff --git a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/config/ServletPathValidator.java b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/config/ServletPathValidator.java
similarity index 97%
rename from bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/config/ServletPathValidator.java
rename to bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/config/ServletPathValidator.java
index 7ae6d67..c87391d 100644
--- a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/config/ServletPathValidator.java
+++ b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/config/ServletPathValidator.java
@@ -9,7 +9,7 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.config;
+package org.eclipse.rap.tools.launch.rwt.internal.config;
 
 
 class ServletPathValidator extends Validator {
diff --git a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/config/ValidationResult.java b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/config/ValidationResult.java
similarity index 94%
rename from bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/config/ValidationResult.java
rename to bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/config/ValidationResult.java
index bef62f3..764701e 100644
--- a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/config/ValidationResult.java
+++ b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/config/ValidationResult.java
@@ -9,14 +9,14 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.config;
+package org.eclipse.rap.tools.launch.rwt.internal.config;
 
 import java.util.LinkedList;
 import java.util.List;
 
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Status;
-import org.eclipse.rap.ui.internal.launch.rwt.RWTLaunchActivator;
+import org.eclipse.rap.tools.launch.rwt.internal.RWTLaunchActivator;
 
 public class ValidationResult {
   private final List<IStatus> results;
diff --git a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/config/ValidationRunner.java b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/config/ValidationRunner.java
similarity index 96%
rename from bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/config/ValidationRunner.java
rename to bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/config/ValidationRunner.java
index 9a03084..6025695 100644
--- a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/config/ValidationRunner.java
+++ b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/config/ValidationRunner.java
@@ -9,7 +9,7 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.config;
+package org.eclipse.rap.tools.launch.rwt.internal.config;
 
 import org.eclipse.core.runtime.IStatus;
 
diff --git a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/config/Validator.java b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/config/Validator.java
similarity index 94%
rename from bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/config/Validator.java
rename to bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/config/Validator.java
index f3a35f3..62793b2 100644
--- a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/config/Validator.java
+++ b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/config/Validator.java
@@ -9,7 +9,7 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.config;
+package org.eclipse.rap.tools.launch.rwt.internal.config;
 
 abstract class Validator {
 
diff --git a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/config/WebXmlLocationValidator.java b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/config/WebXmlLocationValidator.java
similarity index 91%
rename from bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/config/WebXmlLocationValidator.java
rename to bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/config/WebXmlLocationValidator.java
index 4beb9ae..263c71b 100644
--- a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/config/WebXmlLocationValidator.java
+++ b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/config/WebXmlLocationValidator.java
@@ -9,14 +9,14 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.config;
+package org.eclipse.rap.tools.launch.rwt.internal.config;
 
 import java.text.MessageFormat;
 
 import org.eclipse.core.resources.IWorkspaceRoot;
 import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.core.runtime.Path;
-import org.eclipse.rap.ui.internal.launch.rwt.config.RWTLaunchConfig.LaunchTarget;
+import org.eclipse.rap.tools.launch.rwt.internal.config.RWTLaunchConfig.LaunchTarget;
 
 
 class WebXmlLocationValidator extends Validator {
diff --git a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/delegate/BrowserOpener.java b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/delegate/BrowserOpener.java
similarity index 94%
rename from bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/delegate/BrowserOpener.java
rename to bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/delegate/BrowserOpener.java
index dabd120..bcd4399 100644
--- a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/delegate/BrowserOpener.java
+++ b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/delegate/BrowserOpener.java
@@ -9,7 +9,7 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.delegate;
+package org.eclipse.rap.tools.launch.rwt.internal.delegate;
 
 import java.net.*;
 import java.text.MessageFormat;
@@ -17,10 +17,10 @@
 import org.eclipse.core.runtime.*;
 import org.eclipse.core.runtime.jobs.Job;
 import org.eclipse.debug.core.*;
-import org.eclipse.rap.ui.internal.launch.rwt.config.BrowserMode;
-import org.eclipse.rap.ui.internal.launch.rwt.config.RWTLaunchConfig;
-import org.eclipse.rap.ui.internal.launch.rwt.util.DebugUtil;
-import org.eclipse.rap.ui.internal.launch.rwt.util.StringUtil;
+import org.eclipse.rap.tools.launch.rwt.internal.config.BrowserMode;
+import org.eclipse.rap.tools.launch.rwt.internal.config.RWTLaunchConfig;
+import org.eclipse.rap.tools.launch.rwt.internal.util.DebugUtil;
+import org.eclipse.rap.tools.launch.rwt.internal.util.StringUtil;
 import org.eclipse.swt.widgets.Display;
 import org.eclipse.ui.PlatformUI;
 import org.eclipse.ui.browser.IWebBrowser;
diff --git a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/delegate/LaunchCleanup.java b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/delegate/LaunchCleanup.java
similarity index 90%
rename from bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/delegate/LaunchCleanup.java
rename to bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/delegate/LaunchCleanup.java
index 3cf914b..daa37ed 100644
--- a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/delegate/LaunchCleanup.java
+++ b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/delegate/LaunchCleanup.java
@@ -9,10 +9,10 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.delegate;
+package org.eclipse.rap.tools.launch.rwt.internal.delegate;
 
 import org.eclipse.debug.core.*;
-import org.eclipse.rap.ui.internal.launch.rwt.util.DebugUtil;
+import org.eclipse.rap.tools.launch.rwt.internal.util.DebugUtil;
 
 
 class LaunchCleanup {
diff --git a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/delegate/LaunchTerminator.java b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/delegate/LaunchTerminator.java
similarity index 95%
rename from bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/delegate/LaunchTerminator.java
rename to bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/delegate/LaunchTerminator.java
index 13cbc63..87ee8fa 100644
--- a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/delegate/LaunchTerminator.java
+++ b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/delegate/LaunchTerminator.java
@@ -9,12 +9,12 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.delegate;
+package org.eclipse.rap.tools.launch.rwt.internal.delegate;
 
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.debug.core.*;
-import org.eclipse.rap.ui.internal.launch.rwt.util.DebugUtil;
+import org.eclipse.rap.tools.launch.rwt.internal.util.DebugUtil;
 
 class LaunchTerminator {
 
diff --git a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/delegate/RWTLaunch.java b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/delegate/RWTLaunch.java
similarity index 88%
rename from bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/delegate/RWTLaunch.java
rename to bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/delegate/RWTLaunch.java
index f8c077b..b936d3e 100644
--- a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/delegate/RWTLaunch.java
+++ b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/delegate/RWTLaunch.java
@@ -9,15 +9,15 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.delegate;
+package org.eclipse.rap.tools.launch.rwt.internal.delegate;
 
 import java.io.File;
 
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.debug.core.ILaunch;
-import org.eclipse.rap.ui.internal.launch.rwt.RWTLaunchActivator;
-import org.eclipse.rap.ui.internal.launch.rwt.config.RWTLaunchConfig;
-import org.eclipse.rap.ui.internal.launch.rwt.util.IOUtil;
+import org.eclipse.rap.tools.launch.rwt.internal.RWTLaunchActivator;
+import org.eclipse.rap.tools.launch.rwt.internal.config.RWTLaunchConfig;
+import org.eclipse.rap.tools.launch.rwt.internal.util.IOUtil;
 
 
 class RWTLaunch {
diff --git a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/delegate/RWTLaunchDelegate.java b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/delegate/RWTLaunchDelegate.java
similarity index 94%
rename from bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/delegate/RWTLaunchDelegate.java
rename to bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/delegate/RWTLaunchDelegate.java
index df212b1..92c75e0 100644
--- a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/delegate/RWTLaunchDelegate.java
+++ b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/delegate/RWTLaunchDelegate.java
@@ -9,7 +9,7 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.delegate;
+package org.eclipse.rap.tools.launch.rwt.internal.delegate;
 
 import java.text.MessageFormat;
 
@@ -18,8 +18,8 @@
 import org.eclipse.debug.core.ILaunchConfiguration;
 import org.eclipse.jdt.launching.JavaLaunchDelegate;
 import org.eclipse.jdt.launching.SocketUtil;
-import org.eclipse.rap.ui.internal.launch.rwt.config.RWTLaunchConfig;
-import org.eclipse.rap.ui.internal.launch.rwt.util.*;
+import org.eclipse.rap.tools.launch.rwt.internal.config.RWTLaunchConfig;
+import org.eclipse.rap.tools.launch.rwt.internal.util.*;
 
 
 public class RWTLaunchDelegate extends JavaLaunchDelegate {
@@ -58,7 +58,7 @@
   }
 
   public String getMainTypeName( ILaunchConfiguration configuration ) {
-    return "org.eclipse.rap.ui.internal.launch.rwt.jetty.JettyLauncher"; //$NON-NLS-1$
+    return "org.eclipse.rap.tools.launch.rwt.internal.jetty.JettyLauncher"; //$NON-NLS-1$
   }
 
   public String[] getClasspath( ILaunchConfiguration configuration ) throws CoreException {
diff --git a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/delegate/WebXmlProvider.java b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/delegate/WebXmlProvider.java
similarity index 90%
rename from bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/delegate/WebXmlProvider.java
rename to bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/delegate/WebXmlProvider.java
index 1cda869..67c48ae 100644
--- a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/delegate/WebXmlProvider.java
+++ b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/delegate/WebXmlProvider.java
@@ -9,16 +9,16 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.delegate;
+package org.eclipse.rap.tools.launch.rwt.internal.delegate;
 
 import java.io.*;
 
 import org.eclipse.core.resources.*;
 import org.eclipse.core.runtime.*;
-import org.eclipse.rap.ui.internal.launch.rwt.config.RWTLaunchConfig;
-import org.eclipse.rap.ui.internal.launch.rwt.config.RWTLaunchConfig.LaunchTarget;
-import org.eclipse.rap.ui.internal.launch.rwt.util.IOUtil;
-import org.eclipse.rap.ui.internal.launch.rwt.util.TemplateParser;
+import org.eclipse.rap.tools.launch.rwt.internal.config.RWTLaunchConfig;
+import org.eclipse.rap.tools.launch.rwt.internal.config.RWTLaunchConfig.LaunchTarget;
+import org.eclipse.rap.tools.launch.rwt.internal.util.IOUtil;
+import org.eclipse.rap.tools.launch.rwt.internal.util.TemplateParser;
 
 
 class WebXmlProvider {
diff --git a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/delegate/template-web.xml b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/delegate/template-web.xml
similarity index 100%
rename from bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/delegate/template-web.xml
rename to bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/delegate/template-web.xml
diff --git a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/jetty/JettyLauncher.java b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/jetty/JettyLauncher.java
similarity index 96%
rename from bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/jetty/JettyLauncher.java
rename to bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/jetty/JettyLauncher.java
index dace74f..641bdd3 100644
--- a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/jetty/JettyLauncher.java
+++ b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/jetty/JettyLauncher.java
@@ -8,7 +8,7 @@
  * Contributors:
  *    EclipseSource - initial API and implementation
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.jetty;
+package org.eclipse.rap.tools.launch.rwt.internal.jetty;
 
 import org.eclipse.jetty.server.Connector;
 import org.eclipse.jetty.server.Server;
diff --git a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/shortcut/EntryPointSearchEngine.java b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/shortcut/EntryPointSearchEngine.java
similarity index 95%
rename from bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/shortcut/EntryPointSearchEngine.java
rename to bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/shortcut/EntryPointSearchEngine.java
index 6a34518..64c1a8a 100644
--- a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/shortcut/EntryPointSearchEngine.java
+++ b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/shortcut/EntryPointSearchEngine.java
@@ -9,7 +9,7 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.shortcut;
+package org.eclipse.rap.tools.launch.rwt.internal.shortcut;
 
 import java.util.LinkedList;
 import java.util.List;
@@ -18,8 +18,8 @@
 import org.eclipse.jdt.core.*;
 import org.eclipse.jdt.core.search.*;
 import org.eclipse.jface.operation.IRunnableContext;
-import org.eclipse.rap.ui.internal.launch.rwt.shortcut.RunnableContextHelper.IContextRunnable;
-import org.eclipse.rap.ui.internal.launch.rwt.util.StringArrays;
+import org.eclipse.rap.tools.launch.rwt.internal.shortcut.RunnableContextHelper.IContextRunnable;
+import org.eclipse.rap.tools.launch.rwt.internal.util.StringArrays;
 
 
 class EntryPointSearchEngine {
diff --git a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/shortcut/JavaElementUtil.java b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/shortcut/JavaElementUtil.java
similarity index 95%
rename from bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/shortcut/JavaElementUtil.java
rename to bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/shortcut/JavaElementUtil.java
index 45487e4..e87bd17 100644
--- a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/shortcut/JavaElementUtil.java
+++ b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/shortcut/JavaElementUtil.java
@@ -9,7 +9,7 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.shortcut;
+package org.eclipse.rap.tools.launch.rwt.internal.shortcut;
 
 import java.util.LinkedList;
 import java.util.List;
diff --git a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/shortcut/LaunchConfigCreator.java b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/shortcut/LaunchConfigCreator.java
similarity index 93%
rename from bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/shortcut/LaunchConfigCreator.java
rename to bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/shortcut/LaunchConfigCreator.java
index 155a35f..9d4b18b 100644
--- a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/shortcut/LaunchConfigCreator.java
+++ b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/shortcut/LaunchConfigCreator.java
@@ -9,13 +9,13 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.shortcut;
+package org.eclipse.rap.tools.launch.rwt.internal.shortcut;
 
 import org.eclipse.core.resources.IResource;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.debug.core.*;
 import org.eclipse.jdt.core.IType;
-import org.eclipse.rap.ui.internal.launch.rwt.config.RWTLaunchConfig;
+import org.eclipse.rap.tools.launch.rwt.internal.config.RWTLaunchConfig;
 
 
 public class LaunchConfigCreator {
diff --git a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/shortcut/LaunchConfigFinder.java b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/shortcut/LaunchConfigFinder.java
similarity index 93%
rename from bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/shortcut/LaunchConfigFinder.java
rename to bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/shortcut/LaunchConfigFinder.java
index 77b310c..8370ac9 100644
--- a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/shortcut/LaunchConfigFinder.java
+++ b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/shortcut/LaunchConfigFinder.java
@@ -9,7 +9,7 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.shortcut;
+package org.eclipse.rap.tools.launch.rwt.internal.shortcut;
 
 import java.util.LinkedList;
 import java.util.List;
@@ -17,8 +17,8 @@
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.debug.core.*;
 import org.eclipse.jdt.core.IType;
-import org.eclipse.rap.ui.internal.launch.rwt.config.RWTLaunchConfig;
-import org.eclipse.rap.ui.internal.launch.rwt.config.RWTLaunchConfig.LaunchTarget;
+import org.eclipse.rap.tools.launch.rwt.internal.config.RWTLaunchConfig;
+import org.eclipse.rap.tools.launch.rwt.internal.config.RWTLaunchConfig.LaunchTarget;
 
 
 class LaunchConfigFinder {
diff --git a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/shortcut/RWTLaunchShortcut.java b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/shortcut/RWTLaunchShortcut.java
similarity index 89%
rename from bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/shortcut/RWTLaunchShortcut.java
rename to bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/shortcut/RWTLaunchShortcut.java
index 2bc2468..f2564ff 100644
--- a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/shortcut/RWTLaunchShortcut.java
+++ b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/shortcut/RWTLaunchShortcut.java
@@ -9,7 +9,7 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.shortcut;
+package org.eclipse.rap.tools.launch.rwt.internal.shortcut;
 
 import java.util.Arrays;
 
@@ -20,9 +20,9 @@
 import org.eclipse.jdt.core.IType;
 import org.eclipse.jdt.debug.ui.launchConfigurations.JavaLaunchShortcut;
 import org.eclipse.jface.operation.IRunnableContext;
-import org.eclipse.rap.ui.internal.launch.rwt.config.RWTLaunchConfig;
-import org.eclipse.rap.ui.internal.launch.rwt.shortcut.LaunchConfigFinder.LaunchConfigSelector;
-import org.eclipse.rap.ui.internal.launch.rwt.util.StatusUtil;
+import org.eclipse.rap.tools.launch.rwt.internal.config.RWTLaunchConfig;
+import org.eclipse.rap.tools.launch.rwt.internal.shortcut.LaunchConfigFinder.LaunchConfigSelector;
+import org.eclipse.rap.tools.launch.rwt.internal.util.StatusUtil;
 
 
 public class RWTLaunchShortcut extends JavaLaunchShortcut {
diff --git a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/shortcut/RunnableContextHelper.java b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/shortcut/RunnableContextHelper.java
similarity index 97%
rename from bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/shortcut/RunnableContextHelper.java
rename to bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/shortcut/RunnableContextHelper.java
index 5875291..f50bc33 100644
--- a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/shortcut/RunnableContextHelper.java
+++ b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/shortcut/RunnableContextHelper.java
@@ -9,7 +9,7 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.shortcut;
+package org.eclipse.rap.tools.launch.rwt.internal.shortcut;
 
 import java.lang.reflect.InvocationTargetException;
 
diff --git a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/tab/ArgumentsTab.java b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/tab/ArgumentsTab.java
similarity index 95%
rename from bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/tab/ArgumentsTab.java
rename to bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/tab/ArgumentsTab.java
index 5475ded..6c4ca47 100644
--- a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/tab/ArgumentsTab.java
+++ b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/tab/ArgumentsTab.java
@@ -9,15 +9,15 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.tab;
+package org.eclipse.rap.tools.launch.rwt.internal.tab;
 
 import org.eclipse.debug.core.ILaunchConfiguration;
 import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
 import org.eclipse.debug.ui.ILaunchConfigurationDialog;
 import org.eclipse.debug.ui.WorkingDirectoryBlock;
 import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.rap.ui.internal.launch.rwt.config.RWTLaunchConfig;
-import org.eclipse.rap.ui.internal.launch.rwt.util.Images;
+import org.eclipse.rap.tools.launch.rwt.internal.config.RWTLaunchConfig;
+import org.eclipse.rap.tools.launch.rwt.internal.util.Images;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.graphics.Image;
 import org.eclipse.swt.layout.GridData;
diff --git a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/tab/BrowserSection.java b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/tab/BrowserSection.java
similarity index 96%
rename from bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/tab/BrowserSection.java
rename to bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/tab/BrowserSection.java
index 3afecb5..8d87f3b 100644
--- a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/tab/BrowserSection.java
+++ b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/tab/BrowserSection.java
@@ -9,13 +9,13 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.tab;
+package org.eclipse.rap.tools.launch.rwt.internal.tab;
 
 import org.eclipse.jface.layout.GridDataFactory;
 import org.eclipse.jface.preference.PreferenceDialog;
-import org.eclipse.rap.ui.internal.launch.rwt.config.BrowserMode;
-import org.eclipse.rap.ui.internal.launch.rwt.config.RWTLaunchConfig;
-import org.eclipse.rap.ui.internal.launch.rwt.util.URLBuilder;
+import org.eclipse.rap.tools.launch.rwt.internal.config.BrowserMode;
+import org.eclipse.rap.tools.launch.rwt.internal.config.RWTLaunchConfig;
+import org.eclipse.rap.tools.launch.rwt.internal.util.URLBuilder;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.*;
 import org.eclipse.swt.layout.*;
diff --git a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/tab/EntryPointSection.java b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/tab/EntryPointSection.java
similarity index 95%
rename from bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/tab/EntryPointSection.java
rename to bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/tab/EntryPointSection.java
index 588b6ae..05cc9b1 100644
--- a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/tab/EntryPointSection.java
+++ b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/tab/EntryPointSection.java
@@ -9,13 +9,13 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.tab;
+package org.eclipse.rap.tools.launch.rwt.internal.tab;
 
 import org.eclipse.core.resources.*;
 import org.eclipse.jface.dialogs.Dialog;
 import org.eclipse.jface.window.Window;
-import org.eclipse.rap.ui.internal.launch.rwt.config.RWTLaunchConfig;
-import org.eclipse.rap.ui.internal.launch.rwt.config.RWTLaunchConfig.LaunchTarget;
+import org.eclipse.rap.tools.launch.rwt.internal.config.RWTLaunchConfig;
+import org.eclipse.rap.tools.launch.rwt.internal.config.RWTLaunchConfig.LaunchTarget;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.*;
 import org.eclipse.swt.layout.GridData;
diff --git a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/tab/EntryPointTypeSelectionDialog.java b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/tab/EntryPointTypeSelectionDialog.java
similarity index 97%
rename from bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/tab/EntryPointTypeSelectionDialog.java
rename to bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/tab/EntryPointTypeSelectionDialog.java
index 1decb0d..d634c9a 100644
--- a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/tab/EntryPointTypeSelectionDialog.java
+++ b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/tab/EntryPointTypeSelectionDialog.java
@@ -9,7 +9,7 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.tab;
+package org.eclipse.rap.tools.launch.rwt.internal.tab;
 
 import org.eclipse.jdt.core.IType;
 import org.eclipse.jdt.core.JavaModelException;
diff --git a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/tab/HelpContextIds.java b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/tab/HelpContextIds.java
similarity index 90%
rename from bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/tab/HelpContextIds.java
rename to bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/tab/HelpContextIds.java
index 94c820e..28202cb 100644
--- a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/tab/HelpContextIds.java
+++ b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/tab/HelpContextIds.java
@@ -9,9 +9,9 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.tab;
+package org.eclipse.rap.tools.launch.rwt.internal.tab;
 
-import org.eclipse.rap.ui.internal.launch.rwt.RWTLaunchActivator;
+import org.eclipse.rap.tools.launch.rwt.internal.RWTLaunchActivator;
 import org.eclipse.swt.widgets.Control;
 import org.eclipse.ui.PlatformUI;
 import org.eclipse.ui.help.IWorkbenchHelpSystem;
diff --git a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/tab/JavaProjectSelectionDialog.java b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/tab/JavaProjectSelectionDialog.java
similarity index 95%
rename from bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/tab/JavaProjectSelectionDialog.java
rename to bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/tab/JavaProjectSelectionDialog.java
index 25e24ec..d9db93c 100644
--- a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/tab/JavaProjectSelectionDialog.java
+++ b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/tab/JavaProjectSelectionDialog.java
@@ -9,7 +9,7 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.tab;
+package org.eclipse.rap.tools.launch.rwt.internal.tab;
 
 import org.eclipse.core.resources.IWorkspaceRoot;
 import org.eclipse.core.resources.ResourcesPlugin;
@@ -17,7 +17,7 @@
 import org.eclipse.jdt.ui.JavaElementLabelProvider;
 import org.eclipse.jface.viewers.ILabelProvider;
 import org.eclipse.jface.window.Window;
-import org.eclipse.rap.ui.internal.launch.rwt.util.StatusUtil;
+import org.eclipse.rap.tools.launch.rwt.internal.util.StatusUtil;
 import org.eclipse.swt.widgets.Shell;
 import org.eclipse.ui.dialogs.ElementListSelectionDialog;
 
diff --git a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/tab/ProjectSection.java b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/tab/ProjectSection.java
similarity index 96%
rename from bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/tab/ProjectSection.java
rename to bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/tab/ProjectSection.java
index fb4c552..bad5423 100644
--- a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/tab/ProjectSection.java
+++ b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/tab/ProjectSection.java
@@ -9,12 +9,12 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.tab;
+package org.eclipse.rap.tools.launch.rwt.internal.tab;
 
 import org.eclipse.core.resources.IWorkspaceRoot;
 import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.jdt.core.*;
-import org.eclipse.rap.ui.internal.launch.rwt.config.RWTLaunchConfig;
+import org.eclipse.rap.tools.launch.rwt.internal.config.RWTLaunchConfig;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.*;
 import org.eclipse.swt.layout.GridData;
diff --git a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/tab/RAPSettingsSection.java b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/tab/RAPSettingsSection.java
similarity index 93%
rename from bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/tab/RAPSettingsSection.java
rename to bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/tab/RAPSettingsSection.java
index 99c39f4..c9a3a06 100644
--- a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/tab/RAPSettingsSection.java
+++ b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/tab/RAPSettingsSection.java
@@ -8,9 +8,9 @@
  * Contributors:
  *    EclipseSource - initial API and implementation
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.tab;
+package org.eclipse.rap.tools.launch.rwt.internal.tab;
 
-import org.eclipse.rap.ui.internal.launch.rwt.config.RWTLaunchConfig;
+import org.eclipse.rap.tools.launch.rwt.internal.config.RWTLaunchConfig;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.SelectionAdapter;
 import org.eclipse.swt.events.SelectionEvent;
diff --git a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/tab/RWTLaunchTab.java b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/tab/RWTLaunchTab.java
similarity index 92%
rename from bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/tab/RWTLaunchTab.java
rename to bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/tab/RWTLaunchTab.java
index 23a63d3..6e76109 100644
--- a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/tab/RWTLaunchTab.java
+++ b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/tab/RWTLaunchTab.java
@@ -9,14 +9,14 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.tab;
+package org.eclipse.rap.tools.launch.rwt.internal.tab;
 
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.debug.core.ILaunchConfiguration;
 import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
 import org.eclipse.jdt.debug.ui.launchConfigurations.JavaLaunchTab;
-import org.eclipse.rap.ui.internal.launch.rwt.config.RWTLaunchConfig;
-import org.eclipse.rap.ui.internal.launch.rwt.config.ValidationRunner;
+import org.eclipse.rap.tools.launch.rwt.internal.config.RWTLaunchConfig;
+import org.eclipse.rap.tools.launch.rwt.internal.config.ValidationRunner;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Label;
diff --git a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/tab/RWTLaunchTabGroup.java b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/tab/RWTLaunchTabGroup.java
similarity index 95%
rename from bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/tab/RWTLaunchTabGroup.java
rename to bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/tab/RWTLaunchTabGroup.java
index 4d72448..d23aee7 100644
--- a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/tab/RWTLaunchTabGroup.java
+++ b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/tab/RWTLaunchTabGroup.java
@@ -9,7 +9,7 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.tab;
+package org.eclipse.rap.tools.launch.rwt.internal.tab;
 
 import org.eclipse.debug.ui.*;
 import org.eclipse.debug.ui.sourcelookup.SourceLookupTab;
diff --git a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/tab/RWTMainTab.java b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/tab/RWTMainTab.java
similarity index 95%
rename from bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/tab/RWTMainTab.java
rename to bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/tab/RWTMainTab.java
index db9479b..19a79eb 100644
--- a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/tab/RWTMainTab.java
+++ b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/tab/RWTMainTab.java
@@ -9,14 +9,14 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.tab;
+package org.eclipse.rap.tools.launch.rwt.internal.tab;
 
 import org.eclipse.debug.core.ILaunchConfiguration;
 import org.eclipse.debug.core.ILaunchConfigurationListener;
 import org.eclipse.debug.ui.ILaunchConfigurationDialog;
 import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.rap.ui.internal.launch.rwt.config.RWTLaunchConfig;
-import org.eclipse.rap.ui.internal.launch.rwt.util.Images;
+import org.eclipse.rap.tools.launch.rwt.internal.config.RWTLaunchConfig;
+import org.eclipse.rap.tools.launch.rwt.internal.util.Images;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.graphics.Image;
 import org.eclipse.swt.layout.GridData;
diff --git a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/tab/SearchText.java b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/tab/SearchText.java
similarity index 97%
rename from bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/tab/SearchText.java
rename to bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/tab/SearchText.java
index 7c9d82c..6a0579f 100644
--- a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/tab/SearchText.java
+++ b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/tab/SearchText.java
@@ -9,7 +9,7 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.tab;
+package org.eclipse.rap.tools.launch.rwt.internal.tab;
 
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.ModifyListener;
diff --git a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/tab/ServerSettingsSection.java b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/tab/ServerSettingsSection.java
similarity index 96%
rename from bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/tab/ServerSettingsSection.java
rename to bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/tab/ServerSettingsSection.java
index d22255a..d7e67dc 100644
--- a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/tab/ServerSettingsSection.java
+++ b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/tab/ServerSettingsSection.java
@@ -9,10 +9,10 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.tab;
+package org.eclipse.rap.tools.launch.rwt.internal.tab;
 
 import org.eclipse.jface.layout.GridDataFactory;
-import org.eclipse.rap.ui.internal.launch.rwt.config.RWTLaunchConfig;
+import org.eclipse.rap.tools.launch.rwt.internal.config.RWTLaunchConfig;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.*;
 import org.eclipse.swt.layout.GridData;
diff --git a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/tab/VMArgumentsSection.java b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/tab/VMArgumentsSection.java
similarity index 96%
rename from bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/tab/VMArgumentsSection.java
rename to bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/tab/VMArgumentsSection.java
index 4a42dc4..cef6b33 100644
--- a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/tab/VMArgumentsSection.java
+++ b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/tab/VMArgumentsSection.java
@@ -9,10 +9,10 @@
  *     IBM Corporation - initial API and implementation
  *     Rüdiger Herrmann - adopted original code for use in RWT launcher
  *******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.tab;
+package org.eclipse.rap.tools.launch.rwt.internal.tab;
 
 import org.eclipse.debug.ui.StringVariableSelectionDialog;
-import org.eclipse.rap.ui.internal.launch.rwt.config.RWTLaunchConfig;
+import org.eclipse.rap.tools.launch.rwt.internal.config.RWTLaunchConfig;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.*;
 import org.eclipse.swt.layout.GridData;
diff --git a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/tab/WorkingDirectorySection.java b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/tab/WorkingDirectorySection.java
similarity index 92%
rename from bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/tab/WorkingDirectorySection.java
rename to bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/tab/WorkingDirectorySection.java
index 33f0138..3ed0b22 100644
--- a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/tab/WorkingDirectorySection.java
+++ b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/tab/WorkingDirectorySection.java
@@ -9,13 +9,13 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.tab;
+package org.eclipse.rap.tools.launch.rwt.internal.tab;
 
 import org.eclipse.core.resources.*;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.debug.core.ILaunchConfiguration;
 import org.eclipse.debug.ui.WorkingDirectoryBlock;
-import org.eclipse.rap.ui.internal.launch.rwt.config.RWTLaunchConfig;
+import org.eclipse.rap.tools.launch.rwt.internal.config.RWTLaunchConfig;
 
 
 public class WorkingDirectorySection extends WorkingDirectoryBlock {
diff --git a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/util/BundleFileLocator.java b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/util/BundleFileLocator.java
similarity index 94%
rename from bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/util/BundleFileLocator.java
rename to bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/util/BundleFileLocator.java
index 088cfff..36899a4 100644
--- a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/util/BundleFileLocator.java
+++ b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/util/BundleFileLocator.java
@@ -9,13 +9,13 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.util;
+package org.eclipse.rap.tools.launch.rwt.internal.util;
 
 import java.io.File;
 import java.io.IOException;
 
 import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.rap.ui.internal.launch.rwt.RWTLaunchActivator;
+import org.eclipse.rap.tools.launch.rwt.internal.RWTLaunchActivator;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleContext;
 
diff --git a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/util/DebugUtil.java b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/util/DebugUtil.java
similarity index 97%
rename from bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/util/DebugUtil.java
rename to bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/util/DebugUtil.java
index 9cd27b0..eb9191d 100644
--- a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/util/DebugUtil.java
+++ b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/util/DebugUtil.java
@@ -9,7 +9,7 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.util;
+package org.eclipse.rap.tools.launch.rwt.internal.util;
 
 import org.eclipse.debug.core.*;
 import org.eclipse.debug.core.model.RuntimeProcess;
diff --git a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/util/IOUtil.java b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/util/IOUtil.java
similarity index 98%
rename from bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/util/IOUtil.java
rename to bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/util/IOUtil.java
index 23cd727..11920d6 100644
--- a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/util/IOUtil.java
+++ b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/util/IOUtil.java
@@ -9,7 +9,7 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.util;
+package org.eclipse.rap.tools.launch.rwt.internal.util;
 
 import java.io.*;
 import java.nio.charset.Charset;
diff --git a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/util/Images.java b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/util/Images.java
similarity index 94%
rename from bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/util/Images.java
rename to bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/util/Images.java
index d5e8218..52b1620 100644
--- a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/util/Images.java
+++ b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/util/Images.java
@@ -8,7 +8,7 @@
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.util;
+package org.eclipse.rap.tools.launch.rwt.internal.util;
 
 import java.net.URL;
 
@@ -16,7 +16,7 @@
 import org.eclipse.core.runtime.Path;
 import org.eclipse.jface.resource.ImageDescriptor;
 import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.rap.ui.internal.launch.rwt.RWTLaunchActivator;
+import org.eclipse.rap.tools.launch.rwt.internal.RWTLaunchActivator;
 import org.eclipse.swt.graphics.Image;
 import org.eclipse.swt.widgets.Display;
 import org.osgi.framework.Bundle;
diff --git a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/util/StatusUtil.java b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/util/StatusUtil.java
similarity index 91%
rename from bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/util/StatusUtil.java
rename to bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/util/StatusUtil.java
index 7fad131..36f7af6 100644
--- a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/util/StatusUtil.java
+++ b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/util/StatusUtil.java
@@ -9,10 +9,10 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.util;
+package org.eclipse.rap.tools.launch.rwt.internal.util;
 
 import org.eclipse.core.runtime.*;
-import org.eclipse.rap.ui.internal.launch.rwt.RWTLaunchActivator;
+import org.eclipse.rap.tools.launch.rwt.internal.RWTLaunchActivator;
 import org.eclipse.ui.statushandlers.StatusManager;
 
 
diff --git a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/util/StringArrays.java b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/util/StringArrays.java
similarity index 95%
rename from bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/util/StringArrays.java
rename to bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/util/StringArrays.java
index dcebcdf..be71f78 100644
--- a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/util/StringArrays.java
+++ b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/util/StringArrays.java
@@ -9,7 +9,7 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.util;
+package org.eclipse.rap.tools.launch.rwt.internal.util;
 
 
 public class StringArrays {
diff --git a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/util/StringUtil.java b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/util/StringUtil.java
similarity index 93%
rename from bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/util/StringUtil.java
rename to bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/util/StringUtil.java
index a692d64..c01524a 100644
--- a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/util/StringUtil.java
+++ b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/util/StringUtil.java
@@ -8,7 +8,7 @@
  * Contributors:
  *    EclipseSource - initial API and implementation
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.util;
+package org.eclipse.rap.tools.launch.rwt.internal.util;
 
 
 public class StringUtil {
diff --git a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/util/TemplateParser.java b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/util/TemplateParser.java
similarity index 97%
rename from bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/util/TemplateParser.java
rename to bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/util/TemplateParser.java
index 0f16780..cb337c5 100644
--- a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/util/TemplateParser.java
+++ b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/util/TemplateParser.java
@@ -9,7 +9,7 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.util;
+package org.eclipse.rap.tools.launch.rwt.internal.util;
 
 import java.util.*;
 
diff --git a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/util/URLBuilder.java b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/util/URLBuilder.java
similarity index 94%
rename from bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/util/URLBuilder.java
rename to bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/util/URLBuilder.java
index 09330cd..c7893d0 100644
--- a/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/ui/internal/launch/rwt/util/URLBuilder.java
+++ b/bundles/org.eclipse.rap.tools.launch.rwt/src/org/eclipse/rap/tools/launch/rwt/internal/util/URLBuilder.java
@@ -8,9 +8,9 @@
  * Contributors:
  *    EclipseSource - initial API and implementation
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.util;
+package org.eclipse.rap.tools.launch.rwt.internal.util;
 
-import org.eclipse.rap.ui.internal.launch.rwt.config.RWTLaunchConfig;
+import org.eclipse.rap.tools.launch.rwt.internal.config.RWTLaunchConfig;
 
 
 public final class URLBuilder {
diff --git a/bundles/org.eclipse.rap.tools.launch/META-INF/MANIFEST.MF b/bundles/org.eclipse.rap.tools.launch/META-INF/MANIFEST.MF
index 22ddca1..d7d0084 100644
--- a/bundles/org.eclipse.rap.tools.launch/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.rap.tools.launch/META-INF/MANIFEST.MF
@@ -3,7 +3,7 @@
 Bundle-Name: %Bundle-Name
 Bundle-SymbolicName: org.eclipse.rap.tools.launch;singleton:=true
 Bundle-Version: 2.3.0.qualifier
-Bundle-Activator: org.eclipse.rap.ui.internal.launch.Activator
+Bundle-Activator: org.eclipse.rap.tools.launch.internal.Activator
 Require-Bundle: org.eclipse.core.runtime,
  org.eclipse.debug.ui,
  org.eclipse.jdt.core,
@@ -17,7 +17,7 @@
 Bundle-Vendor: %Bundle-Vendor
 Bundle-Localization: plugin
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Export-Package: org.eclipse.rap.ui.internal.launch;x-friends:="org.eclipse.rap.tools.tests",
- org.eclipse.rap.ui.internal.launch.junit;x-friends:="org.eclipse.rap.tools.tests",
- org.eclipse.rap.ui.internal.launch.tab;x-friends:="org.eclipse.rap.tools.tests",
- org.eclipse.rap.ui.internal.launch.util;x-friends:="org.eclipse.rap.tools.tests"
+Export-Package: org.eclipse.rap.tools.launch.internal;x-friends:="org.eclipse.rap.tools.tests",
+ org.eclipse.rap.tools.launch.internal.junit;x-friends:="org.eclipse.rap.tools.tests",
+ org.eclipse.rap.tools.launch.internal.tab;x-friends:="org.eclipse.rap.tools.tests",
+ org.eclipse.rap.tools.launch.internal.util;x-friends:="org.eclipse.rap.tools.tests"
diff --git a/bundles/org.eclipse.rap.tools.launch/plugin.xml b/bundles/org.eclipse.rap.tools.launch/plugin.xml
index 1612e44..1c780c1 100644
--- a/bundles/org.eclipse.rap.tools.launch/plugin.xml
+++ b/bundles/org.eclipse.rap.tools.launch/plugin.xml
@@ -4,7 +4,7 @@
    <extension
          point="org.eclipse.debug.core.launchConfigurationTypes">
       <launchConfigurationType
-            delegate="org.eclipse.rap.ui.internal.launch.RAPLaunchDelegate"
+            delegate="org.eclipse.rap.tools.launch.internal.RAPLaunchDelegate"
             delegateDescription="%launchConfigurationType.delegateDescription"
             delegateName="%launchConfigurationType.delegateName"
             id="org.eclipse.rap.ui.launch.RAPLauncher"
@@ -15,7 +15,7 @@
             sourcePathComputerId="org.eclipse.jdt.launching.sourceLookup.javaSourcePathComputer">
       </launchConfigurationType>
       <launchConfigurationType
-            delegate="org.eclipse.rap.ui.internal.launch.junit.RAPJUnitLaunchConfigurationDelegate"
+            delegate="org.eclipse.rap.tools.launch.internal.junit.RAPJUnitLaunchConfigurationDelegate"
             delegateDescription="%junitLaunchConfigurationType.delegateDescription"
             delegateName="%junitLaunchConfigurationType.delegateName"
             id="org.eclipse.rap.ui.launch.RAPJUnitTestLauncher"
@@ -31,20 +31,20 @@
       <launchConfigurationTypeImage
             configTypeID="org.eclipse.rap.ui.launch.RAPLauncher"
             icon="$nl$/icons/obj16/launcher.gif"
-            id="org.eclipse.rap.ui.launch.RAPLaunchImage">
+            id="org.eclipse.rap.tools.launch.RAPLaunchImage">
       </launchConfigurationTypeImage>
       <launchConfigurationTypeImage
             configTypeID="org.eclipse.rap.ui.launch.RAPJUnitTestLauncher"
             icon="$nl$/icons/obj16/rapjunitlaunch.gif"
-            id="org.eclipse.rap.ui.launch.RAPJUnitTestLaunchImage">
+            id="org.eclipse.rap.tools.launch.RAPJUnitTestLaunchImage">
       </launchConfigurationTypeImage>
    </extension>
    <extension
          point="org.eclipse.debug.ui.launchConfigurationTabGroups">
       <launchConfigurationTabGroup
-            class="org.eclipse.rap.ui.internal.launch.tab.RAPLaunchTabGroup"
+            class="org.eclipse.rap.tools.launch.internal.tab.RAPLaunchTabGroup"
             description="%launchConfigurationTabGroup.description"
-            id="org.eclipse.rap.ui.launch.RAPTabGroup"
+            id="org.eclipse.rap.tools.launch.RAPTabGroup"
             type="org.eclipse.rap.ui.launch.RAPLauncher">
          <launchMode
                description="%launchMode.run.description"
@@ -56,9 +56,9 @@
          </launchMode>
       </launchConfigurationTabGroup>
       <launchConfigurationTabGroup
-            class="org.eclipse.rap.ui.internal.launch.junit.RAPJUnitLaunchTabGroup"
+            class="org.eclipse.rap.tools.launch.internal.junit.RAPJUnitLaunchTabGroup"
             description="%junitLaunchConfigurationTabGroup.description"
-            id="org.eclipse.rap.ui.launch.RAPJUnitTabGroup"
+            id="org.eclipse.rap.tools.launch.RAPJUnitTabGroup"
             type="org.eclipse.rap.ui.launch.RAPJUnitTestLauncher">
          <launchMode
                description="%junitLaunchMode.run.description"
@@ -73,9 +73,9 @@
    <extension
          point="org.eclipse.debug.ui.launchShortcuts">
       <shortcut
-            class="org.eclipse.rap.ui.internal.launch.RAPLaunchShortcut"
+            class="org.eclipse.rap.tools.launch.internal.RAPLaunchShortcut"
             icon="$nl$/icons/obj16/launcher.gif"
-            id="org.eclipse.rap.ui.launch.RAPLaunchShortcut"
+            id="org.eclipse.rap.tools.launch.RAPLaunchShortcut"
             label="%launchShortcut.label"
             modes="run,debug">
          <configurationType
@@ -108,9 +108,9 @@
          </contextualLaunch>         
       </shortcut>
       <shortcut
-            class="org.eclipse.rap.ui.internal.launch.junit.RAPJUnitLaunchShortcut"
+            class="org.eclipse.rap.tools.launch.internal.junit.RAPJUnitLaunchShortcut"
             icon="$nl$/icons/obj16/rapjunitlaunch.gif"
-            id="org.eclipse.rap.ui.launch.RAPJUnitLaunchShortcut"
+            id="org.eclipse.rap.tools.launch.RAPJUnitLaunchShortcut"
             label="%junitLaunchShortcut.label"
             modes="run, debug">
          <configurationType
@@ -144,13 +144,13 @@
    <extension
          point="org.eclipse.pde.ui.launchShortcuts">
       <shortcut
-            id="org.eclipse.rap.ui.launch.RAPLaunchShortcut"
+            id="org.eclipse.rap.tools.launch.RAPLaunchShortcut"
             label="%pdeLaunchShortcut.run.label"
             mode="run"
             osgi="false">
       </shortcut>
       <shortcut
-            id="org.eclipse.rap.ui.launch.RAPLaunchShortcut"
+            id="org.eclipse.rap.tools.launch.RAPLaunchShortcut"
             label="%pdeLaunchShortcut.debug.label"
             mode="debug"
             osgi="false">
@@ -162,46 +162,46 @@
             name="%command.run.name"
             description="%command.run.description"
             categoryId="org.eclipse.debug.ui.category.run"
-            id="org.eclipse.rap.ui.launch.RAPLaunchShortcut.run">
+            id="org.eclipse.rap.tools.launch.RAPLaunchShortcut.run">
       </command>
       <command
             name="%command.debug.name"
             description="%command.debug.description"
             categoryId="org.eclipse.debug.ui.category.run"
-            id="org.eclipse.rap.ui.launch.RAPLaunchShortcut.debug">
+            id="org.eclipse.rap.tools.launch.RAPLaunchShortcut.debug">
       </command>
       <command
             name="%command.junit.run.name"
             description="%command.junit.run.description"
             categoryId="org.eclipse.debug.ui.category.run"
-            id="org.eclipse.rap.ui.launch.RAPJUnitLaunchShortcut.run">
+            id="org.eclipse.rap.tools.launch.RAPJUnitLaunchShortcut.run">
       </command>
       <command
             name="%command.junit.debug.name"
             description="%command.junit.debug.description"
             categoryId="org.eclipse.debug.ui.category.run"
-            id="org.eclipse.rap.ui.launch.RAPJUnitLaunchShortcut.debug">
+            id="org.eclipse.rap.tools.launch.RAPJUnitLaunchShortcut.debug">
       </command>
    </extension>
    <extension
          point="org.eclipse.ui.bindings">
       <key
-            commandId="org.eclipse.rap.ui.launch.RAPLaunchShortcut.run"
+            commandId="org.eclipse.rap.tools.launch.RAPLaunchShortcut.run"
             schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
             sequence="M3+M2+X R">
       </key>
       <key
-            commandId="org.eclipse.rap.ui.launch.RAPLaunchShortcut.debug"
+            commandId="org.eclipse.rap.tools.launch.RAPLaunchShortcut.debug"
             schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
             sequence="M3+M2+D R">
       </key>
       <key
-            commandId="org.eclipse.rap.ui.launch.RAPJUnitLaunchShortcut.run"
+            commandId="org.eclipse.rap.tools.launch.RAPJUnitLaunchShortcut.run"
             schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
             sequence="M3+M2+X U">
       </key>
       <key
-            commandId="org.eclipse.rap.ui.launch.RAPJUnitLaunchShortcut.debug"
+            commandId="org.eclipse.rap.tools.launch.RAPJUnitLaunchShortcut.debug"
             schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
             sequence="M3+M2+D U">
       </key>
@@ -209,9 +209,9 @@
   <extension
          point="org.eclipse.debug.core.statusHandlers">
       <statusHandler
-            class="org.eclipse.rap.ui.internal.launch.PortBusyStatusHandler"
+            class="org.eclipse.rap.tools.launch.internal.PortBusyStatusHandler"
             code="601"
-            id="org.eclipse.rap.ui.launch.portBusyStatusHandler"
+            id="org.eclipse.rap.tools.launch.portBusyStatusHandler"
             plugin="org.eclipse.rap.tools.launch">
       </statusHandler>
    </extension>   
diff --git a/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/ui/internal/launch/Activator.java b/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/tools/launch/internal/Activator.java
similarity index 96%
rename from bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/ui/internal/launch/Activator.java
rename to bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/tools/launch/internal/Activator.java
index 25084ac..1968794 100644
--- a/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/ui/internal/launch/Activator.java
+++ b/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/tools/launch/internal/Activator.java
@@ -10,7 +10,7 @@
  *    EclipseSource - ongoing development
  ******************************************************************************/
 
-package org.eclipse.rap.ui.internal.launch;
+package org.eclipse.rap.tools.launch.internal;
 
 
 import org.eclipse.ui.plugin.AbstractUIPlugin;
diff --git a/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/ui/internal/launch/LaunchMessages.java b/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/tools/launch/internal/LaunchMessages.java
similarity index 95%
rename from bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/ui/internal/launch/LaunchMessages.java
rename to bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/tools/launch/internal/LaunchMessages.java
index 92bb534..973aa12 100644
--- a/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/ui/internal/launch/LaunchMessages.java
+++ b/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/tools/launch/internal/LaunchMessages.java
@@ -8,13 +8,13 @@
  * Contributors:
  *    EclipseSource - initial API and implementation
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch;
+package org.eclipse.rap.tools.launch.internal;
 
 import org.eclipse.osgi.util.NLS;
 
 public class LaunchMessages extends NLS {
 
-  private static final String BUNDLE_NAME = "org.eclipse.rap.ui.internal.launch.messages"; //$NON-NLS-1$
+  private static final String BUNDLE_NAME = "org.eclipse.rap.tools.launch.internal.messages"; //$NON-NLS-1$
 
   public static String PortBusyStatusHandler_PortInUseMessage;
   public static String PortBusyStatusHandler_PortInUseTitle;
diff --git a/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/ui/internal/launch/PortBusyStatusHandler.java b/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/tools/launch/internal/PortBusyStatusHandler.java
similarity index 97%
rename from bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/ui/internal/launch/PortBusyStatusHandler.java
rename to bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/tools/launch/internal/PortBusyStatusHandler.java
index 094066a..47ad104 100644
--- a/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/ui/internal/launch/PortBusyStatusHandler.java
+++ b/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/tools/launch/internal/PortBusyStatusHandler.java
@@ -9,7 +9,7 @@
  *    Innoopract Informationssysteme GmbH - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch;
+package org.eclipse.rap.tools.launch.internal;
 
 import java.text.MessageFormat;
 
diff --git a/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/ui/internal/launch/RAPLaunchConfig.java b/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/tools/launch/internal/RAPLaunchConfig.java
similarity index 99%
rename from bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/ui/internal/launch/RAPLaunchConfig.java
rename to bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/tools/launch/internal/RAPLaunchConfig.java
index 96de22b..8788821 100644
--- a/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/ui/internal/launch/RAPLaunchConfig.java
+++ b/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/tools/launch/internal/RAPLaunchConfig.java
@@ -10,7 +10,7 @@
  *    EclipseSource - ongoing development
  ******************************************************************************/
 
-package org.eclipse.rap.ui.internal.launch;
+package org.eclipse.rap.tools.launch.internal;
 
 import java.text.MessageFormat;
 
diff --git a/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/ui/internal/launch/RAPLaunchConfigValidator.java b/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/tools/launch/internal/RAPLaunchConfigValidator.java
similarity index 99%
rename from bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/ui/internal/launch/RAPLaunchConfigValidator.java
rename to bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/tools/launch/internal/RAPLaunchConfigValidator.java
index b646a14..976c477 100644
--- a/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/ui/internal/launch/RAPLaunchConfigValidator.java
+++ b/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/tools/launch/internal/RAPLaunchConfigValidator.java
@@ -9,7 +9,7 @@
  *    Innoopract Informationssysteme GmbH - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch;
+package org.eclipse.rap.tools.launch.internal;
 
 import java.net.URI;
 import java.net.URISyntaxException;
diff --git a/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/ui/internal/launch/RAPLaunchDelegate.java b/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/tools/launch/internal/RAPLaunchDelegate.java
similarity index 98%
rename from bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/ui/internal/launch/RAPLaunchDelegate.java
rename to bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/tools/launch/internal/RAPLaunchDelegate.java
index 4ec1198..3334ed1 100644
--- a/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/ui/internal/launch/RAPLaunchDelegate.java
+++ b/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/tools/launch/internal/RAPLaunchDelegate.java
@@ -9,7 +9,7 @@
  *    Innoopract Informationssysteme GmbH - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch;
+package org.eclipse.rap.tools.launch.internal;
 
 import static java.util.Arrays.asList;
 import static org.eclipse.pde.internal.launching.launcher.LauncherUtils.clearWorkspace;
@@ -27,8 +27,8 @@
 import org.eclipse.debug.core.*;
 import org.eclipse.debug.core.model.RuntimeProcess;
 import org.eclipse.pde.launching.EquinoxLaunchConfiguration;
-import org.eclipse.rap.ui.internal.launch.RAPLaunchConfig.BrowserMode;
-import org.eclipse.rap.ui.internal.launch.util.ErrorUtil;
+import org.eclipse.rap.tools.launch.internal.RAPLaunchConfig.BrowserMode;
+import org.eclipse.rap.tools.launch.internal.util.ErrorUtil;
 import org.eclipse.swt.widgets.Display;
 import org.eclipse.ui.*;
 import org.eclipse.ui.browser.IWebBrowser;
diff --git a/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/ui/internal/launch/RAPLaunchShortcut.java b/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/tools/launch/internal/RAPLaunchShortcut.java
similarity index 96%
rename from bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/ui/internal/launch/RAPLaunchShortcut.java
rename to bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/tools/launch/internal/RAPLaunchShortcut.java
index 6517777..f1f4c9a 100644
--- a/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/ui/internal/launch/RAPLaunchShortcut.java
+++ b/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/tools/launch/internal/RAPLaunchShortcut.java
@@ -9,7 +9,7 @@
  *    Innoopract Informationssysteme GmbH - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch;
+package org.eclipse.rap.tools.launch.internal;
 
 import org.eclipse.debug.core.ILaunchConfiguration;
 import org.eclipse.jface.viewers.ISelection;
diff --git a/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/ui/internal/launch/URLBuilder.java b/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/tools/launch/internal/URLBuilder.java
similarity index 97%
rename from bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/ui/internal/launch/URLBuilder.java
rename to bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/tools/launch/internal/URLBuilder.java
index 5dc0011..ecfd68a 100644
--- a/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/ui/internal/launch/URLBuilder.java
+++ b/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/tools/launch/internal/URLBuilder.java
@@ -9,7 +9,7 @@
  *    Innoopract Informationssysteme GmbH - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch;
+package org.eclipse.rap.tools.launch.internal;
 
 import org.eclipse.core.runtime.CoreException;
 
diff --git a/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/ui/internal/launch/junit/RAPJUnitLaunchConfigurationDelegate.java b/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/tools/launch/internal/junit/RAPJUnitLaunchConfigurationDelegate.java
similarity index 96%
rename from bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/ui/internal/launch/junit/RAPJUnitLaunchConfigurationDelegate.java
rename to bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/tools/launch/internal/junit/RAPJUnitLaunchConfigurationDelegate.java
index 2999226..e5e07f1 100644
--- a/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/ui/internal/launch/junit/RAPJUnitLaunchConfigurationDelegate.java
+++ b/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/tools/launch/internal/junit/RAPJUnitLaunchConfigurationDelegate.java
@@ -9,7 +9,7 @@
  *    Innoopract Informationssysteme GmbH - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.junit;
+package org.eclipse.rap.tools.launch.internal.junit;
 
 import java.util.List;
 
@@ -23,8 +23,8 @@
 import org.eclipse.osgi.util.NLS;
 import org.eclipse.pde.core.plugin.*;
 import org.eclipse.pde.ui.launcher.EquinoxLaunchConfiguration;
-import org.eclipse.rap.ui.internal.launch.LaunchMessages;
-import org.eclipse.rap.ui.internal.launch.RAPLaunchDelegate;
+import org.eclipse.rap.tools.launch.internal.LaunchMessages;
+import org.eclipse.rap.tools.launch.internal.RAPLaunchDelegate;
 
 
 public class RAPJUnitLaunchConfigurationDelegate extends JUnitLaunchConfigurationDelegate {
diff --git a/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/ui/internal/launch/junit/RAPJUnitLaunchShortcut.java b/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/tools/launch/internal/junit/RAPJUnitLaunchShortcut.java
similarity index 93%
rename from bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/ui/internal/launch/junit/RAPJUnitLaunchShortcut.java
rename to bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/tools/launch/internal/junit/RAPJUnitLaunchShortcut.java
index b8d6443..b068813 100644
--- a/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/ui/internal/launch/junit/RAPJUnitLaunchShortcut.java
+++ b/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/tools/launch/internal/junit/RAPJUnitLaunchShortcut.java
@@ -9,14 +9,14 @@
  *    Innoopract Informationssysteme GmbH - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.junit;
+package org.eclipse.rap.tools.launch.internal.junit;
 
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
 import org.eclipse.jdt.core.IJavaElement;
 import org.eclipse.pde.ui.launcher.JUnitWorkbenchLaunchShortcut;
 import org.eclipse.pde.ui.launcher.OSGiLaunchShortcut;
-import org.eclipse.rap.ui.internal.launch.RAPLaunchConfig;
+import org.eclipse.rap.tools.launch.internal.RAPLaunchConfig;
 
 
 public final class RAPJUnitLaunchShortcut extends JUnitWorkbenchLaunchShortcut {
diff --git a/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/ui/internal/launch/junit/RAPJUnitLaunchTabGroup.java b/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/tools/launch/internal/junit/RAPJUnitLaunchTabGroup.java
similarity index 92%
rename from bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/ui/internal/launch/junit/RAPJUnitLaunchTabGroup.java
rename to bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/tools/launch/internal/junit/RAPJUnitLaunchTabGroup.java
index 18d7ead..3c74c3d 100644
--- a/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/ui/internal/launch/junit/RAPJUnitLaunchTabGroup.java
+++ b/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/tools/launch/internal/junit/RAPJUnitLaunchTabGroup.java
@@ -10,15 +10,15 @@
  *    EclipseSource - ongoing development
  ******************************************************************************/
 
-package org.eclipse.rap.ui.internal.launch.junit;
+package org.eclipse.rap.tools.launch.internal.junit;
 
 import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
 import org.eclipse.debug.ui.ILaunchConfigurationDialog;
 import org.eclipse.debug.ui.ILaunchConfigurationTab;
 import org.eclipse.jdt.junit.launcher.JUnitLaunchConfigurationTab;
 import org.eclipse.pde.ui.launcher.OSGiLauncherTabGroup;
-import org.eclipse.rap.ui.internal.launch.RAPLaunchConfig;
-import org.eclipse.rap.ui.internal.launch.tab.MainTab;
+import org.eclipse.rap.tools.launch.internal.RAPLaunchConfig;
+import org.eclipse.rap.tools.launch.internal.tab.MainTab;
 
 
 // TODO [rh] Could be replaced with org.eclipse.debug.ui.launchConfigurationTabs
diff --git a/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/ui/internal/launch/messages.properties b/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/tools/launch/internal/messages.properties
similarity index 100%
rename from bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/ui/internal/launch/messages.properties
rename to bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/tools/launch/internal/messages.properties
diff --git a/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/ui/internal/launch/tab/DataLocationBlock.java b/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/tools/launch/internal/tab/DataLocationBlock.java
similarity index 97%
rename from bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/ui/internal/launch/tab/DataLocationBlock.java
rename to bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/tools/launch/internal/tab/DataLocationBlock.java
index 68e796f..555c052 100644
--- a/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/ui/internal/launch/tab/DataLocationBlock.java
+++ b/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/tools/launch/internal/tab/DataLocationBlock.java
@@ -9,13 +9,13 @@
  *     IBM Corporation - initial implementation
  *     EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.tab;
+package org.eclipse.rap.tools.launch.internal.tab;
 
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.pde.internal.ui.PDEUIMessages;
 import org.eclipse.pde.internal.ui.launcher.BaseBlock;
 import org.eclipse.pde.ui.launcher.AbstractLauncherTab;
-import org.eclipse.rap.ui.internal.launch.RAPLaunchConfig;
+import org.eclipse.rap.tools.launch.internal.RAPLaunchConfig;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.SelectionAdapter;
 import org.eclipse.swt.events.SelectionEvent;
diff --git a/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/ui/internal/launch/tab/MainTab.java b/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/tools/launch/internal/tab/MainTab.java
similarity index 98%
rename from bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/ui/internal/launch/tab/MainTab.java
rename to bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/tools/launch/internal/tab/MainTab.java
index 0e742c9..456e18c 100644
--- a/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/ui/internal/launch/tab/MainTab.java
+++ b/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/tools/launch/internal/tab/MainTab.java
@@ -9,7 +9,7 @@
  *    Innoopract Informationssysteme GmbH - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.tab;
+package org.eclipse.rap.tools.launch.internal.tab;
 
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IStatus;
@@ -18,10 +18,10 @@
 import org.eclipse.jface.layout.GridDataFactory;
 import org.eclipse.jface.preference.PreferenceDialog;
 import org.eclipse.pde.ui.launcher.AbstractLauncherTab;
-import org.eclipse.rap.ui.internal.launch.*;
-import org.eclipse.rap.ui.internal.launch.RAPLaunchConfig.BrowserMode;
-import org.eclipse.rap.ui.internal.launch.util.ErrorUtil;
-import org.eclipse.rap.ui.internal.launch.util.Images;
+import org.eclipse.rap.tools.launch.internal.*;
+import org.eclipse.rap.tools.launch.internal.RAPLaunchConfig.BrowserMode;
+import org.eclipse.rap.tools.launch.internal.util.ErrorUtil;
+import org.eclipse.rap.tools.launch.internal.util.Images;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.*;
 import org.eclipse.swt.graphics.Image;
diff --git a/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/ui/internal/launch/tab/Messages.java b/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/tools/launch/internal/tab/Messages.java
similarity index 85%
rename from bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/ui/internal/launch/tab/Messages.java
rename to bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/tools/launch/internal/tab/Messages.java
index 5c89f74..55f5cb8 100644
--- a/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/ui/internal/launch/tab/Messages.java
+++ b/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/tools/launch/internal/tab/Messages.java
@@ -9,14 +9,14 @@
  *    Innoopract Informationssysteme GmbH - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.tab;
+package org.eclipse.rap.tools.launch.internal.tab;
 
 import org.eclipse.osgi.util.NLS;
 
 
 public class Messages extends NLS {
 
-  private static final String BUNDLE_NAME = "org.eclipse.rap.ui.internal.launch.tab.messages"; //$NON-NLS-1$
+  private static final String BUNDLE_NAME = "org.eclipse.rap.tools.launch.internal.tab.messages"; //$NON-NLS-1$
 
   public static String DataLocationBlock_ClearInstanceAreaLabel;
   public static String DataLocationBlock_InstanceAreaTitle;
diff --git a/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/ui/internal/launch/tab/RAPLaunchTabGroup.java b/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/tools/launch/internal/tab/RAPLaunchTabGroup.java
similarity index 96%
rename from bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/ui/internal/launch/tab/RAPLaunchTabGroup.java
rename to bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/tools/launch/internal/tab/RAPLaunchTabGroup.java
index c7fc1a5..f099bbb 100644
--- a/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/ui/internal/launch/tab/RAPLaunchTabGroup.java
+++ b/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/tools/launch/internal/tab/RAPLaunchTabGroup.java
@@ -9,7 +9,7 @@
  *    Innoopract Informationssysteme GmbH - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.tab;
+package org.eclipse.rap.tools.launch.internal.tab;
 
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
@@ -17,7 +17,7 @@
 import org.eclipse.debug.ui.ILaunchConfigurationTab;
 import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
 import org.eclipse.pde.ui.launcher.OSGiLauncherTabGroup;
-import org.eclipse.rap.ui.internal.launch.Activator;
+import org.eclipse.rap.tools.launch.internal.Activator;
 
 
 // TODO [rh] Could be replaced with org.eclipse.debug.ui.launchConfigurationTabs
diff --git a/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/ui/internal/launch/tab/messages.properties b/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/tools/launch/internal/tab/messages.properties
similarity index 100%
rename from bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/ui/internal/launch/tab/messages.properties
rename to bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/tools/launch/internal/tab/messages.properties
diff --git a/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/ui/internal/launch/util/ErrorUtil.java b/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/tools/launch/internal/util/ErrorUtil.java
similarity index 94%
rename from bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/ui/internal/launch/util/ErrorUtil.java
rename to bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/tools/launch/internal/util/ErrorUtil.java
index f6ada30..93d714f 100644
--- a/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/ui/internal/launch/util/ErrorUtil.java
+++ b/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/tools/launch/internal/util/ErrorUtil.java
@@ -9,13 +9,13 @@
  *    Innoopract Informationssysteme GmbH - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.util;
+package org.eclipse.rap.tools.launch.internal.util;
 
 import java.lang.reflect.InvocationTargetException;
 
 import org.eclipse.core.runtime.*;
 import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.rap.ui.internal.launch.Activator;
+import org.eclipse.rap.tools.launch.internal.Activator;
 import org.eclipse.swt.widgets.Display;
 
 
diff --git a/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/ui/internal/launch/util/Images.java b/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/tools/launch/internal/util/Images.java
similarity index 93%
rename from bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/ui/internal/launch/util/Images.java
rename to bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/tools/launch/internal/util/Images.java
index 01a4429..3a10542 100644
--- a/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/ui/internal/launch/util/Images.java
+++ b/bundles/org.eclipse.rap.tools.launch/src/org/eclipse/rap/tools/launch/internal/util/Images.java
@@ -9,13 +9,13 @@
  *    Innoopract Informationssysteme GmbH - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.util;
+package org.eclipse.rap.tools.launch.internal.util;
 
 import java.net.URL;
 
 import org.eclipse.core.runtime.*;
 import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.rap.ui.internal.launch.Activator;
+import org.eclipse.rap.tools.launch.internal.Activator;
 import org.osgi.framework.Bundle;
 
 
diff --git a/bundles/org.eclipse.rap.tools.templates/src/org/eclipse/rap/internal/ui/templates/rap/AbstractRAPWizard.java b/bundles/org.eclipse.rap.tools.templates/src/org/eclipse/rap/internal/ui/templates/rap/AbstractRAPWizard.java
index 6b8bab0..0876f44 100644
--- a/bundles/org.eclipse.rap.tools.templates/src/org/eclipse/rap/internal/ui/templates/rap/AbstractRAPWizard.java
+++ b/bundles/org.eclipse.rap.tools.templates/src/org/eclipse/rap/internal/ui/templates/rap/AbstractRAPWizard.java
@@ -222,7 +222,7 @@
     IHandlerService handlerService
       = ( IHandlerService )workbenchWindow.getService( IHandlerService.class );
     try {
-      handlerService.executeCommand( "org.eclipse.rap.ui.intro.installTarget", null ); //$NON-NLS-1$
+      handlerService.executeCommand( "org.eclipse.rap.tools.intro.installTarget", null ); //$NON-NLS-1$
     } catch( CommandException e ) {
       ILog log = Activator.getDefault().getLog();
       Status status = new Status( IStatus.ERROR, Activator.PLUGIN_ID, e.getLocalizedMessage(), e );
diff --git a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/config/BrowserMode_Test.java b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/config/BrowserMode_Test.java
similarity index 93%
rename from tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/config/BrowserMode_Test.java
rename to tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/config/BrowserMode_Test.java
index 1436a13..47d985e 100644
--- a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/config/BrowserMode_Test.java
+++ b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/config/BrowserMode_Test.java
@@ -9,10 +9,11 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.config;
+package org.eclipse.rap.tools.launch.rwt.internal.config;
 
 import static org.junit.Assert.assertSame;
 
+import org.eclipse.rap.tools.launch.rwt.internal.config.BrowserMode;
 import org.junit.Test;
 
 
diff --git a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/config/ContextPathValidator_Test.java b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/config/ContextPathValidator_Test.java
similarity index 88%
rename from tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/config/ContextPathValidator_Test.java
rename to tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/config/ContextPathValidator_Test.java
index ac724da..01417f7 100644
--- a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/config/ContextPathValidator_Test.java
+++ b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/config/ContextPathValidator_Test.java
@@ -8,12 +8,16 @@
  * Contributors:
  *    EclipseSource - initial API and implementation
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.config;
+package org.eclipse.rap.tools.launch.rwt.internal.config;
 
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
-import org.eclipse.rap.ui.internal.launch.rwt.tests.Fixture;
+import org.eclipse.rap.tools.launch.rwt.internal.config.ContextPathValidator;
+import org.eclipse.rap.tools.launch.rwt.internal.config.RWTLaunchConfig;
+import org.eclipse.rap.tools.launch.rwt.internal.config.ValidationResult;
+import org.eclipse.rap.tools.launch.rwt.internal.config.Validator;
+import org.eclipse.rap.tools.launch.rwt.internal.tests.Fixture;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/config/EntryPointValidator_Test.java b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/config/EntryPointValidator_Test.java
similarity index 76%
rename from tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/config/EntryPointValidator_Test.java
rename to tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/config/EntryPointValidator_Test.java
index b9e0fa6..f7a3832 100644
--- a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/config/EntryPointValidator_Test.java
+++ b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/config/EntryPointValidator_Test.java
@@ -9,14 +9,18 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.config;
+package org.eclipse.rap.tools.launch.rwt.internal.config;
 
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
-import org.eclipse.rap.ui.internal.launch.rwt.config.RWTLaunchConfig.LaunchTarget;
-import org.eclipse.rap.ui.internal.launch.rwt.tests.Fixture;
-import org.eclipse.rap.ui.internal.launch.rwt.tests.TestProject;
+import org.eclipse.rap.tools.launch.rwt.internal.config.EntryPointValidator;
+import org.eclipse.rap.tools.launch.rwt.internal.config.RWTLaunchConfig;
+import org.eclipse.rap.tools.launch.rwt.internal.config.ValidationResult;
+import org.eclipse.rap.tools.launch.rwt.internal.config.Validator;
+import org.eclipse.rap.tools.launch.rwt.internal.config.RWTLaunchConfig.LaunchTarget;
+import org.eclipse.rap.tools.launch.rwt.internal.tests.Fixture;
+import org.eclipse.rap.tools.launch.rwt.internal.tests.TestProject;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/config/ProjectValidator_Test.java b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/config/ProjectValidator_Test.java
similarity index 83%
rename from tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/config/ProjectValidator_Test.java
rename to tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/config/ProjectValidator_Test.java
index dab574b..e5ceda8 100644
--- a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/config/ProjectValidator_Test.java
+++ b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/config/ProjectValidator_Test.java
@@ -9,15 +9,19 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.config;
+package org.eclipse.rap.tools.launch.rwt.internal.config;
 
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
 import org.eclipse.core.runtime.CoreException;
-import org.eclipse.rap.ui.internal.launch.rwt.tests.Fixture;
-import org.eclipse.rap.ui.internal.launch.rwt.tests.TestProject;
+import org.eclipse.rap.tools.launch.rwt.internal.config.ProjectValidator;
+import org.eclipse.rap.tools.launch.rwt.internal.config.RWTLaunchConfig;
+import org.eclipse.rap.tools.launch.rwt.internal.config.ValidationResult;
+import org.eclipse.rap.tools.launch.rwt.internal.config.Validator;
+import org.eclipse.rap.tools.launch.rwt.internal.tests.Fixture;
+import org.eclipse.rap.tools.launch.rwt.internal.tests.TestProject;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/config/RWTLaunchConfig_Test.java b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/config/RWTLaunchConfig_Test.java
similarity index 94%
rename from tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/config/RWTLaunchConfig_Test.java
rename to tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/config/RWTLaunchConfig_Test.java
index e43677f..f73ec8e 100644
--- a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/config/RWTLaunchConfig_Test.java
+++ b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/config/RWTLaunchConfig_Test.java
@@ -9,7 +9,7 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.config;
+package org.eclipse.rap.tools.launch.rwt.internal.config;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
@@ -18,8 +18,10 @@
 
 import org.eclipse.debug.core.ILaunchConfigurationType;
 import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.rap.ui.internal.launch.rwt.config.RWTLaunchConfig.LaunchTarget;
-import org.eclipse.rap.ui.internal.launch.rwt.tests.Fixture;
+import org.eclipse.rap.tools.launch.rwt.internal.config.BrowserMode;
+import org.eclipse.rap.tools.launch.rwt.internal.config.RWTLaunchConfig;
+import org.eclipse.rap.tools.launch.rwt.internal.config.RWTLaunchConfig.LaunchTarget;
+import org.eclipse.rap.tools.launch.rwt.internal.tests.Fixture;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/config/ServletPathValidator_Test.java b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/config/ServletPathValidator_Test.java
similarity index 91%
rename from tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/config/ServletPathValidator_Test.java
rename to tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/config/ServletPathValidator_Test.java
index 41c7861..da46f45 100644
--- a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/config/ServletPathValidator_Test.java
+++ b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/config/ServletPathValidator_Test.java
@@ -9,12 +9,16 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.config;
+package org.eclipse.rap.tools.launch.rwt.internal.config;
 
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
-import org.eclipse.rap.ui.internal.launch.rwt.tests.Fixture;
+import org.eclipse.rap.tools.launch.rwt.internal.config.RWTLaunchConfig;
+import org.eclipse.rap.tools.launch.rwt.internal.config.ServletPathValidator;
+import org.eclipse.rap.tools.launch.rwt.internal.config.ValidationResult;
+import org.eclipse.rap.tools.launch.rwt.internal.config.Validator;
+import org.eclipse.rap.tools.launch.rwt.internal.tests.Fixture;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/config/ValidationResult_Test.java b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/config/ValidationResult_Test.java
similarity index 94%
rename from tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/config/ValidationResult_Test.java
rename to tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/config/ValidationResult_Test.java
index 33244e8..0123920 100644
--- a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/config/ValidationResult_Test.java
+++ b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/config/ValidationResult_Test.java
@@ -9,12 +9,13 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.config;
+package org.eclipse.rap.tools.launch.rwt.internal.config;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 
 import org.eclipse.core.runtime.IStatus;
+import org.eclipse.rap.tools.launch.rwt.internal.config.ValidationResult;
 import org.junit.Before;
 import org.junit.Test;
 
diff --git a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/config/ValidationRunner_Test.java b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/config/ValidationRunner_Test.java
similarity index 88%
rename from tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/config/ValidationRunner_Test.java
rename to tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/config/ValidationRunner_Test.java
index 2de4e99..f66df51 100644
--- a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/config/ValidationRunner_Test.java
+++ b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/config/ValidationRunner_Test.java
@@ -9,10 +9,11 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.config;
+package org.eclipse.rap.tools.launch.rwt.internal.config;
 
 import static org.junit.Assert.assertNotNull;
 
+import org.eclipse.rap.tools.launch.rwt.internal.config.ValidationRunner;
 import org.junit.Test;
 
 
diff --git a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/config/WebXmlLocationValidator_Test.java b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/config/WebXmlLocationValidator_Test.java
similarity index 80%
rename from tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/config/WebXmlLocationValidator_Test.java
rename to tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/config/WebXmlLocationValidator_Test.java
index ecb4e62..39f0fed 100644
--- a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/config/WebXmlLocationValidator_Test.java
+++ b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/config/WebXmlLocationValidator_Test.java
@@ -9,14 +9,18 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.config;
+package org.eclipse.rap.tools.launch.rwt.internal.config;
 
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
-import org.eclipse.rap.ui.internal.launch.rwt.config.RWTLaunchConfig.LaunchTarget;
-import org.eclipse.rap.ui.internal.launch.rwt.tests.Fixture;
-import org.eclipse.rap.ui.internal.launch.rwt.tests.TestProject;
+import org.eclipse.rap.tools.launch.rwt.internal.config.RWTLaunchConfig;
+import org.eclipse.rap.tools.launch.rwt.internal.config.ValidationResult;
+import org.eclipse.rap.tools.launch.rwt.internal.config.Validator;
+import org.eclipse.rap.tools.launch.rwt.internal.config.WebXmlLocationValidator;
+import org.eclipse.rap.tools.launch.rwt.internal.config.RWTLaunchConfig.LaunchTarget;
+import org.eclipse.rap.tools.launch.rwt.internal.tests.Fixture;
+import org.eclipse.rap.tools.launch.rwt.internal.tests.TestProject;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/delegate/BrowserOpener_Test.java b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/delegate/BrowserOpener_Test.java
similarity index 89%
rename from tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/delegate/BrowserOpener_Test.java
rename to tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/delegate/BrowserOpener_Test.java
index eff942f..15c074c 100644
--- a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/delegate/BrowserOpener_Test.java
+++ b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/delegate/BrowserOpener_Test.java
@@ -9,7 +9,7 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.delegate;
+package org.eclipse.rap.tools.launch.rwt.internal.delegate;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
@@ -18,10 +18,12 @@
 import java.net.ServerSocket;
 
 import org.eclipse.debug.core.ILaunch;
-import org.eclipse.rap.ui.internal.launch.rwt.config.BrowserMode;
-import org.eclipse.rap.ui.internal.launch.rwt.config.RWTLaunchConfig;
-import org.eclipse.rap.ui.internal.launch.rwt.tests.Fixture;
-import org.eclipse.rap.ui.internal.launch.rwt.tests.TestLaunch;
+import org.eclipse.rap.tools.launch.rwt.internal.config.BrowserMode;
+import org.eclipse.rap.tools.launch.rwt.internal.config.RWTLaunchConfig;
+import org.eclipse.rap.tools.launch.rwt.internal.delegate.BrowserOpener;
+import org.eclipse.rap.tools.launch.rwt.internal.delegate.RWTLaunch;
+import org.eclipse.rap.tools.launch.rwt.internal.tests.Fixture;
+import org.eclipse.rap.tools.launch.rwt.internal.tests.TestLaunch;
 import org.eclipse.ui.browser.IWebBrowser;
 import org.junit.After;
 import org.junit.Before;
diff --git a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/delegate/RWTLaunchDelegate_Test.java b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/delegate/RWTLaunchDelegate_Test.java
similarity index 92%
rename from tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/delegate/RWTLaunchDelegate_Test.java
rename to tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/delegate/RWTLaunchDelegate_Test.java
index 8a005eb..84f580a 100644
--- a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/delegate/RWTLaunchDelegate_Test.java
+++ b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/delegate/RWTLaunchDelegate_Test.java
@@ -9,7 +9,7 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.delegate;
+package org.eclipse.rap.tools.launch.rwt.internal.delegate;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
@@ -24,10 +24,11 @@
 import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
 import org.eclipse.jdt.core.IJavaProject;
 import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.rap.ui.internal.launch.rwt.config.RWTLaunchConfig;
-import org.eclipse.rap.ui.internal.launch.rwt.tests.Fixture;
-import org.eclipse.rap.ui.internal.launch.rwt.tests.TestLaunch;
-import org.eclipse.rap.ui.internal.launch.rwt.tests.TestProject;
+import org.eclipse.rap.tools.launch.rwt.internal.config.RWTLaunchConfig;
+import org.eclipse.rap.tools.launch.rwt.internal.delegate.RWTLaunchDelegate;
+import org.eclipse.rap.tools.launch.rwt.internal.tests.Fixture;
+import org.eclipse.rap.tools.launch.rwt.internal.tests.TestLaunch;
+import org.eclipse.rap.tools.launch.rwt.internal.tests.TestProject;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/delegate/RWTLaunch_Test.java b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/delegate/RWTLaunch_Test.java
similarity index 86%
rename from tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/delegate/RWTLaunch_Test.java
rename to tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/delegate/RWTLaunch_Test.java
index 3a5ee46..b9b2a6b 100644
--- a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/delegate/RWTLaunch_Test.java
+++ b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/delegate/RWTLaunch_Test.java
@@ -9,7 +9,7 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.delegate;
+package org.eclipse.rap.tools.launch.rwt.internal.delegate;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
@@ -21,10 +21,11 @@
 import java.io.IOException;
 
 import org.eclipse.debug.core.ILaunch;
-import org.eclipse.rap.ui.internal.launch.rwt.config.RWTLaunchConfig;
-import org.eclipse.rap.ui.internal.launch.rwt.tests.Fixture;
-import org.eclipse.rap.ui.internal.launch.rwt.tests.TestLaunch;
-import org.eclipse.rap.ui.internal.launch.rwt.tests.TestProject;
+import org.eclipse.rap.tools.launch.rwt.internal.config.RWTLaunchConfig;
+import org.eclipse.rap.tools.launch.rwt.internal.delegate.RWTLaunch;
+import org.eclipse.rap.tools.launch.rwt.internal.tests.Fixture;
+import org.eclipse.rap.tools.launch.rwt.internal.tests.TestLaunch;
+import org.eclipse.rap.tools.launch.rwt.internal.tests.TestProject;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/delegate/WebXmlProvider_Test.java b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/delegate/WebXmlProvider_Test.java
similarity index 85%
rename from tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/delegate/WebXmlProvider_Test.java
rename to tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/delegate/WebXmlProvider_Test.java
index be123f0..1458083 100644
--- a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/delegate/WebXmlProvider_Test.java
+++ b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/delegate/WebXmlProvider_Test.java
@@ -9,7 +9,7 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.delegate;
+package org.eclipse.rap.tools.launch.rwt.internal.delegate;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertTrue;
@@ -23,11 +23,13 @@
 import org.eclipse.core.runtime.NullProgressMonitor;
 import org.eclipse.core.runtime.Path;
 import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.rap.ui.internal.launch.rwt.config.RWTLaunchConfig;
-import org.eclipse.rap.ui.internal.launch.rwt.config.RWTLaunchConfig.LaunchTarget;
-import org.eclipse.rap.ui.internal.launch.rwt.tests.Fixture;
-import org.eclipse.rap.ui.internal.launch.rwt.tests.TestLaunch;
-import org.eclipse.rap.ui.internal.launch.rwt.tests.TestProject;
+import org.eclipse.rap.tools.launch.rwt.internal.config.RWTLaunchConfig;
+import org.eclipse.rap.tools.launch.rwt.internal.config.RWTLaunchConfig.LaunchTarget;
+import org.eclipse.rap.tools.launch.rwt.internal.delegate.RWTLaunch;
+import org.eclipse.rap.tools.launch.rwt.internal.delegate.WebXmlProvider;
+import org.eclipse.rap.tools.launch.rwt.internal.tests.Fixture;
+import org.eclipse.rap.tools.launch.rwt.internal.tests.TestLaunch;
+import org.eclipse.rap.tools.launch.rwt.internal.tests.TestProject;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/shortcut/EntryPointSearchEngine_Test.java b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/shortcut/EntryPointSearchEngine_Test.java
similarity index 97%
rename from tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/shortcut/EntryPointSearchEngine_Test.java
rename to tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/shortcut/EntryPointSearchEngine_Test.java
index 2dd332d..aedc6a0 100644
--- a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/shortcut/EntryPointSearchEngine_Test.java
+++ b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/shortcut/EntryPointSearchEngine_Test.java
@@ -9,7 +9,7 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.shortcut;
+package org.eclipse.rap.tools.launch.rwt.internal.shortcut;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
@@ -24,7 +24,8 @@
 import org.eclipse.jdt.core.IType;
 import org.eclipse.jface.operation.IRunnableContext;
 import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.rap.ui.internal.launch.rwt.tests.TestProject;
+import org.eclipse.rap.tools.launch.rwt.internal.shortcut.EntryPointSearchEngine;
+import org.eclipse.rap.tools.launch.rwt.internal.tests.TestProject;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/shortcut/JavaElementUtil_Test.java b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/shortcut/JavaElementUtil_Test.java
similarity index 90%
rename from tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/shortcut/JavaElementUtil_Test.java
rename to tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/shortcut/JavaElementUtil_Test.java
index 0d88089..7e767c7 100644
--- a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/shortcut/JavaElementUtil_Test.java
+++ b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/shortcut/JavaElementUtil_Test.java
@@ -9,7 +9,7 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.shortcut;
+package org.eclipse.rap.tools.launch.rwt.internal.shortcut;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNull;
@@ -18,7 +18,8 @@
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.jdt.core.IJavaElement;
 import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.rap.ui.internal.launch.rwt.tests.TestProject;
+import org.eclipse.rap.tools.launch.rwt.internal.shortcut.JavaElementUtil;
+import org.eclipse.rap.tools.launch.rwt.internal.tests.TestProject;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/shortcut/LaunchConfigCreator_Test.java b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/shortcut/LaunchConfigCreator_Test.java
similarity index 82%
rename from tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/shortcut/LaunchConfigCreator_Test.java
rename to tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/shortcut/LaunchConfigCreator_Test.java
index 96e890c..53d6328 100644
--- a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/shortcut/LaunchConfigCreator_Test.java
+++ b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/shortcut/LaunchConfigCreator_Test.java
@@ -9,7 +9,7 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.shortcut;
+package org.eclipse.rap.tools.launch.rwt.internal.shortcut;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
@@ -17,10 +17,11 @@
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.debug.core.ILaunchConfiguration;
 import org.eclipse.jdt.core.IType;
-import org.eclipse.rap.ui.internal.launch.rwt.config.BrowserMode;
-import org.eclipse.rap.ui.internal.launch.rwt.config.RWTLaunchConfig;
-import org.eclipse.rap.ui.internal.launch.rwt.config.RWTLaunchConfig.LaunchTarget;
-import org.eclipse.rap.ui.internal.launch.rwt.tests.TestProject;
+import org.eclipse.rap.tools.launch.rwt.internal.config.BrowserMode;
+import org.eclipse.rap.tools.launch.rwt.internal.config.RWTLaunchConfig;
+import org.eclipse.rap.tools.launch.rwt.internal.config.RWTLaunchConfig.LaunchTarget;
+import org.eclipse.rap.tools.launch.rwt.internal.shortcut.LaunchConfigCreator;
+import org.eclipse.rap.tools.launch.rwt.internal.tests.TestProject;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/shortcut/LaunchConfigFinder_Test.java b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/shortcut/LaunchConfigFinder_Test.java
similarity index 90%
rename from tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/shortcut/LaunchConfigFinder_Test.java
rename to tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/shortcut/LaunchConfigFinder_Test.java
index 533fb98..bac0e04 100644
--- a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/shortcut/LaunchConfigFinder_Test.java
+++ b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/shortcut/LaunchConfigFinder_Test.java
@@ -9,7 +9,7 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.shortcut;
+package org.eclipse.rap.tools.launch.rwt.internal.shortcut;
 
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNull;
@@ -19,11 +19,12 @@
 import org.eclipse.debug.core.ILaunchConfiguration;
 import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
 import org.eclipse.jdt.core.IType;
-import org.eclipse.rap.ui.internal.launch.rwt.config.RWTLaunchConfig;
-import org.eclipse.rap.ui.internal.launch.rwt.config.RWTLaunchConfig.LaunchTarget;
-import org.eclipse.rap.ui.internal.launch.rwt.shortcut.LaunchConfigFinder.LaunchConfigSelector;
-import org.eclipse.rap.ui.internal.launch.rwt.tests.Fixture;
-import org.eclipse.rap.ui.internal.launch.rwt.tests.TestProject;
+import org.eclipse.rap.tools.launch.rwt.internal.config.RWTLaunchConfig;
+import org.eclipse.rap.tools.launch.rwt.internal.config.RWTLaunchConfig.LaunchTarget;
+import org.eclipse.rap.tools.launch.rwt.internal.shortcut.LaunchConfigFinder;
+import org.eclipse.rap.tools.launch.rwt.internal.shortcut.LaunchConfigFinder.LaunchConfigSelector;
+import org.eclipse.rap.tools.launch.rwt.internal.tests.Fixture;
+import org.eclipse.rap.tools.launch.rwt.internal.tests.TestProject;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/shortcut/RWTLaunchShortcut_Test.java b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/shortcut/RWTLaunchShortcut_Test.java
similarity index 92%
rename from tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/shortcut/RWTLaunchShortcut_Test.java
rename to tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/shortcut/RWTLaunchShortcut_Test.java
index 68d78e3..9dda95e 100644
--- a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/shortcut/RWTLaunchShortcut_Test.java
+++ b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/shortcut/RWTLaunchShortcut_Test.java
@@ -9,7 +9,7 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.shortcut;
+package org.eclipse.rap.tools.launch.rwt.internal.shortcut;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
@@ -24,9 +24,10 @@
 import org.eclipse.jdt.core.IType;
 import org.eclipse.jface.operation.IRunnableContext;
 import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.rap.ui.internal.launch.rwt.config.RWTLaunchConfig;
-import org.eclipse.rap.ui.internal.launch.rwt.tests.Fixture;
-import org.eclipse.rap.ui.internal.launch.rwt.tests.TestProject;
+import org.eclipse.rap.tools.launch.rwt.internal.config.RWTLaunchConfig;
+import org.eclipse.rap.tools.launch.rwt.internal.shortcut.RWTLaunchShortcut;
+import org.eclipse.rap.tools.launch.rwt.internal.tests.Fixture;
+import org.eclipse.rap.tools.launch.rwt.internal.tests.TestProject;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/shortcut/RunnableContextHelper_Test.java b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/shortcut/RunnableContextHelper_Test.java
similarity index 93%
rename from tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/shortcut/RunnableContextHelper_Test.java
rename to tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/shortcut/RunnableContextHelper_Test.java
index 4f234e1..8dbf4d7 100644
--- a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/shortcut/RunnableContextHelper_Test.java
+++ b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/shortcut/RunnableContextHelper_Test.java
@@ -9,7 +9,7 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.shortcut;
+package org.eclipse.rap.tools.launch.rwt.internal.shortcut;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertSame;
@@ -25,8 +25,9 @@
 import org.eclipse.core.runtime.Status;
 import org.eclipse.jface.operation.IRunnableContext;
 import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.rap.ui.internal.launch.rwt.RWTLaunchActivator;
-import org.eclipse.rap.ui.internal.launch.rwt.shortcut.RunnableContextHelper.IContextRunnable;
+import org.eclipse.rap.tools.launch.rwt.internal.RWTLaunchActivator;
+import org.eclipse.rap.tools.launch.rwt.internal.shortcut.RunnableContextHelper;
+import org.eclipse.rap.tools.launch.rwt.internal.shortcut.RunnableContextHelper.IContextRunnable;
 import org.junit.Before;
 import org.junit.Test;
 
diff --git a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/tab/ArgumentsTab_Test.java b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/tab/ArgumentsTab_Test.java
similarity index 92%
rename from tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/tab/ArgumentsTab_Test.java
rename to tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/tab/ArgumentsTab_Test.java
index a3b1ef7..80011f4 100644
--- a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/tab/ArgumentsTab_Test.java
+++ b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/tab/ArgumentsTab_Test.java
@@ -9,7 +9,7 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.tab;
+package org.eclipse.rap.tools.launch.rwt.internal.tab;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
@@ -18,8 +18,10 @@
 import static org.junit.Assert.assertTrue;
 
 import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.rap.ui.internal.launch.rwt.config.RWTLaunchConfig;
-import org.eclipse.rap.ui.internal.launch.rwt.tests.Fixture;
+import org.eclipse.rap.tools.launch.rwt.internal.config.RWTLaunchConfig;
+import org.eclipse.rap.tools.launch.rwt.internal.tab.ArgumentsTab;
+import org.eclipse.rap.tools.launch.rwt.internal.tab.WorkingDirectorySection;
+import org.eclipse.rap.tools.launch.rwt.internal.tests.Fixture;
 import org.eclipse.swt.widgets.Shell;
 import org.junit.After;
 import org.junit.Before;
diff --git a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/tab/BrowserSection_Test.java b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/tab/BrowserSection_Test.java
similarity index 91%
rename from tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/tab/BrowserSection_Test.java
rename to tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/tab/BrowserSection_Test.java
index 87d44d8..3c9c1bc 100644
--- a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/tab/BrowserSection_Test.java
+++ b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/tab/BrowserSection_Test.java
@@ -9,11 +9,12 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.tab;
+package org.eclipse.rap.tools.launch.rwt.internal.tab;
 
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
+import org.eclipse.rap.tools.launch.rwt.internal.tab.BrowserSection;
 import org.eclipse.swt.widgets.Shell;
 import org.junit.After;
 import org.junit.Before;
diff --git a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/tab/EntryPointSection_Test.java b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/tab/EntryPointSection_Test.java
similarity index 90%
rename from tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/tab/EntryPointSection_Test.java
rename to tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/tab/EntryPointSection_Test.java
index 0907e4e..41bc0b6 100644
--- a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/tab/EntryPointSection_Test.java
+++ b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/tab/EntryPointSection_Test.java
@@ -9,10 +9,11 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.tab;
+package org.eclipse.rap.tools.launch.rwt.internal.tab;
 
 import static org.junit.Assert.assertTrue;
 
+import org.eclipse.rap.tools.launch.rwt.internal.tab.EntryPointSection;
 import org.eclipse.swt.widgets.Shell;
 import org.junit.After;
 import org.junit.Before;
diff --git a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/tab/JavaProjectSelectionDialog_Test.java b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/tab/JavaProjectSelectionDialog_Test.java
similarity index 88%
rename from tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/tab/JavaProjectSelectionDialog_Test.java
rename to tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/tab/JavaProjectSelectionDialog_Test.java
index 0516934..19d867a 100644
--- a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/tab/JavaProjectSelectionDialog_Test.java
+++ b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/tab/JavaProjectSelectionDialog_Test.java
@@ -9,14 +9,15 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.tab;
+package org.eclipse.rap.tools.launch.rwt.internal.tab;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNull;
 
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.rap.ui.internal.launch.rwt.tests.TestProject;
+import org.eclipse.rap.tools.launch.rwt.internal.tab.JavaProjectSelectionDialog;
+import org.eclipse.rap.tools.launch.rwt.internal.tests.TestProject;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/tab/ProjectSection_Test.java b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/tab/ProjectSection_Test.java
similarity index 91%
rename from tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/tab/ProjectSection_Test.java
rename to tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/tab/ProjectSection_Test.java
index 6efe25b..e19bc9e 100644
--- a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/tab/ProjectSection_Test.java
+++ b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/tab/ProjectSection_Test.java
@@ -9,11 +9,12 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.tab;
+package org.eclipse.rap.tools.launch.rwt.internal.tab;
 
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
+import org.eclipse.rap.tools.launch.rwt.internal.tab.ProjectSection;
 import org.eclipse.swt.widgets.Shell;
 import org.junit.After;
 import org.junit.Before;
diff --git a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/tab/RAPSettingsSection_Test.java b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/tab/RAPSettingsSection_Test.java
similarity index 91%
rename from tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/tab/RAPSettingsSection_Test.java
rename to tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/tab/RAPSettingsSection_Test.java
index 64d5cf1..8b05f73 100644
--- a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/tab/RAPSettingsSection_Test.java
+++ b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/tab/RAPSettingsSection_Test.java
@@ -8,11 +8,12 @@
  * Contributors:
  *    EclipseSource - initial API and implementation
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.tab;
+package org.eclipse.rap.tools.launch.rwt.internal.tab;
 
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
+import org.eclipse.rap.tools.launch.rwt.internal.tab.RAPSettingsSection;
 import org.eclipse.swt.widgets.Shell;
 import org.junit.After;
 import org.junit.Before;
diff --git a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/tab/RWTLaunchTabGroup_Test.java b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/tab/RWTLaunchTabGroup_Test.java
similarity index 86%
rename from tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/tab/RWTLaunchTabGroup_Test.java
rename to tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/tab/RWTLaunchTabGroup_Test.java
index 136bee1..5dc7d97 100644
--- a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/tab/RWTLaunchTabGroup_Test.java
+++ b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/tab/RWTLaunchTabGroup_Test.java
@@ -9,7 +9,7 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.tab;
+package org.eclipse.rap.tools.launch.rwt.internal.tab;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
@@ -20,6 +20,9 @@
 import org.eclipse.debug.ui.sourcelookup.SourceLookupTab;
 import org.eclipse.jdt.debug.ui.launchConfigurations.JavaClasspathTab;
 import org.eclipse.jdt.debug.ui.launchConfigurations.JavaJRETab;
+import org.eclipse.rap.tools.launch.rwt.internal.tab.ArgumentsTab;
+import org.eclipse.rap.tools.launch.rwt.internal.tab.RWTLaunchTabGroup;
+import org.eclipse.rap.tools.launch.rwt.internal.tab.RWTMainTab;
 import org.junit.Test;
 
 
diff --git a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/tab/RWTLaunchTab_Test.java b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/tab/RWTLaunchTab_Test.java
similarity index 94%
rename from tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/tab/RWTLaunchTab_Test.java
rename to tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/tab/RWTLaunchTab_Test.java
index 9733d8a..157ff07 100644
--- a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/tab/RWTLaunchTab_Test.java
+++ b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/tab/RWTLaunchTab_Test.java
@@ -9,7 +9,7 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.tab;
+package org.eclipse.rap.tools.launch.rwt.internal.tab;
 
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
@@ -20,8 +20,9 @@
 
 import org.eclipse.debug.core.ILaunchConfiguration;
 import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.rap.ui.internal.launch.rwt.config.RWTLaunchConfig;
-import org.eclipse.rap.ui.internal.launch.rwt.tests.Fixture;
+import org.eclipse.rap.tools.launch.rwt.internal.config.RWTLaunchConfig;
+import org.eclipse.rap.tools.launch.rwt.internal.tab.RWTLaunchTab;
+import org.eclipse.rap.tools.launch.rwt.internal.tests.Fixture;
 import org.eclipse.swt.widgets.Composite;
 import org.junit.After;
 import org.junit.Before;
diff --git a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/tab/RWTMainTab_Test.java b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/tab/RWTMainTab_Test.java
similarity index 91%
rename from tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/tab/RWTMainTab_Test.java
rename to tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/tab/RWTMainTab_Test.java
index 754d400..c1fe9a1 100644
--- a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/tab/RWTMainTab_Test.java
+++ b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/tab/RWTMainTab_Test.java
@@ -9,11 +9,12 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.tab;
+package org.eclipse.rap.tools.launch.rwt.internal.tab;
 
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
+import org.eclipse.rap.tools.launch.rwt.internal.tab.RWTMainTab;
 import org.eclipse.swt.widgets.Shell;
 import org.junit.After;
 import org.junit.Before;
diff --git a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/tab/SearchText_Test.java b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/tab/SearchText_Test.java
similarity index 90%
rename from tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/tab/SearchText_Test.java
rename to tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/tab/SearchText_Test.java
index 9af9944..f2fdf72 100644
--- a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/tab/SearchText_Test.java
+++ b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/tab/SearchText_Test.java
@@ -9,10 +9,11 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.tab;
+package org.eclipse.rap.tools.launch.rwt.internal.tab;
 
 import static org.junit.Assert.assertEquals;
 
+import org.eclipse.rap.tools.launch.rwt.internal.tab.SearchText;
 import org.eclipse.swt.widgets.Shell;
 import org.junit.After;
 import org.junit.Before;
diff --git a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/tab/ServerSettingsSection_Test.java b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/tab/ServerSettingsSection_Test.java
similarity index 91%
rename from tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/tab/ServerSettingsSection_Test.java
rename to tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/tab/ServerSettingsSection_Test.java
index cf16543..36f9b6f 100644
--- a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/tab/ServerSettingsSection_Test.java
+++ b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/tab/ServerSettingsSection_Test.java
@@ -9,11 +9,12 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.tab;
+package org.eclipse.rap.tools.launch.rwt.internal.tab;
 
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
+import org.eclipse.rap.tools.launch.rwt.internal.tab.ServerSettingsSection;
 import org.eclipse.swt.widgets.Shell;
 import org.junit.After;
 import org.junit.Before;
diff --git a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/tab/VMArgumentsSection_Test.java b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/tab/VMArgumentsSection_Test.java
similarity index 91%
rename from tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/tab/VMArgumentsSection_Test.java
rename to tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/tab/VMArgumentsSection_Test.java
index f534563..f75a4ed 100644
--- a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/tab/VMArgumentsSection_Test.java
+++ b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/tab/VMArgumentsSection_Test.java
@@ -9,11 +9,12 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.tab;
+package org.eclipse.rap.tools.launch.rwt.internal.tab;
 
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
+import org.eclipse.rap.tools.launch.rwt.internal.tab.VMArgumentsSection;
 import org.eclipse.swt.widgets.Shell;
 import org.junit.After;
 import org.junit.Before;
diff --git a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/tab/WorkingDirectorySection_Test.java b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/tab/WorkingDirectorySection_Test.java
similarity index 91%
rename from tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/tab/WorkingDirectorySection_Test.java
rename to tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/tab/WorkingDirectorySection_Test.java
index e4237f2..16a7bba 100644
--- a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/tab/WorkingDirectorySection_Test.java
+++ b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/tab/WorkingDirectorySection_Test.java
@@ -9,7 +9,7 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.tab;
+package org.eclipse.rap.tools.launch.rwt.internal.tab;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
@@ -22,9 +22,10 @@
 import org.eclipse.core.runtime.NullProgressMonitor;
 import org.eclipse.core.runtime.Status;
 import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.rap.ui.internal.launch.rwt.config.RWTLaunchConfig;
-import org.eclipse.rap.ui.internal.launch.rwt.tests.Fixture;
-import org.eclipse.rap.ui.internal.launch.rwt.tests.TestProject;
+import org.eclipse.rap.tools.launch.rwt.internal.config.RWTLaunchConfig;
+import org.eclipse.rap.tools.launch.rwt.internal.tab.WorkingDirectorySection;
+import org.eclipse.rap.tools.launch.rwt.internal.tests.Fixture;
+import org.eclipse.rap.tools.launch.rwt.internal.tests.TestProject;
 import org.eclipse.swt.widgets.Shell;
 import org.junit.After;
 import org.junit.Before;
diff --git a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/tests/Fixture.java b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/tests/Fixture.java
similarity index 95%
rename from tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/tests/Fixture.java
rename to tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/tests/Fixture.java
index 33dbfef..902d28e 100644
--- a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/tests/Fixture.java
+++ b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/tests/Fixture.java
@@ -9,7 +9,7 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - adaptation for RAP
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.tests;
+package org.eclipse.rap.tools.launch.rwt.internal.tests;
 
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
@@ -24,7 +24,7 @@
 import org.eclipse.debug.core.ILaunchConfigurationType;
 import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
 import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.rap.ui.internal.launch.rwt.config.RWTLaunchConfig;
+import org.eclipse.rap.tools.launch.rwt.internal.config.RWTLaunchConfig;
 
 
 public final class Fixture {
diff --git a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/tests/TestLaunch.java b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/tests/TestLaunch.java
similarity index 97%
rename from tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/tests/TestLaunch.java
rename to tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/tests/TestLaunch.java
index b2e3a38..b74c682 100644
--- a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/tests/TestLaunch.java
+++ b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/tests/TestLaunch.java
@@ -9,7 +9,7 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.tests;
+package org.eclipse.rap.tools.launch.rwt.internal.tests;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/tests/TestProcess.java b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/tests/TestProcess.java
similarity index 96%
rename from tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/tests/TestProcess.java
rename to tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/tests/TestProcess.java
index edb6074..de0a5c2 100644
--- a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/tests/TestProcess.java
+++ b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/tests/TestProcess.java
@@ -9,7 +9,7 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.tests;
+package org.eclipse.rap.tools.launch.rwt.internal.tests;
 
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
diff --git a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/tests/TestProject.java b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/tests/TestProject.java
similarity index 98%
rename from tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/tests/TestProject.java
rename to tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/tests/TestProject.java
index 17fa483..6113b7c 100644
--- a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/tests/TestProject.java
+++ b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/tests/TestProject.java
@@ -9,7 +9,7 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.tests;
+package org.eclipse.rap.tools.launch.rwt.internal.tests;
 
 import java.io.InputStream;
 import java.util.LinkedList;
diff --git a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/util/BundleFileLocator_Test.java b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/util/BundleFileLocator_Test.java
similarity index 90%
rename from tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/util/BundleFileLocator_Test.java
rename to tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/util/BundleFileLocator_Test.java
index ed3d00a..b99b2c5 100644
--- a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/util/BundleFileLocator_Test.java
+++ b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/util/BundleFileLocator_Test.java
@@ -9,7 +9,7 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.util;
+package org.eclipse.rap.tools.launch.rwt.internal.util;
 
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
@@ -18,6 +18,7 @@
 
 import java.io.File;
 
+import org.eclipse.rap.tools.launch.rwt.internal.util.BundleFileLocator;
 import org.junit.Test;
 
 
diff --git a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/util/DebugUtil_Test.java b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/util/DebugUtil_Test.java
similarity index 94%
rename from tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/util/DebugUtil_Test.java
rename to tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/util/DebugUtil_Test.java
index d206439..d48b749 100644
--- a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/util/DebugUtil_Test.java
+++ b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/util/DebugUtil_Test.java
@@ -9,7 +9,7 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.util;
+package org.eclipse.rap.tools.launch.rwt.internal.util;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
@@ -26,10 +26,11 @@
 import org.eclipse.debug.core.ILaunch;
 import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
 import org.eclipse.debug.core.model.RuntimeProcess;
-import org.eclipse.rap.ui.internal.launch.rwt.config.RWTLaunchConfig;
-import org.eclipse.rap.ui.internal.launch.rwt.tests.Fixture;
-import org.eclipse.rap.ui.internal.launch.rwt.tests.TestLaunch;
-import org.eclipse.rap.ui.internal.launch.rwt.tests.TestProcess;
+import org.eclipse.rap.tools.launch.rwt.internal.config.RWTLaunchConfig;
+import org.eclipse.rap.tools.launch.rwt.internal.tests.Fixture;
+import org.eclipse.rap.tools.launch.rwt.internal.tests.TestLaunch;
+import org.eclipse.rap.tools.launch.rwt.internal.tests.TestProcess;
+import org.eclipse.rap.tools.launch.rwt.internal.util.DebugUtil;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/util/IOUtil_Test.java b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/util/IOUtil_Test.java
similarity index 97%
rename from tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/util/IOUtil_Test.java
rename to tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/util/IOUtil_Test.java
index 59855bc..d8b360e 100644
--- a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/util/IOUtil_Test.java
+++ b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/util/IOUtil_Test.java
@@ -9,7 +9,7 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.util;
+package org.eclipse.rap.tools.launch.rwt.internal.util;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
@@ -23,7 +23,8 @@
 import java.io.IOException;
 import java.io.InputStream;
 
-import org.eclipse.rap.ui.internal.launch.rwt.tests.Fixture;
+import org.eclipse.rap.tools.launch.rwt.internal.tests.Fixture;
+import org.eclipse.rap.tools.launch.rwt.internal.util.IOUtil;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/util/StringArrays_Test.java b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/util/StringArrays_Test.java
similarity index 93%
rename from tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/util/StringArrays_Test.java
rename to tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/util/StringArrays_Test.java
index 640f81b..fc03217 100644
--- a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/util/StringArrays_Test.java
+++ b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/util/StringArrays_Test.java
@@ -9,12 +9,13 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.util;
+package org.eclipse.rap.tools.launch.rwt.internal.util;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
+import org.eclipse.rap.tools.launch.rwt.internal.util.StringArrays;
 import org.junit.Test;
 
 
diff --git a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/util/TemplateParser_Test.java b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/util/TemplateParser_Test.java
similarity index 96%
rename from tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/util/TemplateParser_Test.java
rename to tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/util/TemplateParser_Test.java
index fc2ce0b..f5c5951 100644
--- a/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/ui/internal/launch/rwt/util/TemplateParser_Test.java
+++ b/tests/org.eclipse.rap.tools.launch.rwt.test/src/org/eclipse/rap/tools/launch/rwt/internal/util/TemplateParser_Test.java
@@ -9,10 +9,11 @@
  *    Rüdiger Herrmann - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.rwt.util;
+package org.eclipse.rap.tools.launch.rwt.internal.util;
 
 import static org.junit.Assert.assertEquals;
 
+import org.eclipse.rap.tools.launch.rwt.internal.util.TemplateParser;
 import org.junit.Test;
 
 
diff --git a/tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/ui/tests/Fixture.java b/tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/tools/internal/tests/Fixture.java
similarity index 98%
rename from tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/ui/tests/Fixture.java
rename to tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/tools/internal/tests/Fixture.java
index 1f3ee96..7318d77 100644
--- a/tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/ui/tests/Fixture.java
+++ b/tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/tools/internal/tests/Fixture.java
@@ -8,7 +8,7 @@
  * Contributors:
  *    EclipseSource - initial API and implementation
  ******************************************************************************/
-package org.eclipse.rap.ui.tests;
+package org.eclipse.rap.tools.internal.tests;
 
 import java.io.BufferedWriter;
 import java.io.File;
diff --git a/tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/ui/tests/TargetUtil.java b/tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/tools/internal/tests/TargetUtil.java
similarity index 98%
rename from tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/ui/tests/TargetUtil.java
rename to tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/tools/internal/tests/TargetUtil.java
index fc9a659..4cbc52d 100644
--- a/tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/ui/tests/TargetUtil.java
+++ b/tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/tools/internal/tests/TargetUtil.java
@@ -10,7 +10,7 @@
  *    Mickael Istria (EBM Websourcing) - Support for target platform creation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.tests;
+package org.eclipse.rap.tools.internal.tests;
 
 import java.io.File;
 import java.util.ArrayList;
diff --git a/tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/ui/tests/TestPluginProject.java b/tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/tools/internal/tests/TestPluginProject.java
similarity index 99%
rename from tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/ui/tests/TestPluginProject.java
rename to tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/tools/internal/tests/TestPluginProject.java
index 7345563..432d0a0 100644
--- a/tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/ui/tests/TestPluginProject.java
+++ b/tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/tools/internal/tests/TestPluginProject.java
@@ -8,7 +8,7 @@
  * Contributors:
  *    EclipseSource - initial API and implementation
  ******************************************************************************/
-package org.eclipse.rap.ui.tests;
+package org.eclipse.rap.tools.internal.tests;
 
 import java.io.ByteArrayInputStream;
 import java.io.InputStream;
diff --git a/tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/ui/internal/intro/ErrorUtil_Test.java b/tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/tools/intro/internal/ErrorUtil_Test.java
similarity index 94%
rename from tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/ui/internal/intro/ErrorUtil_Test.java
rename to tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/tools/intro/internal/ErrorUtil_Test.java
index 42e02af..4188702 100644
--- a/tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/ui/internal/intro/ErrorUtil_Test.java
+++ b/tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/tools/intro/internal/ErrorUtil_Test.java
@@ -8,13 +8,14 @@
  * Contributors:
  *    EclipseSource - initial API and implementation
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.intro;
+package org.eclipse.rap.tools.intro.internal;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertSame;
 
 import org.eclipse.core.runtime.IStatus;
+import org.eclipse.rap.tools.intro.internal.ErrorUtil;
 import org.junit.Test;
 
 
diff --git a/tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/ui/internal/intro/target/TargetProvider_Test.java b/tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/tools/intro/internal/target/TargetProvider_Test.java
similarity index 94%
rename from tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/ui/internal/intro/target/TargetProvider_Test.java
rename to tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/tools/intro/internal/target/TargetProvider_Test.java
index 3ed663b..0620adf 100644
--- a/tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/ui/internal/intro/target/TargetProvider_Test.java
+++ b/tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/tools/intro/internal/target/TargetProvider_Test.java
@@ -8,7 +8,7 @@
  * Contributors:
  *    EclipseSource - initial API and implementation
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.intro.target;
+package org.eclipse.rap.tools.intro.internal.target;
 
 import static org.junit.Assert.assertTrue;
 
@@ -21,7 +21,8 @@
 
 import org.eclipse.core.runtime.NullProgressMonitor;
 import org.eclipse.core.runtime.Path;
-import org.eclipse.rap.ui.tests.Fixture;
+import org.eclipse.rap.tools.internal.tests.Fixture;
+import org.eclipse.rap.tools.intro.internal.target.TargetProvider;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/ui/internal/intro/target/TargetSwitcher_Test.java b/tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/tools/intro/internal/target/TargetSwitcher_Test.java
similarity index 98%
rename from tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/ui/internal/intro/target/TargetSwitcher_Test.java
rename to tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/tools/intro/internal/target/TargetSwitcher_Test.java
index 2b57eff..e89e4b9 100644
--- a/tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/ui/internal/intro/target/TargetSwitcher_Test.java
+++ b/tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/tools/intro/internal/target/TargetSwitcher_Test.java
@@ -8,7 +8,7 @@
  * Contributors:
  *    EclipseSource - initial API and implementation
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.intro.target;
+package org.eclipse.rap.tools.intro.internal.target;
 
 import static java.util.Arrays.asList;
 import static org.junit.Assert.assertEquals;
@@ -35,7 +35,8 @@
 import org.eclipse.pde.core.target.ITargetHandle;
 import org.eclipse.pde.core.target.ITargetPlatformService;
 import org.eclipse.pde.internal.core.PDECore;
-import org.eclipse.rap.ui.tests.Fixture;
+import org.eclipse.rap.tools.internal.tests.Fixture;
+import org.eclipse.rap.tools.intro.internal.target.TargetSwitcher;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/ui/internal/launch/RAPLaunchConfigValidator_Test.java b/tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/tools/launch/internal/RAPLaunchConfigValidator_Test.java
similarity index 96%
rename from tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/ui/internal/launch/RAPLaunchConfigValidator_Test.java
rename to tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/tools/launch/internal/RAPLaunchConfigValidator_Test.java
index 7ada5ba..d4d3928 100644
--- a/tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/ui/internal/launch/RAPLaunchConfigValidator_Test.java
+++ b/tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/tools/launch/internal/RAPLaunchConfigValidator_Test.java
@@ -11,7 +11,7 @@
  *    IBM Corporation - original code for feature project creation, from PDE test cases
  *    Cole Markham - feature-based validation testing
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch;
+package org.eclipse.rap.tools.launch.internal;
 
 import static org.junit.Assert.assertTrue;
 
@@ -26,8 +26,10 @@
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.NullProgressMonitor;
 import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.rap.ui.tests.Fixture;
-import org.eclipse.rap.ui.tests.TestPluginProject;
+import org.eclipse.rap.tools.internal.tests.Fixture;
+import org.eclipse.rap.tools.internal.tests.TestPluginProject;
+import org.eclipse.rap.tools.launch.internal.RAPLaunchConfig;
+import org.eclipse.rap.tools.launch.internal.RAPLaunchConfigValidator;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/ui/internal/launch/RAPLaunchConfig_Test.java b/tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/tools/launch/internal/RAPLaunchConfig_Test.java
similarity index 95%
rename from tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/ui/internal/launch/RAPLaunchConfig_Test.java
rename to tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/tools/launch/internal/RAPLaunchConfig_Test.java
index e0ef587..bb2b73b 100644
--- a/tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/ui/internal/launch/RAPLaunchConfig_Test.java
+++ b/tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/tools/launch/internal/RAPLaunchConfig_Test.java
@@ -9,7 +9,7 @@
  *    Innoopract Informationssysteme GmbH - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch;
+package org.eclipse.rap.tools.launch.internal;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
@@ -18,7 +18,8 @@
 
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.rap.ui.tests.Fixture;
+import org.eclipse.rap.tools.internal.tests.Fixture;
+import org.eclipse.rap.tools.launch.internal.RAPLaunchConfig;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/ui/internal/launch/RAPLaunchDelegate_Test.java b/tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/tools/launch/internal/RAPLaunchDelegate_Test.java
similarity index 96%
rename from tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/ui/internal/launch/RAPLaunchDelegate_Test.java
rename to tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/tools/launch/internal/RAPLaunchDelegate_Test.java
index b90d4e9..864bd5a 100644
--- a/tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/ui/internal/launch/RAPLaunchDelegate_Test.java
+++ b/tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/tools/launch/internal/RAPLaunchDelegate_Test.java
@@ -9,7 +9,7 @@
  *    Innoopract Informationssysteme GmbH - initial API and implementation
  *    EclipseSource - ongoing development
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch;
+package org.eclipse.rap.tools.launch.internal;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
@@ -26,8 +26,10 @@
 import org.eclipse.core.variables.VariablesPlugin;
 import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
 import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.rap.ui.tests.Fixture;
-import org.eclipse.rap.ui.tests.TargetUtil;
+import org.eclipse.rap.tools.internal.tests.Fixture;
+import org.eclipse.rap.tools.internal.tests.TargetUtil;
+import org.eclipse.rap.tools.launch.internal.RAPLaunchConfig;
+import org.eclipse.rap.tools.launch.internal.RAPLaunchDelegate;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.BeforeClass;
diff --git a/tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/ui/internal/launch/tab/RAPLaunchTabGroup_Test.java b/tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/tools/launch/internal/tab/RAPLaunchTabGroup_Test.java
similarity index 90%
rename from tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/ui/internal/launch/tab/RAPLaunchTabGroup_Test.java
rename to tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/tools/launch/internal/tab/RAPLaunchTabGroup_Test.java
index 130ebe5..8826bc6 100644
--- a/tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/ui/internal/launch/tab/RAPLaunchTabGroup_Test.java
+++ b/tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/tools/launch/internal/tab/RAPLaunchTabGroup_Test.java
@@ -8,7 +8,7 @@
  * Contributors:
  *    EclipseSource - initial API and implementation
  ******************************************************************************/
-package org.eclipse.rap.ui.internal.launch.tab;
+package org.eclipse.rap.tools.launch.internal.tab;
 
 import static org.junit.Assert.assertTrue;
 
@@ -16,7 +16,8 @@
 import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
 import org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationDialog;
 import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.rap.ui.tests.Fixture;
+import org.eclipse.rap.tools.internal.tests.Fixture;
+import org.eclipse.rap.tools.launch.internal.tab.RAPLaunchTabGroup;
 import org.junit.Test;
 
 
diff --git a/tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/ui/launch/internal/util/URLBuilder_Test.java b/tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/tools/launch/internal/util/URLBuilder_Test.java
similarity index 92%
rename from tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/ui/launch/internal/util/URLBuilder_Test.java
rename to tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/tools/launch/internal/util/URLBuilder_Test.java
index 9a69904..8c7d3e9 100644
--- a/tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/ui/launch/internal/util/URLBuilder_Test.java
+++ b/tests/org.eclipse.rap.tools.tests/src/org/eclipse/rap/tools/launch/internal/util/URLBuilder_Test.java
@@ -8,15 +8,15 @@
  * Contributors:
  *    EclipseSource - initial API and implementation
  ******************************************************************************/
-package org.eclipse.rap.ui.launch.internal.util;
+package org.eclipse.rap.tools.launch.internal.util;
 
 import static org.junit.Assert.assertEquals;
 
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.rap.ui.internal.launch.RAPLaunchConfig;
-import org.eclipse.rap.ui.internal.launch.URLBuilder;
-import org.eclipse.rap.ui.tests.Fixture;
+import org.eclipse.rap.tools.internal.tests.Fixture;
+import org.eclipse.rap.tools.launch.internal.RAPLaunchConfig;
+import org.eclipse.rap.tools.launch.internal.URLBuilder;
 import org.junit.Before;
 import org.junit.Test;
 
