diff --git a/examples/plugins/org.eclipse.bpel.extensionsample.model/plugin.properties b/examples/plugins/org.eclipse.bpel.extensionsample.model/plugin.properties
index 6901633..3f6fce3 100644
--- a/examples/plugins/org.eclipse.bpel.extensionsample.model/plugin.properties
+++ b/examples/plugins/org.eclipse.bpel.extensionsample.model/plugin.properties
@@ -5,4 +5,4 @@
 # $Id: plugin.properties,v 1.1 2008/09/15 15:44:28 smoser Exp $
 
 pluginName = Extensionsample Model
-providerName = www.example.org
+providerName = Eclipse.org
diff --git a/features/org.eclipse.bpel.apache.ode.runtime.feature/.project b/features/org.eclipse.bpel.apache.ode.runtime.feature/.project
new file mode 100644
index 0000000..03b00ef
--- /dev/null
+++ b/features/org.eclipse.bpel.apache.ode.runtime.feature/.project
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.bpel.apache.ode.runtime.feature</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.FeatureBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.maven.ide.eclipse.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.maven.ide.eclipse.maven2Nature</nature>
+		<nature>org.eclipse.pde.FeatureNature</nature>
+	</natures>
+</projectDescription>
diff --git a/features/org.eclipse.bpel.apache.ode.runtime.feature/build.properties b/features/org.eclipse.bpel.apache.ode.runtime.feature/build.properties
new file mode 100644
index 0000000..1e84853
--- /dev/null
+++ b/features/org.eclipse.bpel.apache.ode.runtime.feature/build.properties
@@ -0,0 +1,4 @@
+bin.includes = feature.xml
+src.includes = feature.xml,\
+               build.properties,\
+               .project
diff --git a/features/org.eclipse.bpel.apache.ode.runtime.feature/feature.xml b/features/org.eclipse.bpel.apache.ode.runtime.feature/feature.xml
new file mode 100644
index 0000000..c1d0ea2
--- /dev/null
+++ b/features/org.eclipse.bpel.apache.ode.runtime.feature/feature.xml
@@ -0,0 +1,257 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+      id="org.eclipse.bpel.apache.ode.runtime.feature"
+      label="Apache ODE 1.3"
+      version="0.5.0.qualifier"
+      provider-name="eclipse.org">
+
+   <description url="http://www.eclipse.org/bpel/">
+      The Eclipse BPEL visual designer - Apache ODE 1.3 runtime deployment adapter.
+   </description>
+
+   <copyright url="http://www.eclipse.org/legal/">
+      Copyright (c) Eclipse.org
+All rights reserved. This program and the accompanying materials
+are made available under the terms of the Eclipse Public License
+v1.0 which accompanies this distribution, and is available at
+http://www.eclipse.org/legal/epl-v10.html
+   </copyright>
+
+   <license url="http://www.eclipse.org/legal/epl-v10.html">
+      Eclipse Public License - v 1.0
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS
+ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE, REPRODUCTION OR
+DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT&apos;S ACCEPTANCE
+OF THIS AGREEMENT.
+1. DEFINITIONS
+&quot;Contribution&quot; means:
+a) in the case of the initial Contributor, the initial code and
+documentation distributed under this Agreement, and
+b) in the case of each subsequent Contributor:
+i) changes to the Program, and
+ii) additions to the Program;
+where such changes and/or additions to the Program originate
+from and are distributed by that particular Contributor. A Contribution
+&apos;originates&apos; from a Contributor if it was added to the Program
+by such Contributor itself or anyone acting on such Contributor&apos;s
+behalf. Contributions do not include additions to the Program
+which: (i) are separate modules of software distributed in conjunction
+with the Program under their own license agreement, and (ii)
+are not derivative works of the Program.
+&quot;Contributor&quot; means any person or entity that distributes the
+Program.
+&quot;Licensed Patents &quot; mean patent claims licensable by a Contributor
+which are necessarily infringed by the use or sale of its Contribution
+alone or when combined with the Program.
+&quot;Program&quot; means the Contributions distributed in accordance with
+this Agreement.
+&quot;Recipient&quot; means anyone who receives the Program under this
+Agreement, including all Contributors.
+2. GRANT OF RIGHTS
+a) Subject to the terms of this Agreement, each Contributor hereby
+grants Recipient a non-exclusive, worldwide, royalty-free copyright
+license to reproduce, prepare derivative works of, publicly display,
+publicly perform, distribute and sublicense the Contribution
+of such Contributor, if any, and such derivative works, in source
+code and object code form.
+b) Subject to the terms of this Agreement, each Contributor hereby
+grants Recipient a non-exclusive, worldwide, royalty-free patent
+license under Licensed Patents to make, use, sell, offer to sell,
+import and otherwise transfer the Contribution of such Contributor,
+if any, in source code and object code form. This patent license
+shall apply to the combination of the Contribution and the Program
+if, at the time the Contribution is added by the Contributor,
+such addition of the Contribution causes such combination to
+be covered by the Licensed Patents. The patent license shall
+not apply to any other combinations which include the Contribution.
+No hardware per se is licensed hereunder.
+c) Recipient understands that although each Contributor grants
+the licenses to its Contributions set forth herein, no assurances
+are provided by any Contributor that the Program does not infringe
+the patent or other intellectual property rights of any other
+entity. Each Contributor disclaims any liability to Recipient
+for claims brought by any other entity based on infringement
+of intellectual property rights or otherwise. As a condition
+to exercising the rights and licenses granted hereunder, each
+Recipient hereby assumes sole responsibility to secure any other
+intellectual property rights needed, if any. For example, if
+a third party patent license is required to allow Recipient to
+distribute the Program, it is Recipient&apos;s responsibility to acquire
+that license before distributing the Program.
+d) Each Contributor represents that to its knowledge it has sufficient
+copyright rights in its Contribution, if any, to grant the copyright
+license set forth in this Agreement.
+3. REQUIREMENTS
+A Contributor may choose to distribute the Program in object
+code form under its own license agreement, provided that:
+a) it complies with the terms and conditions of this Agreement;
+and
+b) its license agreement:
+i) effectively disclaims on behalf of all Contributors all warranties
+and conditions, express and implied, including warranties or
+conditions of title and non-infringement, and implied warranties
+or conditions of merchantability and fitness for a particular
+purpose;
+ii) effectively excludes on behalf of all Contributors all liability
+for damages, including direct, indirect, special, incidental
+and consequential damages, such as lost profits;
+iii) states that any provisions which differ from this Agreement
+are offered by that Contributor alone and not by any other party;
+and
+iv) states that source code for the Program is available from
+such Contributor, and informs licensees how to obtain it in a
+reasonable manner on or through a medium customarily used for
+software exchange.
+When the Program is made available in source code form:
+a) it must be made available under this Agreement; and
+b) a copy of this Agreement must be included with each copy of
+the Program.
+Contributors may not remove or alter any copyright notices contained
+within the Program.
+Each Contributor must identify itself as the originator of its
+Contribution, if any, in a manner that reasonably allows subsequent
+Recipients to identify the originator of the Contribution.
+4. COMMERCIAL DISTRIBUTION
+Commercial distributors of software may accept certain responsibilities
+with respect to end users, business partners and the like. While
+this license is intended to facilitate the commercial use of
+the Program, the Contributor who includes the Program in a commercial
+product offering should do so in a manner which does not create
+potential liability for other Contributors. Therefore, if a Contributor
+includes the Program in a commercial product offering, such Contributor
+(&quot;Commercial Contributor&quot;) hereby agrees to defend and indemnify
+every other Contributor (&quot;Indemnified Contributor&quot;) against any
+losses, damages and costs (collectively &quot;Losses&quot;) arising from
+claims, lawsuits and other legal actions brought by a third party
+against the Indemnified Contributor to the extent caused by the
+acts or omissions of such Commercial Contributor in connection
+with its distribution of the Program in a commercial product
+offering. The obligations in this section do not apply to any
+claims or Losses relating to any actual or alleged intellectual
+property infringement. In order to qualify, an Indemnified Contributor
+must: a) promptly notify the Commercial Contributor in writing
+of such claim, and b) allow the Commercial Contributor to control,
+and cooperate with the Commercial Contributor in, the defense
+and any related settlement negotiations. The Indemnified Contributor
+may participate in any such claim at its own expense.
+For example, a Contributor might include the Program in a commercial
+product offering, Product X. That Contributor is then a Commercial
+Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance
+claims and warranties are such Commercial Contributor&apos;s responsibility
+alone. Under this section, the Commercial Contributor would have
+to defend claims against the other Contributors related to those
+performance claims and warranties, and if a court requires any
+other Contributor to pay any damages as a result, the Commercial
+Contributor must pay those damages.
+5. NO WARRANTY
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM
+IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS
+OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION,
+ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
+OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+responsible for determining the appropriateness of using and
+distributing the Program and assumes all risks associated with
+its exercise of rights under this Agreement , including but not
+limited to the risks and costs of program errors, compliance
+with applicable laws, damage to or loss of data, programs or
+equipment, and unavailability or interruption of operations.
+6. DISCLAIMER OF LIABILITY
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT
+NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE
+OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY
+OF SUCH DAMAGES.
+7. GENERAL
+If any provision of this Agreement is invalid or unenforceable
+under applicable law, it shall not affect the validity or enforceability
+of the remainder of the terms of this Agreement, and without
+further action by the parties hereto, such provision shall be
+reformed to the minimum extent necessary to make such provision
+valid and enforceable.
+If Recipient institutes patent litigation against any entity
+(including a cross-claim or counterclaim in a lawsuit) alleging
+that the Program itself (excluding combinations of the Program
+with other software or hardware) infringes such Recipient&apos;s patent(s),
+then such Recipient&apos;s rights granted under Section 2(b) shall
+terminate as of the date such litigation is filed.
+All Recipient&apos;s rights under this Agreement shall terminate if
+it fails to comply with any of the material terms or conditions
+of this Agreement and does not cure such failure in a reasonable
+period of time after becoming aware of such noncompliance. If
+all Recipient&apos;s rights under this Agreement terminate, Recipient
+agrees to cease use and distribution of the Program as soon as
+reasonably practicable. However, Recipient&apos;s obligations under
+this Agreement and any licenses granted by Recipient relating
+to the Program shall continue and survive.
+Everyone is permitted to copy and distribute copies of this Agreement,
+but in order to avoid inconsistency the Agreement is copyrighted
+and may only be modified in the following manner. The Agreement
+Steward reserves the right to publish new versions (including
+revisions) of this Agreement from time to time. No one other
+than the Agreement Steward has the right to modify this Agreement.
+The Eclipse Foundation is the initial Agreement Steward. The
+Eclipse Foundation may assign the responsibility to serve as
+the Agreement Steward to a suitable separate entity. Each new
+version of the Agreement will be given a distinguishing version
+number. The Program (including Contributions) may always be distributed
+subject to the version of the Agreement under which it was received.
+In addition, after a new version of the Agreement is published,
+Contributor may elect to distribute the Program (including its
+Contributions) under the new version. Except as expressly stated
+in Sections 2(a) and 2(b) above, Recipient receives no rights
+or licenses to the intellectual property of any Contributor under
+this Agreement, whether expressly, by implication, estoppel or
+otherwise. All rights in the Program not expressly granted under
+this Agreement are reserved.
+This Agreement is governed by the laws of the State of New York
+and the intellectual property laws of the United States of America.
+No party to this Agreement will bring a legal action under this
+Agreement more than one year after the cause of action arose.
+Each party waives its rights to a jury trial in any resulting
+litigation.
+   </license>
+
+   <url>
+      <update label="Eclipse BPEL Designer" url="http://download.eclipse.org/bpel/update-site/"/>
+   </url>
+
+   <requires>
+      <import plugin="org.eclipse.ui" version="3.4.0" match="compatible"/>
+      <import plugin="org.eclipse.core.resources" version="3.4.0" match="compatible"/>
+      <import plugin="org.eclipse.wst.server.core" version="1.1.0" match="compatible"/>
+      <import plugin="org.eclipse.emf.ecore" version="2.4.0" match="compatible"/>
+      <import plugin="org.eclipse.jst.server.generic.core" version="1.0.305" match="compatible"/>
+      <import plugin="org.eclipse.wst.wsdl" version="1.1.200" match="compatible"/>
+      <import plugin="org.eclipse.bpel.model" version="0.5.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.jem.util" version="2.0.100" match="compatible"/>
+      <import plugin="org.eclipse.core.runtime" version="3.4.0" match="compatible"/>
+      <import plugin="org.eclipse.bpel.runtimes" version="0.5.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.jst.server.generic.ui" version="1.0.305" match="compatible"/>
+      <import plugin="org.eclipse.emf.ecore.xmi" version="2.4.0" match="compatible"/>
+      <import plugin="org.eclipse.bpel.ui" version="0.5.0" match="greaterOrEqual"/>
+      <import plugin="org.apache.xerces" version="2.9.0" match="compatible"/>
+      <import plugin="org.eclipse.xsd" version="2.4.0" match="compatible"/>
+      <import plugin="org.eclipse.jst.server.ui" version="1.0.303" match="compatible"/>
+      <import plugin="org.eclipse.jst.common.project.facet.core" version="1.3.0" match="compatible"/>
+      <import plugin="org.eclipse.jst.server.core" version="1.1.0" match="compatible"/>
+      <import plugin="javax.wsdl" version="1.5.0" match="equivalent"/>
+      <import feature="org.eclipse.jst.common.fproj.enablement.jdt"/>
+      <import feature="org.eclipse.wst.common.fproj"/>
+      <import feature="org.eclipse.wst.jsdt.feature"/>
+      <import feature="org.eclipse.wst.web_ui.feature"/>
+      <import feature="org.eclipse.wst.xml_ui.feature"/>
+   </requires>
+
+   <plugin
+         id="org.eclipse.bpel.apache.ode.runtime"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+</feature>
diff --git a/features/org.eclipse.bpel.apache.ode.runtime.feature/pom.xml b/features/org.eclipse.bpel.apache.ode.runtime.feature/pom.xml
new file mode 100644
index 0000000..55fbdb9
--- /dev/null
+++ b/features/org.eclipse.bpel.apache.ode.runtime.feature/pom.xml
@@ -0,0 +1,14 @@
+<project
+xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+	<modelVersion>4.0.0</modelVersion> 
+	<parent>
+	  <groupId>org.eclipse.bpel</groupId>
+	  <artifactId>org.eclipse.bpel.parent.pom</artifactId>
+	  <version>0.0.1-SNAPSHOT</version>
+	  <relativePath>../../parent/pom.xml</relativePath>
+	</parent>
+	<groupId>org.eclipse.bpel.features</groupId>
+	<artifactId>org.eclipse.bpel.apache.ode.runtime.feature</artifactId> 
+	<version>0.5.0-SNAPSHOT</version>
+	<packaging>eclipse-feature</packaging>
+</project>
diff --git a/features/org.eclipse.bpel.feature/feature.xml b/features/org.eclipse.bpel.feature/feature.xml
index b1fd806..737a094 100644
--- a/features/org.eclipse.bpel.feature/feature.xml
+++ b/features/org.eclipse.bpel.feature/feature.xml
@@ -1,23 +1,23 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.bpel.feature"
-      label="BPEL Visual Designer"
-      version="0.5.0.qualifier"
-      provider-name="eclipse.org">
-
-   <description url="http://www.eclipse.org/bpel/">
-      The Eclipse BPEL visual designer.
-   </description>
-
-   <copyright url="http://www.eclipse.org/legal/">
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+      id="org.eclipse.bpel.feature"
+      label="BPEL Visual Designer"
+      version="0.5.0.qualifier"
+      provider-name="eclipse.org">
+
+   <description url="http://www.eclipse.org/bpel/">
+      The Eclipse BPEL visual designer.
+   </description>
+
+   <copyright url="http://www.eclipse.org/legal/">
       Copyright (c) Eclipse.org
 All rights reserved. This program and the accompanying materials
 are made available under the terms of the Eclipse Public License
 v1.0 which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/epl-v10.html
