diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..f2bd24b
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,38 @@
+**/bin/
+**/target/
+**._trace
+**.log.properties
+**git.properties
+**/target/
+**/.metadata/
+
+**/emf-gen/**/.gitignore
+**/src-gen/**/.gitignore
+**/git.properties
+**/*.java._trace
+**/*.log
+**/*.log.properties
+
+**/bin/
+**/build/
+*.class
+*.ctrl
+**/Debug/
+.DS_Store
+*.ear
+*.war
+
+**/*.actionbin
+**/*.blipbin
+**/*.chartbin
+**/*.cubebin
+**/*.datatypebin
+**/*.dtobin
+**/*.entitybin
+**/*.servicebin
+**/*.tablebin
+**/*.uibin
+**/*.uisemanticbin
+**/*.xtendbin
+**/*.xtextbin
+
diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/.settings/org.eclipse.m2e.core.prefs b/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/jenkins.build.config.xml b/jenkins.build.config.xml
index 76b5227..7448d9c 100644
--- a/jenkins.build.config.xml
+++ b/jenkins.build.config.xml
@@ -16,7 +16,6 @@
         <jenkins.build.dependencies>
                 <jenkins.build.dependency>org.eclipse.osbp.authentication</jenkins.build.dependency>
                 <jenkins.build.dependency>org.eclipse.osbp.ecview.core</jenkins.build.dependency>
-                <jenkins.build.dependency>org.eclipse.osbp.i18n.common</jenkins.build.dependency>
                 <jenkins.build.dependency>org.eclipse.osbp.runtime</jenkins.build.dependency>
                 <jenkins.build.dependency>org.eclipse.osbp.ui.api</jenkins.build.dependency>
                 <jenkins.build.dependency>org.eclipse.osbp.vaaclipse</jenkins.build.dependency>
diff --git a/org.eclipse.osbp.vaaclipse.common.ecview.feature/.gitignore b/org.eclipse.osbp.vaaclipse.common.ecview.feature/.gitignore
new file mode 100644
index 0000000..b83d222
--- /dev/null
+++ b/org.eclipse.osbp.vaaclipse.common.ecview.feature/.gitignore
@@ -0,0 +1 @@
+/target/
diff --git a/org.eclipse.osbp.vaaclipse.common.ecview.feature/.settings/org.eclipse.core.resources.prefs b/org.eclipse.osbp.vaaclipse.common.ecview.feature/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/org.eclipse.osbp.vaaclipse.common.ecview.feature/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/org.eclipse.osbp.vaaclipse.common.ecview.feature/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.osbp.vaaclipse.common.ecview.feature/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/org.eclipse.osbp.vaaclipse.common.ecview.feature/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.osbp.vaaclipse.common.ecview.feature/.settings/org.eclipse.xtend.core.Xtend.prefs b/org.eclipse.osbp.vaaclipse.common.ecview.feature/.settings/org.eclipse.xtend.core.Xtend.prefs
new file mode 100644
index 0000000..0933f8c
--- /dev/null
+++ b/org.eclipse.osbp.vaaclipse.common.ecview.feature/.settings/org.eclipse.xtend.core.Xtend.prefs
@@ -0,0 +1,10 @@
+//outlet.DEFAULT_OUTPUT.sourceFolder.src/test/java.directory=src/test/generated-sources/xtend
+eclipse.preferences.version=1
+is_project_specific=true
+outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true
+outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false
+outlet.DEFAULT_OUTPUT.sourceFolder.emf-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=true
diff --git a/org.eclipse.osbp.vaaclipse.common.ecview.feature/feature.xml b/org.eclipse.osbp.vaaclipse.common.ecview.feature/feature.xml
index 3027745..4e3ccee 100644
--- a/org.eclipse.osbp.vaaclipse.common.ecview.feature/feature.xml
+++ b/org.eclipse.osbp.vaaclipse.common.ecview.feature/feature.xml
@@ -14,7 +14,8 @@
         id="org.eclipse.osbp.vaaclipse.common.ecview.feature"
         label="%featureName"
         version="0.9.0.qualifier"
-        provider-name="%providerName">
+        provider-name="%providerName"
+		plugin="org.eclipse.osbp.vaaclipse.common.ecview">
         
     <description>
         %description
diff --git a/org.eclipse.osbp.vaaclipse.common.ecview/.classpath b/org.eclipse.osbp.vaaclipse.common.ecview/.classpath
new file mode 100644
index 0000000..cf36b56
--- /dev/null
+++ b/org.eclipse.osbp.vaaclipse.common.ecview/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src/"/>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/org.eclipse.osbp.vaaclipse.common.ecview/.gitignore b/org.eclipse.osbp.vaaclipse.common.ecview/.gitignore
new file mode 100644
index 0000000..92145bc
--- /dev/null
+++ b/org.eclipse.osbp.vaaclipse.common.ecview/.gitignore
@@ -0,0 +1,2 @@
+/bin/
+/target/
\ No newline at end of file
diff --git a/org.eclipse.osbp.vaaclipse.common.ecview/.settings/com.vaadin.integration.eclipse.prefs b/org.eclipse.osbp.vaaclipse.common.ecview/.settings/com.vaadin.integration.eclipse.prefs
new file mode 100644
index 0000000..e1173bc
--- /dev/null
+++ b/org.eclipse.osbp.vaaclipse.common.ecview/.settings/com.vaadin.integration.eclipse.prefs
@@ -0,0 +1,2 @@
+com.vaadin.integration.eclipse.previousCompileAction=widgetset
+eclipse.preferences.version=1
diff --git a/org.eclipse.osbp.vaaclipse.common.ecview/.settings/org.eclipse.bpmn2.modeler.core.prefs b/org.eclipse.osbp.vaaclipse.common.ecview/.settings/org.eclipse.bpmn2.modeler.core.prefs
new file mode 100644
index 0000000..4bffcea
--- /dev/null
+++ b/org.eclipse.osbp.vaaclipse.common.ecview/.settings/org.eclipse.bpmn2.modeler.core.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+target.runtime=org.jboss.runtime.jbpm5
diff --git a/org.eclipse.osbp.vaaclipse.common.ecview/.settings/org.eclipse.core.resources.prefs b/org.eclipse.osbp.vaaclipse.common.ecview/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/org.eclipse.osbp.vaaclipse.common.ecview/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/org.eclipse.osbp.vaaclipse.common.ecview/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.osbp.vaaclipse.common.ecview/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..a698e59
--- /dev/null
+++ b/org.eclipse.osbp.vaaclipse.common.ecview/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,12 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/org.eclipse.osbp.vaaclipse.common.ecview/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.osbp.vaaclipse.common.ecview/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/org.eclipse.osbp.vaaclipse.common.ecview/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.osbp.vaaclipse.common.ecview/.settings/org.eclipse.pde.core.prefs b/org.eclipse.osbp.vaaclipse.common.ecview/.settings/org.eclipse.pde.core.prefs
new file mode 100644
index 0000000..f29e940
--- /dev/null
+++ b/org.eclipse.osbp.vaaclipse.common.ecview/.settings/org.eclipse.pde.core.prefs
@@ -0,0 +1,3 @@
+eclipse.preferences.version=1
+pluginProject.extensions=false
+resolve.requirebundle=false
diff --git a/org.eclipse.osbp.vaaclipse.common.ecview/.settings/org.eclipse.xtend.core.Xtend.prefs b/org.eclipse.osbp.vaaclipse.common.ecview/.settings/org.eclipse.xtend.core.Xtend.prefs
new file mode 100644
index 0000000..0933f8c
--- /dev/null
+++ b/org.eclipse.osbp.vaaclipse.common.ecview/.settings/org.eclipse.xtend.core.Xtend.prefs
@@ -0,0 +1,10 @@
+//outlet.DEFAULT_OUTPUT.sourceFolder.src/test/java.directory=src/test/generated-sources/xtend
+eclipse.preferences.version=1
+is_project_specific=true
+outlet.DEFAULT_OUTPUT.hideLocalSyntheticVariables=true
+outlet.DEFAULT_OUTPUT.installDslAsPrimarySource=false
+outlet.DEFAULT_OUTPUT.sourceFolder.emf-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.src.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.sourceFolder.xtend-gen.directory=xtend-gen
+outlet.DEFAULT_OUTPUT.userOutputPerSourceFolder=true
diff --git a/org.eclipse.osbp.vaaclipse.common.ecview/META-INF/MANIFEST.MF b/org.eclipse.osbp.vaaclipse.common.ecview/META-INF/MANIFEST.MF
index d12850e..81abff6 100644
--- a/org.eclipse.osbp.vaaclipse.common.ecview/META-INF/MANIFEST.MF
+++ b/org.eclipse.osbp.vaaclipse.common.ecview/META-INF/MANIFEST.MF
@@ -4,8 +4,7 @@
 Bundle-SymbolicName: org.eclipse.osbp.vaaclipse.common.ecview;singleton:=true
 Bundle-Vendor: Eclipse OSBP
 Bundle-Version: 0.9.0.qualifier
-Require-Bundle: javax.annotation;bundle-version="[1.1.0,1.2.0)",
- javax.inject;bundle-version="1.0.0",
+Require-Bundle: javax.inject;bundle-version="1.0.0",
  org.eclipse.osbp.runtime.common;bundle-version="[0.9.0,0.10.0)",
  org.eclipse.osbp.ecview.core.common;bundle-version="[0.9.0,0.10.0)",
  org.eclipse.e4.core.services;bundle-version="1.2.1",
@@ -20,8 +19,8 @@
  org.eclipse.emf.ecore.xmi
 Bundle-RequiredExecutionEnvironment: JavaSE-1.8
 Export-Package: org.eclipse.osbp.vaaclipse.common.ecview;version="0.9.0";x-internal:=true
-Import-Package: org.eclipse.core.runtime;version="3.4.0",
- org.eclipse.osbp.i18n.common;version="0.9.0",
+Import-Package: javax.annotation,
+ org.eclipse.core.runtime;version="3.4.0",
  org.eclipse.osbp.ui.api.metadata;version="0.9.0",
  org.eclipse.osbp.ui.api.user;version="0.9.0",
  org.eclipse.osbp.user;version="0.9.0",
diff --git a/org.eclipse.osbp.vaaclipse.common.ecview/src/org/eclipse/osbp/vaaclipse/common/ecview/ECViewContainer.java b/org.eclipse.osbp.vaaclipse.common.ecview/src/org/eclipse/osbp/vaaclipse/common/ecview/ECViewContainer.java
index 5b5228f..37a0bb5 100644
--- a/org.eclipse.osbp.vaaclipse.common.ecview/src/org/eclipse/osbp/vaaclipse/common/ecview/ECViewContainer.java
+++ b/org.eclipse.osbp.vaaclipse.common.ecview/src/org/eclipse/osbp/vaaclipse/common/ecview/ECViewContainer.java
@@ -8,7 +8,7 @@
  * Contributors: 
  * 		Florian Pirchner - Initial implementation
  */
