diff --git a/core/src/main/java/info/kwarc/sally/comm/core/Heartbeatrequest.java b/core/src/main/java/info/kwarc/sally/comm/core/Heartbeatrequest.java
new file mode 100644
index 0000000000000000000000000000000000000000..6b83f96f8ac0c3c6dc7d58429d213860b6581dfe
--- /dev/null
+++ b/core/src/main/java/info/kwarc/sally/comm/core/Heartbeatrequest.java
@@ -0,0 +1,39 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2014.04.13 at 10:53:19 PM CEST 
+//
+
+
+package info.kwarc.sally.comm.core;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType>
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "")
+@XmlRootElement(name = "heartbeatrequest")
+public class Heartbeatrequest {
+
+
+}
diff --git a/core/src/main/java/info/kwarc/sally/comm/core/Heartbeatresponse.java b/core/src/main/java/info/kwarc/sally/comm/core/Heartbeatresponse.java
new file mode 100644
index 0000000000000000000000000000000000000000..22c3c3f21432747f32f4c8ebc374239117bb29ac
--- /dev/null
+++ b/core/src/main/java/info/kwarc/sally/comm/core/Heartbeatresponse.java
@@ -0,0 +1,39 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2014.04.13 at 10:53:19 PM CEST 
+//
+
+
+package info.kwarc.sally.comm.core;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for anonymous complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType>
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "")
+@XmlRootElement(name = "heartbeatresponse")
+public class Heartbeatresponse {
+
+
+}
diff --git a/core/src/main/java/info/kwarc/sally/comm/core/ObjectFactory.java b/core/src/main/java/info/kwarc/sally/comm/core/ObjectFactory.java
index cdc0ee6478dba2f8078a20f2416c60117775065a..0e6586a5305c229af5251d7adbf63d2c84792737 100644
--- a/core/src/main/java/info/kwarc/sally/comm/core/ObjectFactory.java
+++ b/core/src/main/java/info/kwarc/sally/comm/core/ObjectFactory.java
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2014.04.10 at 09:55:55 AM CEST 
+// Generated on: 2014.04.13 at 10:53:19 PM CEST 
 //
 
 
@@ -60,4 +60,20 @@ public class ObjectFactory {
         return new Onsallyframe();
     }
 
+    /**
+     * Create an instance of {@link Heartbeatrequest }
+     * 
+     */
+    public Heartbeatrequest createHeartbeatrequest() {
+        return new Heartbeatrequest();
+    }
+
+    /**
+     * Create an instance of {@link Heartbeatresponse }
+     * 
+     */
+    public Heartbeatresponse createHeartbeatresponse() {
+        return new Heartbeatresponse();
+    }
+
 }
diff --git a/core/src/main/java/info/kwarc/sally/comm/core/Onsallyframe.java b/core/src/main/java/info/kwarc/sally/comm/core/Onsallyframe.java
index a7a8084c19ceb7b64775be36cd208727b41ec76b..7df42101fc26919aebc8af2082009f8353d5a87f 100644
--- a/core/src/main/java/info/kwarc/sally/comm/core/Onsallyframe.java
+++ b/core/src/main/java/info/kwarc/sally/comm/core/Onsallyframe.java
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2014.04.10 at 09:55:55 AM CEST 
+// Generated on: 2014.04.13 at 10:53:19 PM CEST 
 //
 
 
diff --git a/core/src/main/java/info/kwarc/sally/comm/core/Registerdocument.java b/core/src/main/java/info/kwarc/sally/comm/core/Registerdocument.java
index b11db3979ad386cfe21ad42f60b6b6bc40143d11..9814854c64e86ef57f37f9343d725ea45b93ab1a 100644
--- a/core/src/main/java/info/kwarc/sally/comm/core/Registerdocument.java
+++ b/core/src/main/java/info/kwarc/sally/comm/core/Registerdocument.java
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2014.04.10 at 09:55:55 AM CEST 
+// Generated on: 2014.04.13 at 10:53:19 PM CEST 
 //
 
 
diff --git a/core/src/main/java/info/kwarc/sally/comm/core/Registerdocumentresponse.java b/core/src/main/java/info/kwarc/sally/comm/core/Registerdocumentresponse.java
index 64f2ada773ca00b788fdda2b57731fbea92f42ab..9defce7abc31e4c7ad5151b0a676f0e4d088c285 100644
--- a/core/src/main/java/info/kwarc/sally/comm/core/Registerdocumentresponse.java
+++ b/core/src/main/java/info/kwarc/sally/comm/core/Registerdocumentresponse.java
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2014.04.10 at 09:55:55 AM CEST 
+// Generated on: 2014.04.13 at 10:53:19 PM CEST 
 //
 
 