-   </copyright>
-
-   <license url="http://www.eclipse.org/legal/epl-v10.html">
+http://www.eclipse.org/legal/epl-v10.html
+   </copyright>
+
+   <license url="http://www.eclipse.org/legal/epl-v10.html">
       Eclipse Public License - v 1.0
 THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS
 ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE, REPRODUCTION OR
@@ -213,87 +213,147 @@
 No party to this Agreement will bring a legal action under this
 Agreement more than one year after the cause of action arose.
 Each party waives its rights to a jury trial in any resulting
-litigation.
-   </license>
-
-   <url>
-      <update label="Eclipse BPEL Designer" url="http://download.eclipse.org/bpel/update-site/"/>
-   </url>
-
-   <requires>
-      <import plugin="org.eclipse.core.runtime" version="3.4.0" match="compatible"/>
-      <import plugin="org.eclipse.emf.ecore.xmi" version="2.4.0" match="compatible"/>
-      <import plugin="org.eclipse.ui" version="3.4.0" match="compatible"/>
-      <import plugin="org.eclipse.ui.ide" version="3.4.0" match="compatible"/>
-      <import plugin="org.eclipse.core.resources" version="3.4.0" match="compatible"/>
-      <import plugin="org.eclipse.gef" version="3.4.0" match="compatible"/>
-      <import plugin="org.eclipse.emf.ecore.change" version="2.4.0" match="compatible"/>
-      <import plugin="org.eclipse.xsd" version="2.4.0" match="compatible"/>
-      <import plugin="org.eclipse.wst.wsdl" version="1.1.200" match="compatible"/>
-      <import plugin="org.apache.xerces" version="2.9.0" match="compatible"/>
-      <import plugin="javax.wsdl" version="1.5.0" match="equivalent"/>
-      <import plugin="org.eclipse.ui.views.properties.tabbed" version="3.4.0" match="compatible"/>
-      <import plugin="org.eclipse.ui.workbench.texteditor" version="3.4.0" match="compatible"/>
-      <import plugin="org.eclipse.ui.editors" version="3.4.0" match="compatible"/>
-      <import plugin="org.eclipse.jface.text" version="3.4.0" match="compatible"/>
-      <import plugin="org.eclipse.wst.xml.core" version="1.1.300" match="compatible"/>
-      <import plugin="org.eclipse.wst.sse.ui" version="1.1.0" match="compatible"/>
-      <import plugin="org.eclipse.wst.sse.core" version="1.1.300" match="compatible"/>
-      <import plugin="org.eclipse.wst.xsd.ui" version="1.2.101" match="compatible"/>
-      <import plugin="org.eclipse.wst.wsdl.ui" version="1.2.100" match="compatible"/>
-      <import plugin="org.eclipse.wst.xml.ui" version="1.0.400" match="compatible"/>
-      <import plugin="org.eclipse.wst.server.core" version="1.1.0" match="compatible"/>
-      <import plugin="org.eclipse.wst.web.ui" version="1.1.200" match="compatible"/>
-      <import plugin="org.eclipse.wst.common.project.facet.ui" version="1.3.0" match="compatible"/>
-      <import plugin="org.eclipse.wst.common.modulecore" version="1.1.200" match="compatible"/>
-      <import plugin="org.eclipse.wst.common.frameworks" version="1.1.200" match="compatible"/>
-      <import plugin="org.eclipse.wst.common.project.facet.core" version="1.3.0" match="compatible"/>
-      <import plugin="org.eclipse.wst.common.frameworks.ui" version="1.1.200" match="compatible"/>
-      <import plugin="org.eclipse.jst.server.generic.core" version="1.0.305" match="compatible"/>
-      <import plugin="org.eclipse.jem.util" version="2.0.100" match="compatible"/>
-      <import plugin="org.eclipse.debug.ui" version="3.4.0" match="compatible"/>
-      <import plugin="org.eclipse.emf.ecore" version="2.4.0" match="compatible"/>
-      <import plugin="org.eclipse.ui.forms" version="3.3.100" match="compatible"/>
-      <import plugin="org.eclipse.core.databinding" version="1.1.0" match="compatible"/>
-      <import plugin="org.eclipse.jface.databinding" version="1.2.0" match="compatible"/>
-      <import plugin="org.eclipse.emf.edit.ui" version="2.4.0" match="compatible"/>
-      <import plugin="org.eclipse.jst.server.generic.ui" version="1.0.305" match="compatible"/>
-      <import plugin="org.eclipse.jst.server.ui" version="1.0.303" match="compatible"/>
-      <import plugin="org.eclipse.jst.common.project.facet.core" version="1.3.0" match="compatible"/>
-      <import plugin="org.eclipse.jst.server.core" version="1.1.0" match="compatible"/>
-      <import plugin="org.eclipse.compare" version="3.4.0" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.emf.common" version="2.4.0" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.core.resources" version="3.4.1" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.emf.ecore" version="2.4.2" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.emf.compare" version="0.8.1" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.gef" version="3.4.1" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.ui.ide" version="3.4.1" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.gmf.runtime.diagram.ui" version="1.1.3" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.emf.compare.match"/>
-      <import plugin="org.eclipse.emf.compare.diff" version="0.8.1" match="greaterOrEqual"/>
-      <import plugin="org.eclipse.emf.compare.ui"/>
-      <import feature="org.eclipse.jst.common.fproj.enablement.jdt"/>
-      <import feature="org.eclipse.wst.common.fproj"/>
-      <import feature="org.eclipse.wst.jsdt.feature"/>
-      <import feature="org.eclipse.wst.web_ui.feature"/>
-      <import feature="org.eclipse.wst.xml_ui.feature"/>
-   </requires>
-
-   <!-- plugins in the plugins/pom.xml should match those listed here -->
-   <plugin id="org.eclipse.bpel.apache.ode.deploy.model" download-size="0" install-size="0" version="0.0.0" unpack="false"/> 
-   <plugin id="org.eclipse.bpel.apache.ode.deploy.ui" download-size="0" install-size="0" version="0.0.0" unpack="false"/> 
-   <plugin id="org.eclipse.bpel.apache.ode.runtime" download-size="0" install-size="0" version="0.0.0" unpack="false"/> 
-   <plugin id="org.eclipse.bpel.cheatsheet" download-size="0" install-size="0" version="0.0.0" unpack="false"/> 
-   <plugin id="org.eclipse.bpel.common.model" download-size="0" install-size="0" version="0.0.0" unpack="false"/> 
-   <plugin id="org.eclipse.bpel.common.ui" download-size="0" install-size="0" version="0.0.0" unpack="false"/> 
-   <plugin id="org.eclipse.bpel.model" download-size="0" install-size="0" version="0.0.0" unpack="false"/> 
-   <plugin id="org.eclipse.bpel.runtimes" download-size="0" install-size="0" version="0.0.0" unpack="false"/> 
-   <plugin id="org.eclipse.bpel.ui" download-size="0" install-size="0" version="0.0.0" unpack="false"/> 
-   <plugin id="org.eclipse.bpel.validator" download-size="0" install-size="0" version="0.0.0" unpack="false"/>
-   <plugin id="org.eclipse.bpel.wsil.model" download-size="0" install-size="0" version="0.0.0" unpack="false"/> 
-   <plugin id="org.eclipse.bpel.xpath10" download-size="0" install-size="0" version="0.0.0" unpack="false"/>
-<!--
-   <plugin id="org.eclipse.bpel.jboss.riftsaw.runtime" download-size="0" install-size="0" version="0.0.0" unpack="false"/>
--->
-   <!-- <plugin id="org.eclipse.bpel.compare.ui" download-size="0" install-size="0" version="0.0.0" unpack="false"/> -->
-</feature>
+litigation.
+   </license>
+
+   <url>
+      <update label="Eclipse BPEL Designer" url="http://download.eclipse.org/bpel/update-site/"/>
+   </url>
+
+   <requires>
+      <import plugin="org.eclipse.emf.ecore" version="2.4.0" match="compatible"/>
+      <import plugin="org.eclipse.emf.ecore.xmi" version="2.4.0" match="compatible"/>
+      <import plugin="javax.wsdl" version="1.5.0" match="equivalent"/>
+      <import plugin="org.eclipse.bpel.model" version="0.5.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.wst.wsdl" version="1.1.200" match="compatible"/>
+      <import plugin="org.eclipse.xsd" version="2.4.0" match="compatible"/>
+      <import plugin="org.eclipse.core.runtime" version="3.4.0" match="compatible"/>
+      <import plugin="org.eclipse.ui" version="3.4.0" match="compatible"/>
+      <import plugin="org.eclipse.jface.text" version="3.4.0" match="compatible"/>
+      <import plugin="org.eclipse.core.resources" version="3.4.0" match="compatible"/>
+      <import plugin="org.eclipse.ui.editors" version="3.4.0" match="compatible"/>
+      <import plugin="org.eclipse.ui.ide" version="3.4.0" match="compatible"/>
+      <import plugin="org.eclipse.ui.forms" version="3.3.100" match="compatible"/>
+      <import plugin="org.eclipse.bpel.apache.ode.deploy.model" version="0.5.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.core.databinding" version="1.1.0" match="compatible"/>
+      <import plugin="org.eclipse.jface.databinding" version="1.2.0" match="compatible"/>
+      <import plugin="org.eclipse.emf.edit.ui" version="2.4.0" match="compatible"/>
+      <import plugin="org.eclipse.bpel.ui" version="0.5.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.wst.common.modulecore" version="1.1.200" match="compatible"/>
+      <import plugin="org.eclipse.wst.common.emfworkbench.integration"/>
+      <import plugin="org.eclipse.jem.util" version="2.0.100" match="compatible"/>
+      <import plugin="org.eclipse.ui.cheatsheets"/>
+      <import plugin="org.eclipse.gef" version="3.4.0" match="compatible"/>
+      <import plugin="org.eclipse.emf.ecore.change" version="2.4.0" match="compatible"/>
+      <import plugin="org.apache.xerces" version="2.9.0" match="compatible"/>
+      <import plugin="org.eclipse.bpel.common.model" version="0.5.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.wst.xml.core" version="1.1.300" match="compatible"/>
+      <import plugin="org.eclipse.wst.xml.ui" version="1.0.400" match="compatible"/>
+      <import plugin="org.eclipse.wst.xsd.ui" version="1.2.101" match="compatible"/>
+      <import plugin="org.eclipse.wst.xsd.core"/>
+      <import plugin="org.eclipse.wst.server.core" version="1.1.0" match="compatible"/>
+      <import plugin="org.eclipse.wst.web.ui" version="1.1.200" match="compatible"/>
+      <import plugin="org.eclipse.wst.common.project.facet.ui" version="1.3.0" match="compatible"/>
+      <import plugin="org.eclipse.wst.common.frameworks" version="1.1.200" match="compatible"/>
+      <import plugin="org.eclipse.wst.common.project.facet.core" version="1.3.0" match="compatible"/>
+      <import plugin="org.eclipse.wst.common.frameworks.ui" version="1.1.200" match="compatible"/>
+      <import plugin="org.eclipse.jst.server.generic.core" version="1.0.305" match="compatible"/>
+      <import plugin="org.eclipse.debug.ui" version="3.4.0" match="compatible"/>
+      <import plugin="org.eclipse.jst.common.frameworks"/>
+      <import plugin="org.eclipse.jem.workbench"/>
+      <import plugin="org.eclipse.ui.views.properties.tabbed" version="3.4.0" match="compatible"/>
+      <import plugin="org.eclipse.ui.workbench.texteditor" version="3.4.0" match="compatible"/>
+      <import plugin="org.eclipse.bpel.common.ui" version="0.5.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.bpel.wsil.model" version="0.5.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.wst.sse.ui" version="1.1.0" match="compatible"/>
+      <import plugin="org.eclipse.wst.sse.core" version="1.1.300" match="compatible"/>
+      <import plugin="org.eclipse.wst.wsdl.ui" version="1.2.100" match="compatible"/>
+      <import plugin="org.eclipse.ui.console"/>
+      <import plugin="org.eclipse.wst.validation" version="1.2.0" match="compatible"/>
+      <import plugin="org.eclipse.wst.wsdl.validation" version="1.1.301" match="compatible"/>
+      <import plugin="org.eclipse.bpel.xpath10" version="0.5.0" match="greaterOrEqual"/>
+      <import feature="org.eclipse.jst.common.fproj.enablement.jdt"/>
+      <import feature="org.eclipse.wst.common.fproj"/>
+      <import feature="org.eclipse.wst.jsdt.feature"/>
+      <import feature="org.eclipse.wst.web_ui.feature"/>
+      <import feature="org.eclipse.wst.xml_ui.feature"/>
+   </requires>
+
+   <plugin
+         id="org.eclipse.bpel.apache.ode.deploy.model"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.bpel.apache.ode.deploy.ui"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.bpel.cheatsheet"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.bpel.common.model"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.bpel.common.ui"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.bpel.model"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.bpel.runtimes"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.bpel.ui"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.bpel.validator"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.bpel.wsil.model"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.bpel.xpath10"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+</feature>
diff --git a/features/org.eclipse.bpel.jboss.riftsaw.runtime.feature/.project b/features/org.eclipse.bpel.jboss.riftsaw.runtime.feature/.project
new file mode 100644
index 0000000..6dc7e22
--- /dev/null
+++ b/features/org.eclipse.bpel.jboss.riftsaw.runtime.feature/.project
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.bpel.jboss.riftsaw.runtime.feature</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.FeatureBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.maven.ide.eclipse.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.maven.ide.eclipse.maven2Nature</nature>
+		<nature>org.eclipse.pde.FeatureNature</nature>
+	</natures>
+</projectDescription>
diff --git a/features/org.eclipse.bpel.jboss.riftsaw.runtime.feature/build.properties b/features/org.eclipse.bpel.jboss.riftsaw.runtime.feature/build.properties
new file mode 100644
index 0000000..1e84853
--- /dev/null
+++ b/features/org.eclipse.bpel.jboss.riftsaw.runtime.feature/build.properties
@@ -0,0 +1,4 @@
+bin.includes = feature.xml
+src.includes = feature.xml,\
+               build.properties,\
+               .project
diff --git a/features/org.eclipse.bpel.jboss.riftsaw.runtime.feature/feature.xml b/features/org.eclipse.bpel.jboss.riftsaw.runtime.feature/feature.xml
new file mode 100644
index 0000000..b9f8524
--- /dev/null
+++ b/features/org.eclipse.bpel.jboss.riftsaw.runtime.feature/feature.xml
@@ -0,0 +1,260 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+      id="org.eclipse.bpel.jboss.riftsaw.runtime.feature"
+      label="JBoss Riftsaw 2.3"
+      version="0.5.0.qualifier"
+      provider-name="eclipse.org">
+
+   <description url="http://www.eclipse.org/bpel/">
+      The Eclipse BPEL visual designer - JBoss Riftsaw 2.3 runtime deployment adapter.
+   </description>
+
+   <copyright url="http://www.eclipse.org/legal/">
+      Copyright (c) Eclipse.org
+All rights reserved. This program and the accompanying materials
+are made available under the terms of the Eclipse Public License
+v1.0 which accompanies this distribution, and is available at
+http://www.eclipse.org/legal/epl-v10.html
+   </copyright>
+
+   <license url="http://www.eclipse.org/legal/epl-v10.html">
+      Eclipse Public License - v 1.0
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS
+ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE, REPRODUCTION OR
+DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT&apos;S ACCEPTANCE
+OF THIS AGREEMENT.
+1. DEFINITIONS
+&quot;Contribution&quot; means:
+a) in the case of the initial Contributor, the initial code and
+documentation distributed under this Agreement, and
+b) in the case of each subsequent Contributor:
+i) changes to the Program, and
+ii) additions to the Program;
+where such changes and/or additions to the Program originate
+from and are distributed by that particular Contributor. A Contribution
+&apos;originates&apos; from a Contributor if it was added to the Program
+by such Contributor itself or anyone acting on such Contributor&apos;s
+behalf. Contributions do not include additions to the Program
+which: (i) are separate modules of software distributed in conjunction
+with the Program under their own license agreement, and (ii)
+are not derivative works of the Program.
+&quot;Contributor&quot; means any person or entity that distributes the
+Program.
+&quot;Licensed Patents &quot; mean patent claims licensable by a Contributor
+which are necessarily infringed by the use or sale of its Contribution
+alone or when combined with the Program.
+&quot;Program&quot; means the Contributions distributed in accordance with
+this Agreement.
+&quot;Recipient&quot; means anyone who receives the Program under this
+Agreement, including all Contributors.
+2. GRANT OF RIGHTS
+a) Subject to the terms of this Agreement, each Contributor hereby
+grants Recipient a non-exclusive, worldwide, royalty-free copyright
+license to reproduce, prepare derivative works of, publicly display,
+publicly perform, distribute and sublicense the Contribution
+of such Contributor, if any, and such derivative works, in source
+code and object code form.
+b) Subject to the terms of this Agreement, each Contributor hereby
+grants Recipient a non-exclusive, worldwide, royalty-free patent
+license under Licensed Patents to make, use, sell, offer to sell,
+import and otherwise transfer the Contribution of such Contributor,
+if any, in source code and object code form. This patent license
+shall apply to the combination of the Contribution and the Program
+if, at the time the Contribution is added by the Contributor,
+such addition of the Contribution causes such combination to
+be covered by the Licensed Patents. The patent license shall
+not apply to any other combinations which include the Contribution.
+No hardware per se is licensed hereunder.
+c) Recipient understands that although each Contributor grants
+the licenses to its Contributions set forth herein, no assurances
+are provided by any Contributor that the Program does not infringe
+the patent or other intellectual property rights of any other
+entity. Each Contributor disclaims any liability to Recipient
+for claims brought by any other entity based on infringement
+of intellectual property rights or otherwise. As a condition
+to exercising the rights and licenses granted hereunder, each
+Recipient hereby assumes sole responsibility to secure any other
+intellectual property rights needed, if any. For example, if
+a third party patent license is required to allow Recipient to
+distribute the Program, it is Recipient&apos;s responsibility to acquire
+that license before distributing the Program.
+d) Each Contributor represents that to its knowledge it has sufficient
+copyright rights in its Contribution, if any, to grant the copyright
+license set forth in this Agreement.
+3. REQUIREMENTS
+A Contributor may choose to distribute the Program in object
+code form under its own license agreement, provided that:
+a) it complies with the terms and conditions of this Agreement;
+and
+b) its license agreement:
+i) effectively disclaims on behalf of all Contributors all warranties
+and conditions, express and implied, including warranties or
+conditions of title and non-infringement, and implied warranties
+or conditions of merchantability and fitness for a particular
+purpose;
+ii) effectively excludes on behalf of all Contributors all liability
+for damages, including direct, indirect, special, incidental
+and consequential damages, such as lost profits;
+iii) states that any provisions which differ from this Agreement
+are offered by that Contributor alone and not by any other party;
+and
+iv) states that source code for the Program is available from
+such Contributor, and informs licensees how to obtain it in a
+reasonable manner on or through a medium customarily used for
+software exchange.
+When the Program is made available in source code form:
+a) it must be made available under this Agreement; and
+b) a copy of this Agreement must be included with each copy of
+the Program.
+Contributors may not remove or alter any copyright notices contained
+within the Program.
+Each Contributor must identify itself as the originator of its
+Contribution, if any, in a manner that reasonably allows subsequent
+Recipients to identify the originator of the Contribution.
+4. COMMERCIAL DISTRIBUTION
+Commercial distributors of software may accept certain responsibilities
+with respect to end users, business partners and the like. While
+this license is intended to facilitate the commercial use of
+the Program, the Contributor who includes the Program in a commercial
+product offering should do so in a manner which does not create
+potential liability for other Contributors. Therefore, if a Contributor
+includes the Program in a commercial product offering, such Contributor
+(&quot;Commercial Contributor&quot;) hereby agrees to defend and indemnify
+every other Contributor (&quot;Indemnified Contributor&quot;) against any
+losses, damages and costs (collectively &quot;Losses&quot;) arising from
+claims, lawsuits and other legal actions brought by a third party
+against the Indemnified Contributor to the extent caused by the
+acts or omissions of such Commercial Contributor in connection
+with its distribution of the Program in a commercial product
+offering. The obligations in this section do not apply to any
+claims or Losses relating to any actual or alleged intellectual
+property infringement. In order to qualify, an Indemnified Contributor
+must: a) promptly notify the Commercial Contributor in writing
+of such claim, and b) allow the Commercial Contributor to control,
+and cooperate with the Commercial Contributor in, the defense
+and any related settlement negotiations. The Indemnified Contributor
+may participate in any such claim at its own expense.
+For example, a Contributor might include the Program in a commercial
+product offering, Product X. That Contributor is then a Commercial
+Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance
+claims and warranties are such Commercial Contributor&apos;s responsibility
+alone. Under this section, the Commercial Contributor would have
+to defend claims against the other Contributors related to those
+performance claims and warranties, and if a court requires any
+other Contributor to pay any damages as a result, the Commercial
+Contributor must pay those damages.
+5. NO WARRANTY
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM
+IS PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS
+OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION,
+ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
+OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+responsible for determining the appropriateness of using and
+distributing the Program and assumes all risks associated with
+its exercise of rights under this Agreement , including but not
+limited to the risks and costs of program errors, compliance
+with applicable laws, damage to or loss of data, programs or
+equipment, and unavailability or interruption of operations.
+6. DISCLAIMER OF LIABILITY
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT
+NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE
+OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY
+OF SUCH DAMAGES.
+7. GENERAL
+If any provision of this Agreement is invalid or unenforceable
+under applicable law, it shall not affect the validity or enforceability
+of the remainder of the terms of this Agreement, and without
+further action by the parties hereto, such provision shall be
+reformed to the minimum extent necessary to make such provision
+valid and enforceable.
+If Recipient institutes patent litigation against any entity
+(including a cross-claim or counterclaim in a lawsuit) alleging
+that the Program itself (excluding combinations of the Program
+with other software or hardware) infringes such Recipient&apos;s patent(s),
+then such Recipient&apos;s rights granted under Section 2(b) shall
+terminate as of the date such litigation is filed.
+All Recipient&apos;s rights under this Agreement shall terminate if
+it fails to comply with any of the material terms or conditions
+of this Agreement and does not cure such failure in a reasonable
+period of time after becoming aware of such noncompliance. If
+all Recipient&apos;s rights under this Agreement terminate, Recipient
+agrees to cease use and distribution of the Program as soon as
+reasonably practicable. However, Recipient&apos;s obligations under
+this Agreement and any licenses granted by Recipient relating
+to the Program shall continue and survive.
+Everyone is permitted to copy and distribute copies of this Agreement,
+but in order to avoid inconsistency the Agreement is copyrighted
+and may only be modified in the following manner. The Agreement
+Steward reserves the right to publish new versions (including
+revisions) of this Agreement from time to time. No one other
+than the Agreement Steward has the right to modify this Agreement.
+The Eclipse Foundation is the initial Agreement Steward. The
+Eclipse Foundation may assign the responsibility to serve as
+the Agreement Steward to a suitable separate entity. Each new
+version of the Agreement will be given a distinguishing version
+number. The Program (including Contributions) may always be distributed
+subject to the version of the Agreement under which it was received.
+In addition, after a new version of the Agreement is published,
+Contributor may elect to distribute the Program (including its
+Contributions) under the new version. Except as expressly stated
+in Sections 2(a) and 2(b) above, Recipient receives no rights
+or licenses to the intellectual property of any Contributor under
+this Agreement, whether expressly, by implication, estoppel or
+otherwise. All rights in the Program not expressly granted under
+this Agreement are reserved.
+This Agreement is governed by the laws of the State of New York
+and the intellectual property laws of the United States of America.
+No party to this Agreement will bring a legal action under this
+Agreement more than one year after the cause of action arose.
+Each party waives its rights to a jury trial in any resulting
+litigation.
+   </license>
+
+   <url>
+      <update label="Eclipse BPEL Designer" url="http://download.eclipse.org/bpel/update-site/"/>
+   </url>
+
+   <requires>
+      <import plugin="org.eclipse.ui" version="3.4.0" match="compatible"/>
+      <import plugin="org.eclipse.core.runtime" version="3.4.0" match="compatible"/>
+      <import plugin="org.eclipse.core.resources" version="3.4.0" match="compatible"/>
+      <import plugin="org.eclipse.wst.server.core" version="1.1.0" match="compatible"/>
+      <import plugin="org.eclipse.wst.web.ui" version="1.1.200" match="compatible"/>
+      <import plugin="org.eclipse.wst.common.project.facet.ui" version="1.3.0" match="compatible"/>
+      <import plugin="org.eclipse.wst.common.modulecore" version="1.1.200" match="compatible"/>
+      <import plugin="org.eclipse.wst.common.frameworks" version="1.1.200" match="compatible"/>
+      <import plugin="org.eclipse.wst.common.project.facet.core" version="1.3.0" match="compatible"/>
+      <import plugin="org.eclipse.wst.common.frameworks.ui" version="1.1.200" match="compatible"/>
+      <import plugin="org.eclipse.jst.server.generic.core" version="1.0.305" match="compatible"/>
+      <import plugin="org.eclipse.jst.server.core" version="1.1.0" match="compatible"/>
+      <import plugin="org.eclipse.jem.util" version="2.0.100" match="compatible"/>
+      <import plugin="org.eclipse.debug.ui" version="3.4.0" match="compatible"/>
+      <import plugin="org.eclipse.bpel.model" version="0.5.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.emf.ecore" version="2.4.0" match="compatible"/>
+      <import plugin="javax.wsdl" version="1.5.0" match="equivalent"/>
+      <import plugin="org.eclipse.wst.wsdl" version="1.1.200" match="compatible"/>
+      <import plugin="org.eclipse.jst.common.frameworks"/>
+      <import plugin="org.eclipse.jem.workbench"/>
+      <import plugin="org.eclipse.bpel.runtimes" version="0.5.0" match="greaterOrEqual"/>
+      <import plugin="org.eclipse.bpel.validator"/>
+      <import feature="org.eclipse.jst.common.fproj.enablement.jdt"/>
+      <import feature="org.eclipse.wst.common.fproj"/>
+      <import feature="org.eclipse.wst.jsdt.feature"/>
+      <import feature="org.eclipse.wst.web_ui.feature"/>
+      <import feature="org.eclipse.wst.xml_ui.feature"/>
+   </requires>
+
+   <plugin
+         id="org.eclipse.bpel.jboss.riftsaw.runtime"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+</feature>
diff --git a/features/org.eclipse.bpel.jboss.riftsaw.runtime.feature/pom.xml b/features/org.eclipse.bpel.jboss.riftsaw.runtime.feature/pom.xml
new file mode 100644
index 0000000..31da809
--- /dev/null
+++ b/features/org.eclipse.bpel.jboss.riftsaw.runtime.feature/pom.xml
@@ -0,0 +1,14 @@
+<project
+xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+	<modelVersion>4.0.0</modelVersion> 
+	<parent>
+	  <groupId>org.eclipse.bpel</groupId>
+	  <artifactId>org.eclipse.bpel.parent.pom</artifactId>
+	  <version>0.0.1-SNAPSHOT</version>
+	  <relativePath>../../parent/pom.xml</relativePath>
+	</parent>
+	<groupId>org.eclipse.bpel.features</groupId>
+	<artifactId>org.eclipse.bpel.jboss.riftsaw.runtime.feature</artifactId> 
+	<version>0.5.0-SNAPSHOT</version>
+	<packaging>eclipse-feature</packaging>
+</project>
diff --git a/features/pom.xml b/features/pom.xml
index 8f002d9..fbe7f92 100644
--- a/features/pom.xml
+++ b/features/pom.xml
@@ -16,6 +16,8 @@
 		<module>org.eclipse.bpel.feature</module>
 		<module>org.eclipse.bpel.source.feature</module>
 		<!-- <module>org.eclipse.bpel.tests.feature</module> -->