- package org.eclipse.osbp.vaaclipse.common.ecview;
+package org.eclipse.osbp.vaaclipse.common.ecview;
 
 import java.util.ArrayList;
 import java.util.Collections;
@@ -19,6 +19,10 @@
 import javax.inject.Inject;
 
 import org.eclipse.e4.core.services.events.IEventBroker;
+import org.eclipse.e4.ui.model.application.MApplication;
+import org.eclipse.e4.ui.model.application.ui.advanced.MPerspective;
+import org.eclipse.e4.ui.model.application.ui.basic.MWindow;
+import org.eclipse.e4.ui.workbench.modeling.EModelService;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.osbp.ecview.core.common.context.IViewContext;
 import org.eclipse.osbp.ecview.core.common.editpart.IViewEditpart;
@@ -29,18 +33,24 @@
 import org.eclipse.osbp.vaaclipse.publicapi.events.IWidgetModelAssociations;
 import org.osgi.service.event.Event;
 import org.osgi.service.event.EventHandler;
- 
-public class ECViewContainer implements IECViewContainer, EventHandler,
-		IWidgetModelAssociations {
+
+public class ECViewContainer implements IECViewContainer, EventHandler, IWidgetModelAssociations {
+
+	private static final String ECVIEWS = "ecviews";
 
 	@Inject
 	private IEventBroker eventBroker;
 
 	@Inject
+	private EModelService modelService;
+
+	@Inject
+	private MApplication mApp;
+
+	@Inject
 	private IWidgetModelAssociations masterAssociations;
 
-	private List<IViewEditpart> views = Collections
-			.synchronizedList(new ArrayList<IViewEditpart>());
+	private List<IViewEditpart> views = Collections.synchronizedList(new ArrayList<IViewEditpart>());
 
 	@Override
 	public List<IViewEditpart> getECViews() {
@@ -49,16 +59,35 @@
 
 	@Override
 	public void handleEvent(Event event) {
-		ILifecycleEvent lifecycle = (ILifecycleEvent) event
-				.getProperty(IEventBroker.DATA);
+		ILifecycleEvent lifecycle = (ILifecycleEvent) event.getProperty(IEventBroker.DATA);
 		if (lifecycle.getType().equals(ILifecycleEvent.CONTEXT_CREATED)) {
 			IViewEditpart editpart = (IViewEditpart) lifecycle.getEditpart();
 			if (!views.contains(editpart)) {
 				views.add(editpart);
+
+				MPerspective mPersp = modelService.getActivePerspective(mApp.getChildren().get(0));
+				if (mPersp != null) {
+					@SuppressWarnings("unchecked")
+					List<IViewContext> contexts = (List<IViewContext>) mPersp.getTransientData().get(ECVIEWS);
+					if (contexts == null) {
+						contexts = new ArrayList<>();
+						mPersp.getTransientData().put(ECVIEWS, contexts);
+					}
+					contexts.add(editpart.getContext());
+				}
+
 			}
 		} else if (lifecycle.getType().equals(ILifecycleEvent.CONTEXT_DISPOSED)) {
 			IViewEditpart editpart = (IViewEditpart) lifecycle.getEditpart();
 			views.remove(editpart);
+			MPerspective mPersp = modelService.getActivePerspective(mApp.getChildren().get(0));
+			if (mPersp != null) {
+				@SuppressWarnings("unchecked")
+				List<IViewContext> contexts = (List<IViewContext>) mPersp.getTransientData().get(ECVIEWS);
+				if (contexts != null) {
+					contexts.remove(editpart.getContext());
+				}
+			}
 		}
 	}
 
@@ -80,8 +109,8 @@
 	public EObject getElement(Object component) {
 		synchronized (views) {
 			for (IViewEditpart ep : views) {
-				IWidgetAssocationsService<Object, YElement> service = ep
-						.getContext().getService(IWidgetAssocationsService.ID);
+				IWidgetAssocationsService<Object, YElement> service = ep.getContext()
+						.getService(IWidgetAssocationsService.ID);
 				EObject result = service.getModelElement(component);
 				if (result != null) {
 					return result;
@@ -99,8 +128,8 @@
 		}
 		synchronized (views) {
 			for (IViewEditpart ep : views) {
-				IWidgetAssocationsService<Object, YElement> service = ep
-						.getContext().getService(IWidgetAssocationsService.ID);
+				IWidgetAssocationsService<Object, YElement> service = ep.getContext()
+						.getService(IWidgetAssocationsService.ID);
 				Object result = service.getWidget((YElement) element);
 				if (result != null) {
 					return result;
@@ -123,4 +152,17 @@
 				"Not allowed for a thirdparty assocation! Use the main assocation instance to register thirdparties.");
 	}
 
+	@Override
+	public List<IViewContext> getECViews(MPerspective perspective) {
+		MPerspective mPersp = modelService.getActivePerspective(mApp.getChildren().get(0));
+		if (mPersp != null) {
+			@SuppressWarnings("unchecked")
+			List<IViewContext> contexts = (List<IViewContext>) mPersp.getTransientData().get(ECVIEWS);
+			if (contexts != null) {
+				return Collections.unmodifiableList(contexts);
+			}
+		}
+		return Collections.emptyList();
+	}
+
 }
diff --git a/org.eclipse.osbp.vaaclipse.common.ecview/src/org/eclipse/osbp/vaaclipse/common/ecview/ECViewSessionHelper.java b/org.eclipse.osbp.vaaclipse.common.ecview/src/org/eclipse/osbp/vaaclipse/common/ecview/ECViewSessionHelper.java
index 5547659..bc6e1e5 100644
--- a/org.eclipse.osbp.vaaclipse.common.ecview/src/org/eclipse/osbp/vaaclipse/common/ecview/ECViewSessionHelper.java
+++ b/org.eclipse.osbp.vaaclipse.common.ecview/src/org/eclipse/osbp/vaaclipse/common/ecview/ECViewSessionHelper.java
@@ -18,7 +18,6 @@
 
 import org.eclipse.e4.core.contexts.IEclipseContext;
 import org.eclipse.osbp.ecview.core.common.context.IViewContext;
-import org.eclipse.osbp.i18n.common.OSI18nService;
 import org.eclipse.osbp.runtime.common.i18n.II18nService;
 import org.eclipse.osbp.ui.api.metadata.IDSLMetadataService;
 import org.eclipse.osbp.ui.api.user.IUser;
@@ -49,7 +48,6 @@
 		// register services to be used
 		Map<String, Object> services = new HashMap<String, Object>();
 		services.put(org.eclipse.osbp.runtime.common.event.IEventBroker.class.getName(), new E4EventBrokerAdapter(eventBroker));
-		services.put(II18nService.class.getName(), new OSI18nService(dslMetadataService, i18nService));
 		services.put(IUser.class.getName(), user);
 		services.put(IViewContext.PARAM_THIRDPARTY_SERVICE_PROVIDER, new ECViewToE4ServiceBridge(context));
 		properties.put(IViewContext.PARAM_SERVICES, services);
diff --git a/pom.xml b/pom.xml
index 9ccc034..ac6d5ce 100644
--- a/pom.xml
+++ b/pom.xml
@@ -63,22 +63,17 @@
                     <artifactId>target-platform-configuration</artifactId>
                     <version>${tycho-version}</version>
                     <configuration>
-                        <filters>
-                            <filter>
-                                <type>eclipse-plugin</type>
-                                <id>org.apache.aries.transaction.manager</id>
-                                <restrictTo>
-                                    <!--  use a range that does not exist, we can not mix removeall and versionRange -->
-                                    <versionRange>[0.5.0,0.5.1)</versionRange>
-                                </restrictTo>
-                            </filter>
-                        </filters>
                         <resolver>p2</resolver>
                         <pomDependencies>consider</pomDependencies>
                         <environments>
                             <environment>
                                 <os>win32</os>
                                 <ws>win32</ws>
+                                <arch>x86</arch>
+                            </environment>
+                            <environment>
+                                <os>win32</os>
+                                <ws>win32</ws>
                                 <arch>x86_64</arch>
                             </environment>
                             <environment>