diff --git a/core/src/main/java/info/kwarc/sally/comm/core/package-info.java b/core/src/main/java/info/kwarc/sally/comm/core/package-info.java
index f0790799fd3636453e62806d088933109fa89e06..434b0e10a9662d19db6b012e8e3640f5a9379504 100644
--- a/core/src/main/java/info/kwarc/sally/comm/core/package-info.java
+++ b/core/src/main/java/info/kwarc/sally/comm/core/package-info.java
@@ -2,7 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.2.4-2 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
-// Generated on: 2014.04.10 at 09:55:55 AM CEST 
+// Generated on: 2014.04.13 at 10:53:19 PM CEST 
 //
 
 @javax.xml.bind.annotation.XmlSchema(namespace = "http://kwarc.info/sally/comm/core", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
diff --git a/core/src/main/java/info/kwarc/sally4/core/CamelContextProvider.java b/core/src/main/java/info/kwarc/sally4/core/CamelContextProvider.java
index 96ee3aaefc41cfbec4db6d18970212c4bfb1144b..3a03da2e771089a185cc6f08fbd918eaa0008b08 100644
--- a/core/src/main/java/info/kwarc/sally4/core/CamelContextProvider.java
+++ b/core/src/main/java/info/kwarc/sally4/core/CamelContextProvider.java
@@ -1,7 +1,10 @@
 package info.kwarc.sally4.core;
 
-import org.apache.camel.CamelContext;
+import org.apache.camel.Component;
 
 public interface CamelContextProvider {
-	CamelContext getSallyCamelContext();
+	Component getComponent(String componentName);
+	void registerGlobalComponent(String componentName, Component component);
+	void unregisterGlobalComponent(String componentName);
+	String getName();
 }
diff --git a/core/src/main/java/info/kwarc/sally4/core/impl/Activator.java b/core/src/main/java/info/kwarc/sally4/core/impl/Activator.java
index 980076768575706db8288f1deda693cfd92ae37a..6a99ce78badecbb8892c3f1b462790512270ea8c 100644
--- a/core/src/main/java/info/kwarc/sally4/core/impl/Activator.java
+++ b/core/src/main/java/info/kwarc/sally4/core/impl/Activator.java
@@ -25,6 +25,7 @@ public class Activator implements BundleActivator, CamelContextProvider {
 	}
 
 	public void start(BundleContext context) throws Exception {
+		log.info("Starting SallyCore");
 		ServiceReference<?> serviceRef = context.getServiceReference(CamelContext.class.getName());
 		if (serviceRef == null) {
 			camelContext = new DefaultCamelContext();
@@ -41,4 +42,21 @@ public class Activator implements BundleActivator, CamelContextProvider {
 		return camelContext;
 	}
 
+	public org.apache.camel.Component getComponent(String componentName) {
+		return camelContext.getComponent(componentName);
+	}
+
+	public void registerGlobalComponent(String componentName,
+			org.apache.camel.Component component) {
+		camelContext.addComponent(componentName, component);
+	}
+
+	public void unregisterGlobalComponent(String componentName) {
+		camelContext.removeComponent(componentName);
+	}
+
+	public String getName() {
+		return camelContext.getName();
+	}
+
 }
diff --git a/core/src/main/resources/core.xsd b/core/src/main/resources/core.xsd
index 36edc8f3ccbe7edd51e046527264394f24a1998f..fe2373f4446fca2c8f055abf80dabb6aee051687 100644
--- a/core/src/main/resources/core.xsd
+++ b/core/src/main/resources/core.xsd
@@ -31,5 +31,15 @@
 		</xs:complexType>
 	</xs:element>
 
+	<xs:element name="heartbeatrequest">
+		<xs:complexType>
+		</xs:complexType>
+	</xs:element>
+
+	<xs:element name="heartbeatresponse">
+		<xs:complexType>
+		</xs:complexType>
+	</xs:element>
+
 
 </xs:schema>
\ No newline at end of file
diff --git a/docmanager/pom.xml b/docmanager/pom.xml
index 42ba0b76ad7d7378ae21a62a7b30f51cc461fc53..49079f20ca77fb13281da9161eaf56cbc7b26c5c 100644
--- a/docmanager/pom.xml
+++ b/docmanager/pom.xml
@@ -30,6 +30,18 @@
 			<scope>provided</scope>
 		</dependency>
 
+		<dependency>
+			<groupId>info.kwarc.sally4</groupId>
+			<artifactId>activemq</artifactId>
+			<version>0.0.1-SNAPSHOT</version>
+		</dependency>
+
+		<dependency>
+			<groupId>info.kwarc.sally4</groupId>
+			<artifactId>docmanager</artifactId>
+			<version>0.0.1-SNAPSHOT</version>
+		</dependency>
+
 		<dependency>
 			<groupId>org.apache.felix</groupId>
 			<artifactId>org.apache.felix.ipojo.annotations</artifactId>
@@ -48,6 +60,11 @@
 			<version>0.0.1-SNAPSHOT</version>
 		</dependency>
 
+		<dependency>
+			<groupId>org.slf4j</groupId>
+			<artifactId>slf4j-simple</artifactId>
+			<version>1.7.7</version>
+		</dependency>
 	</dependencies>
 
 	<build>
@@ -60,8 +77,9 @@
 				<configuration>
 					<instructions>
 						<Bundle-SymbolicName>${pom.artifactId}</Bundle-SymbolicName>
-						<Private-Package>info.kwarc.sally4.docmanager</Private-Package>
-						<Export-Package></Export-Package>
+						<Private-Package>info.kwarc.sally4.docmanager.impl</Private-Package>
+						<Import-Package>*;</Import-Package>
+						<Export-Package>info.kwarc.sally4.docmanager*</Export-Package>
 					</instructions>
 				</configuration>
 			</plugin>
diff --git a/docmanager/src/main/java/info/kwarc/sally4/docmanager/AlexRoute.java b/docmanager/src/main/java/info/kwarc/sally4/docmanager/AlexRoute.java
index d4fae0fff1fe49cfe3f6adc6dd0a735f9ca2c194..d612b629d4c165cb75c86fa86ad84aecdf6ed004 100644
--- a/docmanager/src/main/java/info/kwarc/sally4/docmanager/AlexRoute.java
+++ b/docmanager/src/main/java/info/kwarc/sally4/docmanager/AlexRoute.java
@@ -1,5 +1,12 @@
 package info.kwarc.sally4.docmanager;
 
 
+
+
 public interface AlexRoute {
+	public String getAlexStateQueue();
+	public String getAlexQueue();
+	
+	public void addOnStopHandler(Runnable r);
+	public void stop();
 }
diff --git a/docmanager/src/main/java/info/kwarc/sally4/docmanager/DocumentManager.java b/docmanager/src/main/java/info/kwarc/sally4/docmanager/DocumentManager.java
index f3ee254bb6d8202d2e928be4968aee1f7ddc57f5..1e485415ecafb92b8f645fb6c423062e20eb800a 100644
--- a/docmanager/src/main/java/info/kwarc/sally4/docmanager/DocumentManager.java
+++ b/docmanager/src/main/java/info/kwarc/sally4/docmanager/DocumentManager.java
@@ -3,5 +3,5 @@ package info.kwarc.sally4.docmanager;
 import info.kwarc.sally.comm.core.Registerdocument;
 
 public interface DocumentManager {
-	void registerDocument(Registerdocument doc);
+	AlexRoute registerDocument(Registerdocument doc);
 }
diff --git a/docmanager/src/main/java/info/kwarc/sally4/docmanager/TT.java b/docmanager/src/main/java/info/kwarc/sally4/docmanager/TT.java
new file mode 100644
index 0000000000000000000000000000000000000000..7d6bc4c85ebe0a2db0df844a8289a5dd82e100fe
--- /dev/null
+++ b/docmanager/src/main/java/info/kwarc/sally4/docmanager/TT.java
@@ -0,0 +1,71 @@
+package info.kwarc.sally4.docmanager;
+
+import info.kwarc.sally.comm.core.Registerdocument;
+import info.kwarc.sally4.docmanager.component.AlexComponent;
+
+import org.apache.activemq.ActiveMQConnectionFactory;
+import org.apache.activemq.camel.component.ActiveMQComponent;
+import org.apache.activemq.camel.component.ActiveMQConfiguration;
+import org.apache.camel.CamelContext;
+import org.apache.camel.ProducerTemplate;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.impl.DefaultCamelContext;
+
+public class TT extends RouteBuilder {
+	String sally_queue;
+
+	public String getSally_queue() {
+		return "activemq:queue:"+sally_queue;
+	}
+	
+	public static void main(String[] args) throws Exception {
+		CamelContext context = new DefaultCamelContext();
+
+		ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616");
+		connectionFactory.setUserName("webclient");
+		connectionFactory.setPassword("webclient");
+		
+		ActiveMQConfiguration config = new ActiveMQConfiguration();
+		config.setConnectionFactory(connectionFactory);
+
+		ActiveMQComponent comp = new ActiveMQComponent(config);
+		context.addComponent("activemq", comp);
+		context.addComponent("alex", new AlexComponent(new AlexRoute() {
+			
+			public String getAlexStateQueue() {
+				return "sally_alex";
+			}
+			
+			public String getAlexQueue() {
+				return "alex";
+			}
+
+			public void addOnStopHandler(Runnable r) {
+				
+			}
+			
+			public void stop() {
+				
+			}
+		}));
+
+		context.addRoutes(new TT());
+		context.start();
+		
+		
+		ProducerTemplate temp = context.createProducerTemplate();
+
+		System.out.println("starting my stuff");
+		Registerdocument reg = new Registerdocument();
+		reg.setDocumentqueue("client123");
+		reg.setTheoqueue("theo");
+		reg.getInterfaces().add("test");
+		temp.sendBody("direct:client-register", reg);
+	}
+
+	@Override
+	public void configure() throws Exception {
+		from("direct:client-register")
+			.to("alex:default");
+	}
+}
diff --git a/docmanager/src/main/java/info/kwarc/sally4/docmanager/TestMain.java b/docmanager/src/main/java/info/kwarc/sally4/docmanager/TestMain.java
new file mode 100644
index 0000000000000000000000000000000000000000..85d49fe425df0f8edc5f5f6d94f89202587b4d9b
--- /dev/null
+++ b/docmanager/src/main/java/info/kwarc/sally4/docmanager/TestMain.java
@@ -0,0 +1,93 @@
+package info.kwarc.sally4.docmanager;
+
+import info.kwarc.sally.comm.CommUtils;
+import info.kwarc.sally.comm.core.Onsallyframe;
+import info.kwarc.sally.comm.core.Registerdocument;
+import info.kwarc.sally.comm.core.Registerdocumentresponse;
+import info.kwarc.sally4.docmanager.routes.SallyRegisterRoute;
+
+import org.apache.activemq.ActiveMQConnectionFactory;
+import org.apache.activemq.camel.component.ActiveMQComponent;
+import org.apache.activemq.camel.component.ActiveMQConfiguration;
+import org.apache.camel.CamelContext;
+import org.apache.camel.Exchange;
+import org.apache.camel.Processor;
+import org.apache.camel.ProducerTemplate;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.impl.DefaultCamelContext;
+import org.apache.camel.spi.DataFormat;
+
+public class TestMain extends RouteBuilder {
+	String sally_queue;
+
+	public String getSally_queue() {
+		return "activemq:queue:"+sally_queue;
+	}
+	
+	public static void main(String[] args) throws Exception {
+		CamelContext context = new DefaultCamelContext();
+
+		ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616");
+		connectionFactory.setUserName("webclient");
+		connectionFactory.setPassword("webclient");
+		
+		ActiveMQConfiguration config = new ActiveMQConfiguration();
+		config.setConnectionFactory(connectionFactory);
+
+		ActiveMQComponent comp = new ActiveMQComponent(config);
+		context.addComponent("activemq", comp);
+		
+		context.addRoutes(new TestMain());
+		context.start();
+		
+		ProducerTemplate temp = context.createProducerTemplate();
+
+		System.out.println("starting my stuff");
+		Registerdocument reg = new Registerdocument();
+		reg.setDocumentqueue("client123");
+		reg.setTheoqueue("theo");
+		reg.getInterfaces().add("test");
+		temp.sendBody("direct:client-register", reg);
+	}
+
+	@Override
+	public void configure() throws Exception {
+		DataFormat core = CommUtils.getDataFormat("core");
+				
+		from("direct:client-register")
+			.marshal(core)
+				.inOut("activemq:queue:"+SallyRegisterRoute.sallyRegisterQueue)
+			.to("log:msg")
+			.unmarshal(core)
+			.process(new Processor() {
+				public void process(Exchange exchange) throws Exception {
+					Registerdocumentresponse resp = exchange.getIn().getBody(Registerdocumentresponse.class);
+					sally_queue = resp.getSallyqueue();
+				}
+			})
+			.process(new Processor() {
+				
+				public void process(Exchange exchange) throws Exception {
+					ProducerTemplate temp = exchange.getContext().createProducerTemplate();
+					Onsallyframe onSallyFrame = new Onsallyframe();
+					onSallyFrame.setPosx(100);
+					onSallyFrame.setPosy(100);
+					temp.sendBody("direct:send_sally_doc", onSallyFrame);
+				}
+			});
+		
+		from("direct:send_sally_doc").marshal(core).inOut("activemq:queue:sally_doc_client123").to("log:asd");
+		
+		from("activemq:queue:client123")
+			.to("log:test")
+			.unmarshal(core)
+			.process(new Processor() {
+				
+				public void process(Exchange exchange) throws Exception {
+					System.out.println(exchange.getIn().getBody());
+				}
+			});
+	}
+
+
+}
diff --git a/docmanager/src/main/java/info/kwarc/sally4/docmanager/component/AlexComponent.java b/docmanager/src/main/java/info/kwarc/sally4/docmanager/component/AlexComponent.java
new file mode 100644
index 0000000000000000000000000000000000000000..f279e645699308793b19b4426941c115b14256b1
--- /dev/null
+++ b/docmanager/src/main/java/info/kwarc/sally4/docmanager/component/AlexComponent.java
@@ -0,0 +1,134 @@
+package info.kwarc.sally4.docmanager.component;
+
+import info.kwarc.sally4.docmanager.AlexRoute;
+
+import java.util.Map;
+
+import org.apache.activemq.camel.component.ActiveMQComponent;
+import org.apache.camel.CamelContext;
+import org.apache.camel.Component;
+import org.apache.camel.Consumer;
+import org.apache.camel.Endpoint;
+import org.apache.camel.EndpointConfiguration;
+import org.apache.camel.Exchange;
+import org.apache.camel.ExchangePattern;
+import org.apache.camel.PollingConsumer;
+import org.apache.camel.Processor;
+import org.apache.camel.Producer;
+import org.apache.camel.impl.DefaultComponent;
+
+/**
+ * 
+ * @author Constantin Jucovschi
+ *
+ * This component allows to write Camel routes like from("alex") or to("alex") 
+ * and these will be resolved to the necessary 
+ */
+public class AlexComponent extends DefaultComponent {
+	AlexRoute route;
+	
+	DefaultComponent tt;
+	
+	CamelContext camelContext;
+	
+	Endpoint alexProducer;
+	Endpoint alexConsumer;
+	
+	
+	public AlexComponent(AlexRoute route) {
+		super();
+		this.route = route;
+	}
+
+	@Override
+	protected Endpoint createEndpoint(String uri, String remaining,
+			Map<String, Object> parameters) throws Exception {
+		ActiveMQComponent activeMQComponent = (ActiveMQComponent) getCamelContext().getComponent("activemq");
+		alexConsumer = activeMQComponent.createEndpoint("activemq:queue:"+route.getAlexStateQueue());
+		alexProducer = activeMQComponent.createEndpoint("activemq:queue:"+route.getAlexQueue());
+		return new AlexComponentEndpoint(uri, this);
+	}
+		
+	class AlexComponentEndpoint implements Endpoint {
+
+		String endPoint;
+		Component comp;
+		CamelContext context;
+		
+		AlexComponentEndpoint(String endPoint, Component comp) {
+			this.endPoint = endPoint;
+			this.comp = comp;
+			this.context = comp.getCamelContext();
+		}
+		
+		public boolean isSingleton() {
+			return false;
+		}
+
+		public void start() throws Exception {
+			alexConsumer.start();
+			alexProducer.start();
+		}
+
+		public void stop() throws Exception {
+			alexConsumer.stop();
+			alexProducer.stop();
+		}
+
+		public String getEndpointUri() {
+			return endPoint;
+		}
+
+		public EndpointConfiguration getEndpointConfiguration() {
+			return null;
+		}
+
+		public String getEndpointKey() {
+			return "alex";
+		}
+
+		public Exchange createExchange() {
+			return alexConsumer.createExchange();
+		}
+
+		public Exchange createExchange(ExchangePattern pattern) {
+			return alexConsumer.createExchange(pattern);
+		}
+
+		@Deprecated
+		public Exchange createExchange(Exchange exchange) {
+			return alexConsumer.createExchange(exchange);
+		}
+
+		public CamelContext getCamelContext() {
+			return comp.getCamelContext();
+		}
+
+		public Producer createProducer() throws Exception {
+			return alexProducer.createProducer();
+		}
+
+		public Consumer createConsumer(Processor processor) throws Exception {
+			return alexConsumer.createConsumer(processor);
+		}
+
+		public PollingConsumer createPollingConsumer() throws Exception {
+			return alexConsumer.createPollingConsumer();
+		}
+
+		public void configureProperties(Map<String, Object> options) {
+			
+		}
+
+		public void setCamelContext(CamelContext context) {
+			this.context = context;
+		}
+
+		public boolean isLenientProperties() {
+			return false;
+		}
+		
+		
+	}
+
+}
diff --git a/docmanager/src/main/java/info/kwarc/sally4/docmanager/impl/AlexRouteImpl.java b/docmanager/src/main/java/info/kwarc/sally4/docmanager/impl/AlexRouteImpl.java
index f67a22c03db4cb8de26aa97b802ce781bfd3d54e..e4552d2f05e039454666cc382cdc6224742dfcba 100644
--- a/docmanager/src/main/java/info/kwarc/sally4/docmanager/impl/AlexRouteImpl.java
+++ b/docmanager/src/main/java/info/kwarc/sally4/docmanager/impl/AlexRouteImpl.java
@@ -2,8 +2,10 @@ package info.kwarc.sally4.docmanager.impl;
 
 import info.kwarc.sally4.docmanager.AlexRoute;
 
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashSet;
+import java.util.List;
 
 
 public class AlexRouteImpl implements AlexRoute {
@@ -11,10 +13,10 @@ public class AlexRouteImpl implements AlexRoute {
 	String alexQueue;
 	String theoQueue;
 	HashSet<String> interfaces;
-
-	String alexStateRoute;
-
+	List<Runnable> stopHandlers;
 	
+	String alexStateQueue;
+
 	String generateUUID(String doc_queue) {
 		//"/queue/sally_doc_"+UUID.randomUUID().toString()
 		return "sally_doc_"+doc_queue;
@@ -23,12 +25,30 @@ public class AlexRouteImpl implements AlexRoute {
 	public AlexRouteImpl(String alexQueue, String theoQueue, Collection<String> interfaces) {
 		this.alexQueue = alexQueue;
 		this.theoQueue = theoQueue;
-		this.interfaces = new HashSet<String>(this.interfaces);
-		this.alexStateRoute = generateUUID(alexQueue);
+		this.interfaces = new HashSet<String>(interfaces);
+		this.alexStateQueue = generateUUID(alexQueue);
+		stopHandlers = new ArrayList<Runnable>();
 	}	
 	
-	public String getAlexStateRoute() {
-		return alexStateRoute;
+	public String getAlexStateQueue() {
+		return alexStateQueue;
 	}
 	
+	public String getAlexQueue() {
+		return alexQueue;
+	}
+
+	public void addOnStopHandler(Runnable stopHandler) {
+		stopHandlers.add(stopHandler);
+	}
+
+	public void stop() {
+		for (Runnable r : stopHandlers) {
+			try {
+				r.run();
+			} catch (Exception e) {
+				e.printStackTrace();
+			}
+		}
+	}
 }
diff --git a/docmanager/src/main/java/info/kwarc/sally4/docmanager/impl/DocumentManagerImpl.java b/docmanager/src/main/java/info/kwarc/sally4/docmanager/impl/DocumentManagerImpl.java
index 6c25385f5e0c1f54307d9e033409f4c9764a151c..1af2e17cc1440059d5ef112da6e0e2bdb591546b 100644
--- a/docmanager/src/main/java/info/kwarc/sally4/docmanager/impl/DocumentManagerImpl.java
+++ b/docmanager/src/main/java/info/kwarc/sally4/docmanager/impl/DocumentManagerImpl.java
@@ -1,51 +1,85 @@
 package info.kwarc.sally4.docmanager.impl;
 
 import info.kwarc.sally.comm.core.Registerdocument;
+import info.kwarc.sally4.activemq.ActiveMQService;
+import info.kwarc.sally4.core.CamelContextProvider;
+import info.kwarc.sally4.docmanager.AlexRoute;
 import info.kwarc.sally4.docmanager.DocumentManager;
+import info.kwarc.sally4.docmanager.routes.SallyRegisterRoute;
 
 import java.util.HashMap;
 import java.util.Map;
 
+import org.apache.camel.CamelContext;
+import org.apache.camel.impl.DefaultCamelContext;
 import org.apache.felix.ipojo.annotations.Component;
 import org.apache.felix.ipojo.annotations.Instantiate;
+import org.apache.felix.ipojo.annotations.Invalidate;
+import org.apache.felix.ipojo.annotations.Provides;
+import org.apache.felix.ipojo.annotations.Requires;
+import org.apache.felix.ipojo.annotations.Validate;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 @Component
 @Instantiate
+@Provides
 public class DocumentManagerImpl implements DocumentManager {
-
-	Map<String, Registerdocument> docs;
-	Map<String, String> sallyDocQueue;
+	
+	Map<String, AlexRoute> docs;
+	SallyRegisterRoute registerRoute;
+	
+	CamelContext camelContext;
+			
+	Logger log;
+	
+	@Requires
+	ActiveMQService activeMQ;
+	
+	@Requires
+	CamelContextProvider camelContextProvider;
 	
 	public DocumentManagerImpl() {
-		docs = new HashMap<String, Registerdocument>();
-		sallyDocQueue = new HashMap<String, String>();
+		docs = new HashMap<String, AlexRoute>();
+		registerRoute = new SallyRegisterRoute(this);
+		log = LoggerFactory.getLogger(getClass());
 	}
-	
-	String generateUUID(String doc_queue) {
-		//"/queue/sally_doc_"+UUID.randomUUID().toString()
-		return "sally_doc_"+doc_queue;
+		
+	public AlexRoute registerDocument(Registerdocument doc) {
+		if (docs.containsKey(doc.getDocumentqueue()))
+			return docs.get(doc.getDocumentqueue());
+		
+		AlexRouteImpl route = new AlexRouteImpl(doc.getDocumentqueue(), doc.getTheoqueue(), doc.getInterfaces());
+
+		docs.put(doc.getDocumentqueue(), route);
+		return route;
 	}
-	
-	public void registerDocument(Registerdocument doc) {
-		docs.put(doc.getDocumentqueue(), doc);
-		if (sallyDocQueue.containsKey(doc.getDocumentqueue()))
-			return;
-		String sally_doc_queue = generateUUID(doc.getDocumentqueue());
-		sallyDocQueue.put(doc.getDocumentqueue(), sally_doc_queue);
-		/*
+
+	@Validate
+	public void start() {
 		try {
-			context.addRoutes(sallyDocRouteFactory.create(networkProvider, doc.getDocumentqueue(), sally_doc_queue, doc.getTheoqueue()));
+			log.info(camelContextProvider.getName());
+			camelContext = new DefaultCamelContext();
+			camelContext.addComponent("activemq", camelContextProvider.getComponent("activemq"));
+			camelContext.addRoutes(registerRoute);
+			camelContext.start();
 		} catch (Exception e) {
+			log.info(e.getMessage());
 			e.printStackTrace();
 		}
-		*/
+		
 	}
 	
-	public final Map<String, Registerdocument> getDocs() {
-		return docs;
-	}
-	
-	public String getSallyDocumentQueue(String docQueue) {
-		return sallyDocQueue.get(docQueue);
+	@Invalidate
+	public void stop() {
+			try {
+				camelContext.stop();
+				for (AlexRoute route : docs.values()) {
+					route.stop();
+				}
+			} catch (Exception e) {
+				e.printStackTrace();
+			}
 	}
+
 }
diff --git a/docmanager/src/main/java/info/kwarc/sally4/docmanager/routes/SallyAlexRoute.java b/docmanager/src/main/java/info/kwarc/sally4/docmanager/routes/SallyAlexRoute.java
new file mode 100644
index 0000000000000000000000000000000000000000..fc75b8646734a70f7ef3a2e09bcb3dd5f62c04bb
--- /dev/null
+++ b/docmanager/src/main/java/info/kwarc/sally4/docmanager/routes/SallyAlexRoute.java
@@ -0,0 +1,48 @@
+package info.kwarc.sally4.docmanager.routes;
+
+import info.kwarc.sally.comm.CommUtils;
+import info.kwarc.sally.comm.core.Heartbeatrequest;
+import info.kwarc.sally4.docmanager.AlexRoute;
+
+import org.apache.camel.ExchangeTimedOutException;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.spi.DataFormat;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class SallyAlexRoute extends RouteBuilder  {
+
+	Logger log;
+	AlexRoute route;
+	
+	public Heartbeatrequest generateHeartbeat() {
+		return new Heartbeatrequest();
+	}
+	
+	public void stopSallyRoute() {
+		route.stop();
+	}
+	
+	SallyAlexRoute(AlexRoute route) {
+		log = LoggerFactory.getLogger(getClass());
+		this.route = route;
+	}
+	
+	@Override
+	public void configure() throws Exception {
+		DataFormat core = CommUtils.getDataFormat("core");
+
+		from("timer://foo?fixedRate=true&period=60000")
+			.bean(method(this, "generateHeartbeat"))
+			.marshal(core)
+			.doTry()				
+				.inOut("alex:default")
+			.doCatch(ExchangeTimedOutException.class)
+				.bean(method(this, "stopSallyRoute"));
+		
+		from("alex:default")
+			.to("log:test")
+			.to("alex:default");
+	}
+
+}
diff --git a/docmanager/src/main/java/info/kwarc/sally4/docmanager/routes/SallyRegisterRoute.java b/docmanager/src/main/java/info/kwarc/sally4/docmanager/routes/SallyRegisterRoute.java
index 30b5ca4a7525f068a56131572dee2a540982ff1d..5aeb204063eaf552e43fbc63d7dae0308b2c6a42 100644
--- a/docmanager/src/main/java/info/kwarc/sally4/docmanager/routes/SallyRegisterRoute.java
+++ b/docmanager/src/main/java/info/kwarc/sally4/docmanager/routes/SallyRegisterRoute.java
@@ -1,40 +1,61 @@
-package info.kwarc.sally4.docmanager.impl;
+package info.kwarc.sally4.docmanager.routes;
 
 import info.kwarc.sally.comm.CommUtils;
+import info.kwarc.sally.comm.core.Registerdocumentresponse;
+import info.kwarc.sally4.docmanager.AlexRoute;
+import info.kwarc.sally4.docmanager.component.AlexComponent;
+import info.kwarc.sally4.docmanager.impl.DocumentManagerImpl;
 
+import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.impl.DefaultCamelContext;
 import org.apache.camel.spi.DataFormat;
 
-public class DocumentManagerRoutes extends RouteBuilder {
+public class SallyRegisterRoute extends RouteBuilder {
 
 	public static final String sallyRegisterQueue = "sally_register";
 	public static final String directSallyRegisterQueue = "direct:/queue/sally_register";
 	public static final String mockSallyRegisterQueueOutput = "mock:/queue/sally_register_out";
 
-	/*
-	RegisterProcessor registerProcessor;
-
-	public SallyRegisterRoute(RegisterProcessor registerProcessor) {
-		this.registerProcessor = registerProcessor;
+	DocumentManagerImpl docManager;
+	
+	public SallyRegisterRoute(DocumentManagerImpl docManager) {
+		this.docManager = docManager;
 	}
-	*/
 
+	public Registerdocumentresponse createRouteContext(AlexRoute route) throws Exception {
+		final CamelContext alexRouteContext = new DefaultCamelContext();
+		alexRouteContext.addComponent("activemq", getContext().getComponent("activemq"));
+		alexRouteContext.addComponent("alex", new AlexComponent(route));
+		alexRouteContext.addRoutes(new SallyAlexRoute(route));
+		alexRouteContext.getShutdownStrategy().setTimeout(1);
+		alexRouteContext.start();
+		
+		route.addOnStopHandler(new Runnable() {
+			
+			public void run() {
+				try {
+					alexRouteContext.stop();
+				} catch (Exception e) {
+					e.printStackTrace();
+				}
+			}
+		});
+		
+		Registerdocumentresponse response = new Registerdocumentresponse();
+		response.setSallyqueue(route.getAlexStateQueue());
+		return response;
+	}
+	
 	@Override
 	public void configure() throws Exception {
 		DataFormat core = CommUtils.getDataFormat("core");
 
 		from("activemq:queue:"+sallyRegisterQueue)
-		.unmarshal(core)
-		.inOut(directSallyRegisterQueue)
-		.marshal(core);
-
-		from("sallyservlet:///test")
-		.to("log:test")
-		.to("freemarker:templates/theo.html");
-
-		from(directSallyRegisterQueue)
-		
-		.to(mockSallyRegisterQueueOutput);
+			.unmarshal(core)
+				.bean(docManager, "registerDocument")
+				.bean(method(this, "createRouteContext"))
+			.marshal(core);
 	}
 
 }
diff --git a/mmt/.classpath b/mmt/.classpath
new file mode 100644
index 0000000000000000000000000000000000000000..395dbde027f67aca1db4bd4d077783059afb3acd
--- /dev/null
+++ b/mmt/.classpath
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" output="target/classes" path="src/main/java">
+		<attributes>
+			<attribute name="optional" value="true"/>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="src" output="target/test-classes" path="src/test/java">
+		<attributes>
+			<attribute name="optional" value="true"/>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry including="**/*.java" kind="src" path="src/main/resources"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5">
+		<attributes>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
+		<attributes>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/mmt/.project b/mmt/.project
new file mode 100644
index 0000000000000000000000000000000000000000..619dce5b24733610110bf14093ffd37e54e7b2ad
--- /dev/null
+++ b/mmt/.project
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>mmt</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.m2e.core.maven2Nature</nature>
+	</natures>
+</projectDescription>
diff --git a/mmt/.settings/org.eclipse.jdt.core.prefs b/mmt/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..abec6ca389ac6331e1f6466d9f67c8dd3406fb5a
--- /dev/null
+++ b/mmt/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,5 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.source=1.5
diff --git a/mmt/.settings/org.eclipse.m2e.core.prefs b/mmt/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..f897a7f1cb2389f85fe6381425d29f0a9866fb65
--- /dev/null
+++ b/mmt/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/mmt/pom.xml b/mmt/pom.xml
new file mode 100644
index 0000000000000000000000000000000000000000..3d38fe79d8fa969bc2826a67c8c9c6e3791f0d3e
--- /dev/null
+++ b/mmt/pom.xml
@@ -0,0 +1,127 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+	<!-- Licensed to the Apache Software Foundation (ASF) under one or more 
+		contributor license agreements. See the NOTICE file distributed with this 
+		work for additional information regarding copyright ownership. The ASF licenses 
+		this file to You under the Apache License, Version 2.0 (the "License"); you 
+		may not use this file except in compliance with the License. You may obtain 
+		a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless 
+		required by applicable law or agreed to in writing, software distributed 
+		under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 
+		OR CONDITIONS OF ANY KIND, either express or implied. See the License for 
+		the specific language governing permissions and limitations under the License. -->
+
+	<modelVersion>4.0.0</modelVersion>
+
+	<packaging>bundle</packaging>
+
+	<groupId>info.kwarc.sally4</groupId>
+	<artifactId>mmt</artifactId>
+	<version>0.0.1-SNAPSHOT</version>
+
+
+	<dependencies>
+		<dependency>
+			<groupId>org.osgi</groupId>
+			<artifactId>org.osgi.core</artifactId>
+			<version>4.3.1</version>
+			<scope>provided</scope>
+		</dependency>
+
+		<dependency>
+			<groupId>org.apache.felix</groupId>
+			<artifactId>org.apache.felix.ipojo.annotations</artifactId>
+			<version>1.11.2</version>
+		</dependency>
+
+		<dependency>
+			<groupId>org.apache.camel</groupId>
+			<artifactId>camel-core</artifactId>
+			<version>2.12.3</version>
+		</dependency>
+
+		<dependency>
+			<groupId>info.kwarc.sally4</groupId>
+			<artifactId>core</artifactId>
+			<version>0.0.1-SNAPSHOT</version>
+		</dependency>
+
+		<dependency>
+			<groupId>org.slf4j</groupId>
+			<artifactId>slf4j-simple</artifactId>
+			<version>1.7.7</version>
+		</dependency>
+
+		<dependency>
+			<groupId>info.kwarc.mmt</groupId>
+			<artifactId>immt</artifactId>
+			<version>1.0.0-alpha</version>
+		</dependency>
+
+		<dependency>
+			<groupId>info.kwarc.mmt</groupId>
+			<artifactId>mmt-planetary</artifactId>
+			<version>1.0.0-alpha</version>
+		</dependency>
+
+		<dependency>
+			<groupId>info.kwarc.mmt</groupId>
+			<artifactId>mmt-stex</artifactId>
+			<version>1.0.0-alpha</version>
+		</dependency>
+
+
+		<dependency>
+			<groupId>org.scala-lang</groupId>
+			<artifactId>scala-library</artifactId>
+			<version>2.10.3</version>
+		</dependency>
+
+		<dependency>
+			<groupId>org.scala-lang.modules</groupId>
+			<artifactId>scala-xml_2.11.0-RC4</artifactId>
+			<version>1.0.1</version>
+		</dependency>
+
+		<dependency>
+			<groupId>org.gnieh</groupId>
+			<artifactId>tiscaf</artifactId>
+			<version>0.8-SNAPSHOT</version>
+		</dependency>
+
+	</dependencies>
+
+	<build>
+		<plugins>
+			<!-- BND Maven Plugin Configuration -->
+			<plugin>
+				<groupId>org.apache.felix</groupId>
+				<artifactId>maven-bundle-plugin</artifactId>
+				<extensions>true</extensions>
+				<configuration>
+					<instructions>
+						<Bundle-SymbolicName>${pom.artifactId}</Bundle-SymbolicName>
+						<Private-Package>info.kwarc.sally4.mmt.impl</Private-Package>
+						<Import-Package>*;</Import-Package>
+						<Export-Package>info.kwarc.sally4.mmt*</Export-Package>
+					</instructions>
+				</configuration>
+			</plugin>
+			<!-- iPOJO Maven Plugin Configuration : nothing to do -->
+			<plugin>
+				<groupId>org.apache.felix</groupId>
+				<artifactId>maven-ipojo-plugin</artifactId>
+				<version>1.6.0</version>
+				<executions>
+					<execution>
+						<goals>
+							<goal>ipojo-bundle</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+		</plugins>
+	</build>
+</project>
diff --git a/mmt/src/main/java/info/kwarc/sally4/mmt/MMT.java b/mmt/src/main/java/info/kwarc/sally4/mmt/MMT.java
new file mode 100644
index 0000000000000000000000000000000000000000..d3c5a2e912581161cc9c5211e94b622eb9cb9dcc
--- /dev/null
+++ b/mmt/src/main/java/info/kwarc/sally4/mmt/MMT.java
@@ -0,0 +1,5 @@
+package info.kwarc.sally4.mmt;
+
+
+public interface MMT {
+}
diff --git a/mmt/src/main/java/info/kwarc/sally4/mmt/TestMain.java b/mmt/src/main/java/info/kwarc/sally4/mmt/TestMain.java
new file mode 100644
index 0000000000000000000000000000000000000000..8a2b9629de647969e7a4b52d4d60088bc69cc9ca
--- /dev/null
+++ b/mmt/src/main/java/info/kwarc/sally4/mmt/TestMain.java
@@ -0,0 +1,23 @@
+package info.kwarc.sally4.mmt;
+
+import scala.collection.JavaConversions;
+import info.kwarc.mmt.api.archives.Archive;
+import info.kwarc.mmt.api.frontend.Controller;
+
+public class TestMain {
+	public static void main(String[] args) throws Exception {
+		Controller controller = new Controller();
+		controller.handleLine("extension info.kwarc.mmt.planetary.PlanetaryPlugin");
+		controller.handleLine("extension info.kwarc.mmt.stex.STeXImporter");
+		controller.handleLine("archive add /home/costea/localmh/MathHub/smglom/mv");
+
+		//controller.handleLine("build smglom/mv stex-omdoc");
+		//controller.handleLine("build smglom/mv index");
+		//controller.handleLine("build smglom/mv narration_presentation_html");
+		
+		for (Archive a : JavaConversions.asJavaCollection(controller.backend().getArchives())) {
+			System.out.println(a.id());
+		}
+		
+	}
+}
diff --git a/mmt/src/main/java/info/kwarc/sally4/planetary/mmt/PlanetaryConnectionImpl.java b/mmt/src/main/java/info/kwarc/sally4/planetary/mmt/PlanetaryConnectionImpl.java
new file mode 100644
index 0000000000000000000000000000000000000000..c32376e6b529fd5470a4f1d3cae40889a3ccfaf1
--- /dev/null
+++ b/mmt/src/main/java/info/kwarc/sally4/planetary/mmt/PlanetaryConnectionImpl.java
@@ -0,0 +1,29 @@
+package info.kwarc.sally4.planetary.mmt;
+
+import info.kwarc.sally4.core.CamelContextProvider;
+import info.kwarc.sally4.mmt.MMT;
+
+import org.apache.felix.ipojo.annotations.Component;
+import org.apache.felix.ipojo.annotations.Instantiate;
+import org.apache.felix.ipojo.annotations.Invalidate;
+import org.apache.felix.ipojo.annotations.Provides;
+import org.apache.felix.ipojo.annotations.Requires;
+import org.apache.felix.ipojo.annotations.Validate;
+
+@Component
+@Provides
+@Instantiate
+public class PlanetaryConnectionImpl implements MMT {
+	@Requires
+	CamelContextProvider camelContextProvider;
+	
+	
+	@Validate
+	public void start() {
+	}
+	
+	@Invalidate
+	public void stop() {
+	}
+	
+}
diff --git a/start.sh b/start.sh
new file mode 120000
index 0000000000000000000000000000000000000000..74e44f4121441fabf8fdd0cca7662306ed90ae3c
--- /dev/null
+++ b/start.sh
@@ -0,0 +1 @@
+/home/costea/workspace_sally4/Felix/start.sh
\ No newline at end of file