+		<module>org.eclipse.bpel.apache.ode.runtime.feature</module>
+		<module>org.eclipse.bpel.jboss.riftsaw.runtime.feature</module>
 	</modules>
 </project>
 	
diff --git a/plugins/org.eclipse.bpel.apache.ode.deploy.model/plugin.properties b/plugins/org.eclipse.bpel.apache.ode.deploy.model/plugin.properties
index 084c8d1..2af17df 100644
--- a/plugins/org.eclipse.bpel.apache.ode.deploy.model/plugin.properties
+++ b/plugins/org.eclipse.bpel.apache.ode.deploy.model/plugin.properties
@@ -1,20 +1,20 @@
-
-# <copyright>
-# </copyright>
-#
-# $Id: plugin.properties,v 1.1 2008/08/12 17:27:58 smoser Exp $
-
-# ====================================================================
-# To code developer:
-#   Do NOT change the properties between this line and the
-#   "%%% END OF TRANSLATED PROPERTIES %%%" line.
-#   Make a new property name, append to the end of the file and change
-#   the code to use the new property.
-# ====================================================================
-
-# ====================================================================
-# %%% END OF TRANSLATED PROPERTIES %%%
-# ====================================================================
-
-pluginName = OdeDeploymentDescriptor Model
-providerName = www.example.org
+
+# <copyright>
+# </copyright>
+#
+# $Id: plugin.properties,v 1.1 2008/08/12 17:27:58 smoser Exp $
+
+# ====================================================================
+# To code developer:
+#   Do NOT change the properties between this line and the
+#   "%%% END OF TRANSLATED PROPERTIES %%%" line.
+#   Make a new property name, append to the end of the file and change
+#   the code to use the new property.
+# ====================================================================
+
+# ====================================================================
+# %%% END OF TRANSLATED PROPERTIES %%%
+# ====================================================================
+
+pluginName = OdeDeploymentDescriptor Model
+providerName = Eclipse.org
diff --git a/plugins/org.eclipse.bpel.apache.ode.runtime/plugin.properties b/plugins/org.eclipse.bpel.apache.ode.runtime/plugin.properties
index 26f1ce1..9c1ab9e 100644
--- a/plugins/org.eclipse.bpel.apache.ode.runtime/plugin.properties
+++ b/plugins/org.eclipse.bpel.apache.ode.runtime/plugin.properties
@@ -1,7 +1,7 @@
 pluginName = Apache ODE Runtime Adapter
-providerName = Apache Software Foundation
-odeHome = ODE's home directory: 
-tomcatHome = Tomcat's home directory: 
+providerName = Eclipse.org
+odeHome = ODE's home directory\: 
+tomcatHome = Tomcat's home directory\: 
 serverAddress = Server address:
 port = Port:
 vmArguments = VM Arguments:
diff --git a/plugins/org.eclipse.bpel.common.model/plugin.properties b/plugins/org.eclipse.bpel.common.model/plugin.properties
index f1c6b0d..6312333 100644
--- a/plugins/org.eclipse.bpel.common.model/plugin.properties
+++ b/plugins/org.eclipse.bpel.common.model/plugin.properties
@@ -1,30 +1,30 @@
-###############################################################################
-# Copyright (c) 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# <copyright>
-# </copyright>
-#
-# $Id: plugin.properties,v 1.1 2005/11/29 18:50:08 james Exp $
-
-# ====================================================================
-# To code developer:
-#   Do NOT change the properties between this line and the
-#   "%%% END OF TRANSLATED PROPERTIES %%%" line.
-#   Make a new property name, append to the end of the file and change
-#   the code to use the new property.
-# ====================================================================
-
-# ====================================================================
-# %%% END OF TRANSLATED PROPERTIES %%%
-# ====================================================================
-
-pluginName = Extensionmodel Model
-providerName = www.example.org
-
+###############################################################################
+# Copyright (c) 2005 IBM Corporation and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+#     IBM Corporation - initial API and implementation
+###############################################################################
+# <copyright>
+# </copyright>
+#
+# $Id: plugin.properties,v 1.1 2005/11/29 18:50:08 james Exp $
+
+# ====================================================================
+# To code developer:
+#   Do NOT change the properties between this line and the
+#   "%%% END OF TRANSLATED PROPERTIES %%%" line.
+#   Make a new property name, append to the end of the file and change
+#   the code to use the new property.
+# ====================================================================
+
+# ====================================================================
+# %%% END OF TRANSLATED PROPERTIES %%%
+# ====================================================================
+
+pluginName = Extensionmodel Model
+providerName = Eclipse.org
+
diff --git a/plugins/org.eclipse.bpel.jboss.riftsaw.runtime/plugin.properties b/plugins/org.eclipse.bpel.jboss.riftsaw.runtime/plugin.properties
index 22355b2..1669438 100644
--- a/plugins/org.eclipse.bpel.jboss.riftsaw.runtime/plugin.properties
+++ b/plugins/org.eclipse.bpel.jboss.riftsaw.runtime/plugin.properties
@@ -10,7 +10,7 @@
 #     JBoss by Red Hat - subsequent contributions and maintenance
 ###############################################################################
 pluginName = JBoss Riftsaw Runtime Adapter
-providerName = JBoss by Red Hat
+providerName = Eclipse.org
 
 MODULE_TYPE_NAME=JBoss BPEL 2.0 Process
 MODULE_TYPE_DESCRIPTION=Module representing a JBoss BPEL process
@@ -24,5 +24,5 @@
 NEW_BPEL_PROJECT_DESCRIPTION=Create a new JBoss BPEL project for SOA-P 5.1 and earlier. 
 jbossHome = JBoss App Server home directory:
 jbossServerConfig = Server configuration:
-serverAddress = Server address: 
+serverAddress = Server address\: 
 port = Port:
\ No newline at end of file
diff --git a/plugins/org.eclipse.bpel.jboss.riftsaw.runtime/pom.xml b/plugins/org.eclipse.bpel.jboss.riftsaw.runtime/pom.xml
index e713e2a..30aa6e2 100644
--- a/plugins/org.eclipse.bpel.jboss.riftsaw.runtime/pom.xml
+++ b/plugins/org.eclipse.bpel.jboss.riftsaw.runtime/pom.xml
@@ -2,12 +2,13 @@
 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 	<modelVersion>4.0.0</modelVersion> 
 	<parent>
-	  <groupId>org.jboss.tools</groupId>
-	  <artifactId>org.jboss.tools.parent.pom</artifactId>
+	  <groupId>org.eclipse.bpel</groupId>
+	  <artifactId>org.eclipse.bpel.parent.pom</artifactId>
 	  <version>0.0.1-SNAPSHOT</version>
+	  <relativePath>../../parent/pom.xml</relativePath>
 	</parent>
-	<groupId>org.jboss.tools.bpel.plugins</groupId>
+	<groupId>org.eclipse.bpel.plugins</groupId>
 	<artifactId>org.eclipse.bpel.jboss.riftsaw.runtime</artifactId> 
-	<version>0.6.0-SNAPSHOT</version>
+	<version>0.5.0-SNAPSHOT</version>
 	<packaging>eclipse-plugin</packaging>
 </project>
diff --git a/plugins/org.eclipse.bpel.runtimes/plugin.properties b/plugins/org.eclipse.bpel.runtimes/plugin.properties
index f474357..a839e78 100644
--- a/plugins/org.eclipse.bpel.runtimes/plugin.properties
+++ b/plugins/org.eclipse.bpel.runtimes/plugin.properties
@@ -7,7 +7,7 @@
 #
 ###############################################################################
 pluginName = Eclipse BPEL Designer Runtimes
-providerName = University College London Software Systems Engineering 
+providerName = Eclipse.org 
 
 MODULE_TYPE_NAME=BPEL 2.0 Process
 MODULE_TYPE_DESCRIPTION=Module representing a BPEL process
diff --git a/plugins/pom.xml b/plugins/pom.xml
index 7096988..e00fae8 100644
--- a/plugins/pom.xml
+++ b/plugins/pom.xml
@@ -19,15 +19,13 @@
 		<module>org.eclipse.bpel.cheatsheet</module>
 		<module>org.eclipse.bpel.common.model</module>
 		<module>org.eclipse.bpel.common.ui</module>
+		<module>org.eclipse.bpel.jboss.riftsaw.runtime</module>
 		<module>org.eclipse.bpel.model</module>
 		<module>org.eclipse.bpel.runtimes</module>
 		<module>org.eclipse.bpel.ui</module>
 		<module>org.eclipse.bpel.validator</module>
 		<module>org.eclipse.bpel.wsil.model</module>
 		<module>org.eclipse.bpel.xpath10</module>
-<!--		
-		<module>org.eclipse.bpel.jboss.riftsaw.runtime</module>
--->		
 	</modules>
 </project>
 	
diff --git a/readme.txt b/readme.txt
deleted file mode 100644
index 3faa378..0000000
--- a/readme.txt
+++ /dev/null
@@ -1 +0,0 @@
-This is the BPEL Designer project
diff --git a/site/site.xml b/site/site.xml
index 7aa1ee2..e75b8da 100644
--- a/site/site.xml
+++ b/site/site.xml
@@ -1,17 +1,24 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
-   <description>
-      To install these features, point Eclipse at this site.
-   </description>
-   <feature url="features/org.eclipse.bpel.feature_0.0.0.jar" id="org.eclipse.bpel.feature" version="0.0.0">
-      <category name="Eclipse BPEL Designer Nightly Build Update Site"/>
-   </feature>
-   <feature url="features/org.eclipse.bpel.source.feature_0.0.0.jar" id="org.eclipse.bpel.source.feature" version="0.0.0">
-      <category name="Eclipse BPEL Designer Nightly Build Update Site"/>
-   </feature>
-   <category-def name="Eclipse BPEL Designer Nightly Build Update Site" label="Eclipse BPEL Designer Nightly Build Update Site">
-      <description>
-         Eclipse BPEL Designer Nightly Build Update Site: contains all features in this build.
-      </description>
-   </category-def>
-</site>
+<?xml version="1.0" encoding="UTF-8"?>
+<site>
+   <description>
+      To install these features, point Eclipse at this site.
+   </description>
+   <feature url="features/org.eclipse.bpel.feature_0.0.0.jar" id="org.eclipse.bpel.feature" version="0.0.0">
+      <category name="Eclipse BPEL Designer"/>
+   </feature>
+   <feature url="features/org.eclipse.bpel.apache.ode.runtime.feature_0.0.0.jar" id="org.eclipse.bpel.apache.ode.runtime.feature" version="0.0.0">
+      <category name="Eclipse BPEL Designer - Runtime Deployment Adapters"/>
+   </feature>
+   <feature url="features/org.eclipse.bpel.jboss.riftsaw.runtime.feature_0.0.0.jar" id="org.eclipse.bpel.jboss.riftsaw.runtime.feature" version="0.0.0">
+      <category name="Eclipse BPEL Designer - Runtime Deployment Adapters"/>
+   </feature>
+   <feature url="features/org.eclipse.bpel.source.feature_0.0.0.jar" id="org.eclipse.bpel.source.feature" version="0.0.0">
+      <category name="Eclipse BPEL Designer"/>
+   </feature>
+   <category-def name="Eclipse BPEL Designer" label="Eclipse BPEL Designer">
+      <description>
+         Eclipse BPEL Designer Nightly Build Update Site: contains all features in this build.
+      </description>
+   </category-def>
+   <category-def name="Eclipse BPEL Designer - Runtime Deployment Adapters" label="Eclipse BPEL Designer - Runtime Deployment Adapters"/>
+</site>
