diff --git a/Felix/bundle-dev/MathHubWorker-0.0.1-SNAPSHOT.jar b/Felix/bundle-dev/MathHubWorker-0.0.1-SNAPSHOT.jar
deleted file mode 120000
index d7fb1fc6bc65aa0370007cc3afee1301b58cacb0..0000000000000000000000000000000000000000
--- a/Felix/bundle-dev/MathHubWorker-0.0.1-SNAPSHOT.jar
+++ /dev/null
@@ -1 +0,0 @@
-/home/costea/workspace_sally4/MathHubWorker/target/MathHubWorker-0.0.1-SNAPSHOT.jar
\ No newline at end of file
diff --git a/Felix/bundle-dev/core-0.0.1-SNAPSHOT.jar b/Felix/bundle-dev/core-0.0.1-SNAPSHOT.jar
deleted file mode 120000
index 0026a7a7e433147a943558b961b0fdc191b3fa86..0000000000000000000000000000000000000000
--- a/Felix/bundle-dev/core-0.0.1-SNAPSHOT.jar
+++ /dev/null
@@ -1 +0,0 @@
-/home/costea/workspace_sally4/core/target/core-0.0.1-SNAPSHOT.jar
\ No newline at end of file
diff --git a/Felix/bundle-dev/docmanager-0.0.1-SNAPSHOT.jar b/Felix/bundle-dev/docmanager-0.0.1-SNAPSHOT.jar
deleted file mode 120000
index 00d2e2e01fdc634bb640fa101e3f87c8f3a4fc2d..0000000000000000000000000000000000000000
--- a/Felix/bundle-dev/docmanager-0.0.1-SNAPSHOT.jar
+++ /dev/null
@@ -1 +0,0 @@
-/home/costea/workspace_sally4/docmanager/target/docmanager-0.0.1-SNAPSHOT.jar
\ No newline at end of file
diff --git a/Felix/bundle-dev/planetary-0.0.1-SNAPSHOT.jar b/Felix/bundle-dev/planetary-0.0.1-SNAPSHOT.jar
deleted file mode 120000
index 2880c72125f10588262f427493b43d2935d0a6d7..0000000000000000000000000000000000000000
--- a/Felix/bundle-dev/planetary-0.0.1-SNAPSHOT.jar
+++ /dev/null
@@ -1 +0,0 @@
-/home/costea/workspace_sally4/planetary/target/planetary-0.0.1-SNAPSHOT.jar
\ No newline at end of file
diff --git a/Felix/bundle-dev/servlet-0.0.1-SNAPSHOT.jar b/Felix/bundle-dev/servlet-0.0.1-SNAPSHOT.jar
deleted file mode 120000
index 48e0125fe98c46dc771ed290cf82d86e42730a6c..0000000000000000000000000000000000000000
--- a/Felix/bundle-dev/servlet-0.0.1-SNAPSHOT.jar
+++ /dev/null
@@ -1 +0,0 @@
-/home/costea/workspace_sally4/servlet/target/servlet-0.0.1-SNAPSHOT.jar
\ No newline at end of file
diff --git a/Felix/bundle/camel-spring-2.12.3.jar b/Felix/bundle/camel-spring-2.12.3.jar
deleted file mode 100644
index 7935e2d6a87f7428642c116a616eca0e531f3d04..0000000000000000000000000000000000000000
Binary files a/Felix/bundle/camel-spring-2.12.3.jar and /dev/null differ
diff --git a/Felix/bundle/commons-codec-1.8.jar b/Felix/bundle/commons-codec-1.8.jar
deleted file mode 100644
index 32f84c92b7bda2904ae0ff464351e2016438774d..0000000000000000000000000000000000000000
Binary files a/Felix/bundle/commons-codec-1.8.jar and /dev/null differ
diff --git a/Felix/bundle/index.html b/Felix/bundle/index.html
deleted file mode 100644
index 28b770120d888d426eccd37d3bb55daf4c03099a..0000000000000000000000000000000000000000
--- a/Felix/bundle/index.html
+++ /dev/null
@@ -1,414 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-	<head>
-		<title>The Central Repository Search Engine</title>
-		<link rel="icon" href="favicon.ico" type="image/x-icon" />
-		<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
-		<link rel="search" type="application/opensearchdescription+xml" href="opensearch.xml" title="The Central Repository" />
-		<link rel="stylesheet" type="text/css" href="ajaxsolr/css/central.css" media="screen" />
-		<link rel="stylesheet" type="text/css" href="ajaxsolr/css/advancedsearch.css" media="screen" />
-		<link rel="stylesheet" type="text/css" href="ajaxsolr/css/tooltip.css" media="screen" />
-		<link rel="stylesheet" type="text/css" href="ajaxsolr/css/jquery-ui-1.8.9.custom.css" media="screen" />
-		<link rel="stylesheet" type="text/css" href="ajaxsolr/css/TwitterWidget.css" media="screen" />
-		<link rel="stylesheet" type="text/css" href="ajaxsolr/css/slide.css" media="screen" />
-		<link rel="stylesheet" type="text/css" href="ajaxsolr/css/shCore.css" media="screen" />
-		<link rel="stylesheet" type="text/css" href="ajaxsolr/css/shThemeDefault.css" media="screen" />
-        <script type="text/javascript" src="ajaxsolr/central-search-all.js"></script>
-        <!--
-            Javascript tracking stuff starts here
-        -->
-                <script type="text/javascript">
-
-                    var _gaq = _gaq || [];
-                    _gaq.push(['_setAccount', 'UA-1693297-24']);
-                    _gaq.push(['_trackPageview']);
-
-                    (function() {
-                        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
-                        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-                        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
-                    })();
-
-                </script>
-
-
-	</head>
-	<body>
-		<div id="toppanel" class="hidden">
-			<div id="panel">
-				<div class="content clearfix">
-					<div class="left">
-						<h2>You May Already Be Registered!</h2>
-						<p>
-                        If you have an account with one of the following Sonatype services,
-                        you can use your existing credentials for that account to log in:
-						</p>
-						<ul>
-							<li>Sonatype JIRA (<a href="https://issues.sonatype.org" target="_blank">https://issues.sonatype.org</a>)</li>
-							<li>OSS Repository Hosting Service (<a href="https://oss.sonatype.org" target="_blank">https://oss.sonatype.org</a>)</li>
-							<li>Sonatype Support Account (i.e. you've purchased a Sonatype Professional product)</li>
-						</ul>
-						<h2>Why Should I Register?</h2>
-						<p>
-                        The Central Repository team is constantly collecting useful information about artifacts.
-							Register today, and you get free access to artifact <a href="#faq" onclick="_gaq.push(['_trackPageview', '/faq']); return FAQManager.createHistoryAndLoad(true);">license</a> information.
-                        If you have an idea for new types of artifact metadata,
-                        click on the Feedback tab on the right-hand side of the page to share it with us!
-						</p>
-					</div>
-					<div class="left right">
-						<!-- Login Form -->
-						<form class="clearfix" action="login" method="post">
-							<h1>Member Login
-								<a href="/signup" target="_blank">(Register Now)</a>
-							</h1>
-							<label class="grey" for="username">Username:</label>
-							<input class="field" type="text" name="username" id="username" value="" size="23" />
-							<label class="grey" for="password">Password:</label>
-							<input class="field" type="password" name="password" id="password" size="23" />
-							<div class="clear"></div>
-							<div id="loginBottom">
-								<input type="button" id="loginSubmit" name="submit" value="Login" class="bt_login" />
-								<p id="loginError" class="error hidden">Invalid credentials supplied!</p>
-							</div>
-						</form>
-					</div>
-				</div>
-			</div> <!-- /login -->
-
-			<!-- The tab on top -->
-			<div class="tab">
-				<ul class="login">
-					<li class="left">&nbsp;</li>
-					<li id="usernameDisplay">Hello Guest!</li>
-					<li class="sep">|</li>
-					<li id="toggle">
-						<a id="open" class="open" href="#" onclick="return false">Log In | Register</a>
-						<a id="close" style="display: none;" class="close" href="#" onclick="return false">Close Panel</a>
-						<a id="logout" class="hidden" href="#" onclick="return false">Logout</a>
-					</li>
-					<li class="right">&nbsp;</li>
-				</ul>
-			</div> <!-- / top -->
-
-		</div> <!--panel -->
-		<div id="minMax">
-			<div id="header" class="search">
-				<div id="logo">
-					<a href="#search" onclick="_gaq.push(['_trackPageview', '/search']); return Manager.createHistoryAndLoad(true);">
-						<img src="ajaxsolr/images/centralRepository_logo.png" alt="The Central Repository" />
-					</a>
-				</div>
-				<div id="headermenu">
-					<ul>
-						<li id="n-search">
-							<a href="#search" onclick="_gaq.push(['_trackPageview', '/search']); return Manager.createHistoryAndLoad(true);">SEARCH</a>
-						</li>
-						<li>&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;</li>
-						<li id="n-advancedSearch">
-							<a href="#advancedsearch" onclick="_gaq.push(['_trackPageview', '/advancedSearch']); return AdvancedSearchManager.createHistoryAndLoad(true);">ADVANCED SEARCH</a>
-						</li>
-						<li>&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;</li>
-						<li id="n-browse">
-							<a href="#browse" onclick="_gaq.push(['_trackPageview', '/browse']); return BrowseManager.createHistoryAndLoad(true);">BROWSE</a>
-						</li>
-						<li>&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;</li>
-						<li id="n-quickStats">
-							<a href="#stats" onclick="_gaq.push(['_trackPageview', '/quickStats']); return StatsManager.createHistoryAndLoad(true);">QUICK STATS</a>
-						</li>
-						<li id="n-faqspacer" class="hidden">&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;</li>
-						<li id="n-faq" class="hidden">
-							<a href="#faq" onclick="_gaq.push(['_trackPageview', '/faq']); return FAQManager.createHistoryAndLoad(true);">FAQ</a>
-						</li>
-					</ul>
-				</div>
-			</div> <!-- end header -->
-			<div id="searchWrapper" class="hidden">
-				<div id="wrapper">
-					<div id="masthead">
-						<h1>The Search Engine for The Central Repository</h1>
-					</div>
-					<div id="outer1">
-						<div class="content"></div> <!-- end content -->
-					</div> <!-- end outer1 -->
-					<div id="outer3">
-						<div id="inputArea">
-							<ul id="qsearch">
-								<label for="query" class="hidden"></label>
-								<input type="text" id="query" name="query" />
-								<label for="queryButton" class="hidden"></label>
-								<input type="image" src="ajaxsolr/images/search_btn_up.jpg" width="150" height="30" alt="Search" id="queryButton" name="queryButton" value="Search"/>
-							</ul>
-						</div> <!-- end content -->
-					</div> <!-- end outer3 -->
-					<div id="outer4">
-						<div class="content">
-							<ul>
-							    <li><a href="http://www.sonatype.com/application-health-check" target="_blank"><b>New: App Scan</b></a></li>
-							    <li><img src="ajaxsolr/images/default.gif"/></li>
-								<li>
-									<a href="#advancedsearch" onclick="_gaq.push(['_trackPageview', '/advancedSearch']); return AdvancedSearchManager.createHistoryAndLoad(true);">Advanced Search</a>
-								</li>		
-								<li>&nbsp;&nbsp;|&nbsp;&nbsp;</li>						
-								<li>
-									<a href="#api" onclick="_gaq.push(['_trackPageview', '/api']); return APIGuideManager.createHistoryAndLoad();">API Guide</a>
-								</li>		
-								<li>&nbsp;&nbsp;|&nbsp;&nbsp;</li>														
-								<li>
-									<a href="#help" onclick="_gaq.push(['_trackPageview', '/searchHelp']); return SearchHelpManager.createHistoryAndLoad();">Help</a>
-								</li>
-							</ul>
-						</div> <!-- end content -->
-					</div> <!-- end outer4 -->
-					<div id="outer5">
-						<div class="content"></div> <!-- end content -->
-					</div> <!-- end outer5 -->
-					<br/>
-				</div><!-- end #wrapper -->
-			</div>
-			<div id="browsePage" class="hidden">
-				<div class="pageContent">
-					<div id="browseHeader">The Central Repository Browser</div>
-					<div id="browseResult">
-						<div id="browseDocs"></div>
-					</div>
-				</div>
-			</div>
-
-			<div id="artifactDetailsPage" class="hidden">
-				<div class="pageContent">
-					<div id="artifactDetailsDocs"></div>
-				</div>
-			</div>
-
-			<!-- advanced search page start -->
-			<div id="advancedPage" class="hidden">
-				<div id="advancedHeader">Advanced Search</div>
-				<div id="advancedContent">
-					<div id="genQuery">Use the forms below and your advanced search query will appear here</div>
-					<div class="advancedRegion" id="coordinateSearchRegion">
-						
-						<fieldset>
-							<legend>By Coordinate</legend>
-							<label for="groupId">GroupId:</label>
-							<input type="text" name="groupId" id="groupId" autocomplete="off"/>
-							<br />
-							<label for="artifactId">ArtifactId:</label>
-							<input type="text" name="artifactId" id="artifactId" autocomplete="off"/>
-							<br />
-							<label for="version">Version:</label>
-							<input type="text" name="version" id="version" autocomplete="off"/>
-							<br/>
-							<label for="packaging">Packaging:</label>
-							<input type="text" name="packaging" id="packaging" autocomplete="off"/>
-							<br/>
-							<label for="classifier">Classifier:</label>
-							<input type="text" name="classifier" id="classifier" autocomplete="off"/>
-							<br/>
-							<input type="image" src="ajaxsolr/images/search_btn_up.jpg" width="150" height="30" alt="Search" id="gavSearchButton"/>
-						</fieldset>
-						
-					</div>
-					<div class="advancedRegion" id="classnameSearchRegion">
-						
-						<fieldset>
-							<legend>By Classname</legend>
-							<label for="classname">Classname:</label>
-							<input type="text" name="classname" id="classname" autocomplete="off"/>
-							<br />
-							<input type="image" src="ajaxsolr/images/search_btn_up.jpg" width="150" height="30" alt="Search" id="classnameSearchButton"/>
-						</fieldset>
-						
-					</div>
-					<div class="advancedRegion" id="checksumSearchRegion">
-						
-						<fieldset>
-							<legend>By SHA-1 Checksum</legend>
-							<label for="checksum">SHA-1 Checksum:</label>
-							<input type="text" id="checksum" name="sha1" autocomplete="off"/>
-							<br />
-							<input type="image" src="ajaxsolr/images/search_btn_up.jpg" width="150" height="30" alt="Search" id="checksumSearchButton"/>
-							<input type="image" src="ajaxsolr/images/chooseFile_btn.jpg" width="150" height="30" alt="Calculate" title="Use a java applet to calculate the SHA-1 checksum of a file on your local disk."  id="checksumCalculateButton"/>
-						</fieldset>
-						
-					</div>
-				</div>
-				<div id="checksumContainer" class="hidden">
-					<applet code="org/sonatype/nexus/applet/DigestApplet.class" archive="ajaxsolr/digestapplet.jar" width="1" height="1" name="digestapplet"></applet>
-				</div>
-
-			</div>
-			<div id="searchResultPage" class="hidden">
-				<div class="pageContent">
-					<div id="pageTitle">Search Results</div>
-					<div id="pagination">
-						<ul id="pager">
-						</ul>
-						<div id="pager-header"></div>
-					</div>
-					<div id="docs">
-					</div>
-                    <div id="footerPagination">
-                        <ul id="footerPager">
-                        </ul>
-                        <div id="footerPager-header"></div>
-                    </div>					
-				</div>
-				<div id="message" class="hidden error">
-					<p id="code"></p>
-					<p id="text"></p>
-				</div>
-			</div>
-			<table id="popup" class="popup"> 
-				<tbody>
-					<tr>
-						<td id="topleft" class="corner"></td>
-						<td class="top"></td>
-						<td id="topright" class="corner"></td>
-					</tr>
-					<tr>
-						<td class="left"></td>
-						<td>
-							<table class="popup-contents">
-								<tbody>
-									<tr id="pSearchLink">
-										<th>Search for</th>
-										<td></td>
-									</tr>
-									<tr id="pBrowseLink">
-										<th>Browse</th>
-										<td></td>
-									</tr>
-								</tbody>
-							</table>
-						</td>
-						<td class="right"></td>
-					</tr>
-					<tr>
-						<td class="corner" id="bottomleft"></td>
-						<td class="bottom">
-						</td>
-						<td id="bottomright" class="corner"></td>
-					</tr>
-				</tbody>
-			</table>
-			<div id="aboutPage" class="hidden">
-				<div class="pageContent">
-					<div id="browseHeader">About Sonatype</div>
-					<div id="wrapper">
-						<div class="content">
-							<div id="aboutContent">
-                                About Content
-							</div>
-							<div id="aboutBlogs">
-								<h2>Sonatype Blogs</h2>
-								<br/>
-								<script src="http://feeds.feedburner.com/sonatype?format=sigpro" type="text/javascript" ></script>
-								<noscript>
-									<p>Subscribe to RSS headline updates from:
-										<a href="http://feeds.feedburner.com/sonatype"></a>
-										<br/>Powered by FeedBurner
-									</p>
-								</noscript>
-							</div>
-						</div>
-					</div>
-				</div>
-			</div>
-			<div id="resourcesPage" class="hidden">
-				<div class="pageContent">
-					<div id="browseHeader">Apache Maven Resources</div>
-					<div id="wrapper">
-						<div class="content">
-							<div id="resourcesContent">
-                                Resources Content
-							</div>
-							<div id="twitter">
-                                Twitter Content
-							</div>
-						</div>
-					</div>
-				</div>
-			</div>
-			<div id="searchHelp" class="hidden">
-				<div class="pageContent">
-					<div id="browseHeader">Search Help</div>
-					<div id="helpText" class="content">
-						<h2>Help</h2>
-					</div>
-				</div>
-			</div>
-			<div id="apiGuide" class="hidden">
-				<div class="pageContent">
-					<div id="browseHeader">API Guide</div>
-					<div id="apiText" class="content">
-						<h2>API</h2>
-					</div>
-				</div>
-			</div>		
-			<div id="quickStats" class="hidden">
-				<div id="advancedHeader">Quick Statistics for The Central Repository</div>
-				<div id="statsText" class="content">
-					<h2>Quick Stats</h2>
-				</div>
-			</div>
-			<div id="faq" class="hidden">
-				<div class="pageContent">
-					<div id="browseHeader">Frequently Asked Questions</div>
-					<div id="faqText" class="content">
-						<h2>FAQ</h2>
-					</div>
-				</div>
-			</div>
-
-			<div id="push"></div>
-		</div>
-		<div id="footer">
-			<div id="footermenu">
-				<ul>
-					<li>
-						<a href="#resources" onclick="_gaq.push(['_trackPageview', '/resources']); return ResourcesManager.createHistoryAndLoad();">Apache Maven Resources</a>
-					</li>
-					<li>&nbsp;&nbsp;|&nbsp;&nbsp;</li>
-					<li>
-						<a href="http://www.sonatype.com" target="_blank">About Sonatype</a>
-					</li>
-					<li>&nbsp;&nbsp;|&nbsp;&nbsp;</li>
-					<li>
-						<a href="http://www.sonatype.com/privacy-policy.html" target="_blank">Privacy Policy</a>
-					</li>
-                    <li>&nbsp;&nbsp;|&nbsp;&nbsp;</li>
-                    <li>
-                        <a href="http://repo1.maven.org/terms.html" target="_blank">Terms of Service</a>
-                    </li>
-                </ul>
-				<p>Apache and Apache Maven are trademarks of the 
-					<a href="http://www.apache.org" target="_blank">Apache Software Foundation</a>.
-                    The Central Repository is a service mark of Sonatype, Inc. The Central Repository is intended to complement Apache Maven and
-                    should not be confused with Apache Maven. Copyright &copy;2011 Sonatype, Inc.
-				</p>
-			</div>
-		</div> <!-- end footer -->
-		
-		<!-- GetSatisfaction.com widgets -->
-		<script type="text/javascript" charset="utf-8">
-            var is_ssl = ("https:" == document.location.protocol);
-            var asset_host = is_ssl ? "https://s3.amazonaws.com/getsatisfaction.com/" : "http://s3.amazonaws.com/getsatisfaction.com/";
-            document.write(unescape("%3Cscript src='" + asset_host + "javascripts/feedback-v2.js' type='text/javascript'%3E%3C/script%3E"));
-		</script>
-
-		<script type="text/javascript" charset="utf-8">
-            var feedback_widget_options = {};
-
-            feedback_widget_options.display = "overlay";
-            feedback_widget_options.company = "sonatype";
-            feedback_widget_options.placement = "right";
-            feedback_widget_options.color = "#222";
-            feedback_widget_options.style = "idea";
-            feedback_widget_options.product = "sonatype_maven_central";
-            feedback_widget_options.limit = "3";
-
-            var feedback_widget = new GSFN.feedback_widget(feedback_widget_options);
-		</script>
-	</body>
-</html>
diff --git a/Felix/bundle/jaxb-impl-2.2.6.jar b/Felix/bundle/jaxb-impl-2.2.6.jar
deleted file mode 100644
index cd249e7c6775839df7a9317aa24b637a175f604c..0000000000000000000000000000000000000000
Binary files a/Felix/bundle/jaxb-impl-2.2.6.jar and /dev/null differ
diff --git a/Felix/bundle/org.apache.servicemix.bundles.spring-beans-3.2.7.RELEASE_1.jar b/Felix/bundle/org.apache.servicemix.bundles.spring-beans-3.2.7.RELEASE_1.jar
deleted file mode 100644
index c0f86b095e913c810198a8979d1ba23acfb5b993..0000000000000000000000000000000000000000
Binary files a/Felix/bundle/org.apache.servicemix.bundles.spring-beans-3.2.7.RELEASE_1.jar and /dev/null differ
diff --git a/Felix/bundle/org.apache.servicemix.bundles.spring-context-3.2.7.RELEASE_1.jar b/Felix/bundle/org.apache.servicemix.bundles.spring-context-3.2.7.RELEASE_1.jar
deleted file mode 100644
index e19603023d7fef8dfb00a63869aaac6cbb8289b6..0000000000000000000000000000000000000000
Binary files a/Felix/bundle/org.apache.servicemix.bundles.spring-context-3.2.7.RELEASE_1.jar and /dev/null differ
diff --git a/Felix/bundle/org.apache.servicemix.bundles.spring-core-3.2.7.RELEASE_1.jar b/Felix/bundle/org.apache.servicemix.bundles.spring-core-3.2.7.RELEASE_1.jar
deleted file mode 100644
index 6bd774ce8692a52f7123e4227020f9dd71f5cfc9..0000000000000000000000000000000000000000
Binary files a/Felix/bundle/org.apache.servicemix.bundles.spring-core-3.2.7.RELEASE_1.jar and /dev/null differ
diff --git a/Felix/bundle/org.apache.servicemix.bundles.spring-expression-3.2.7.RELEASE_1.jar b/Felix/bundle/org.apache.servicemix.bundles.spring-expression-3.2.7.RELEASE_1.jar
deleted file mode 100644
index 0ef64705ab27786e2ea9b23e0222296f871de4e6..0000000000000000000000000000000000000000
Binary files a/Felix/bundle/org.apache.servicemix.bundles.spring-expression-3.2.7.RELEASE_1.jar and /dev/null differ
diff --git a/Felix/bundle/org.apache.servicemix.bundles.spring-jdbc-3.2.7.RELEASE_1.jar b/Felix/bundle/org.apache.servicemix.bundles.spring-jdbc-3.2.7.RELEASE_1.jar
deleted file mode 100644
index 36d49e3d3cfd72adec6840d9d8a51c37aec45869..0000000000000000000000000000000000000000
Binary files a/Felix/bundle/org.apache.servicemix.bundles.spring-jdbc-3.2.7.RELEASE_1.jar and /dev/null differ
diff --git a/Felix/bundle/org.apache.servicemix.bundles.spring-tx-3.2.7.RELEASE_1.jar b/Felix/bundle/org.apache.servicemix.bundles.spring-tx-3.2.7.RELEASE_1.jar
deleted file mode 100644
index 8ef35bd6bc994b3dfd0af7898c4145e763127a00..0000000000000000000000000000000000000000
Binary files a/Felix/bundle/org.apache.servicemix.bundles.spring-tx-3.2.7.RELEASE_1.jar and /dev/null differ
diff --git a/Felix/bundle/servlet-api-2.5.jar b/Felix/bundle/servlet-api-2.5.jar
deleted file mode 100644
index fb5249346847105c26d30da1048d8e2c364e7d6f..0000000000000000000000000000000000000000
Binary files a/Felix/bundle/servlet-api-2.5.jar and /dev/null differ
diff --git a/Felix/conf/config.properties b/Felix/conf/config.properties
index a656889c0826bde431fef12a5c60c0f3b0ee9a2e..c4ad0520a581f18d6178ba5ea381b256c53f77f0 100644
--- a/Felix/conf/config.properties
+++ b/Felix/conf/config.properties
@@ -80,6 +80,9 @@ felix.auto.deploy.dir=bundle
 
 felix.log.level=1
 
+org.ops4j.pax.logging.DefaultServiceLog.level=WARN
+org.ops4j.pax.logging.slf4j.Slf4jLogger.level=WARN
+
 # Sets the initial start level of the framework upon startup.
 #org.osgi.framework.startlevel.beginning=1
 
diff --git a/MathHubWorker/.classpath b/MathHubWorker/.classpath
index 7d92d53d08152103f3fe5cee2d539d88be476d7f..6a3cba6d9d80b9bf7925fc37cd7955fe4eae13d0 100644
--- a/MathHubWorker/.classpath
+++ b/MathHubWorker/.classpath
@@ -18,7 +18,7 @@
 			<attribute name="maven.pomderived" value="true"/>
 		</attributes>
 	</classpathentry>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7">
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6">
 		<attributes>
 			<attribute name="maven.pomderived" value="true"/>
 		</attributes>
diff --git a/MathHubWorker/.settings/org.eclipse.jdt.core.prefs b/MathHubWorker/.settings/org.eclipse.jdt.core.prefs
index ec4300d5d0999d569b87f3935944bcfc5197f877..60105c1b9516ec7dc540970605e57f7ffe09e368 100644
--- a/MathHubWorker/.settings/org.eclipse.jdt.core.prefs
+++ b/MathHubWorker/.settings/org.eclipse.jdt.core.prefs
@@ -1,5 +1,5 @@
 eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
 org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.source=1.7
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/MathHubWorker/pom.xml b/MathHubWorker/pom.xml
index 54db0c23e1c207e33cb965e389d086eac0e68636..971061e23fad1e03e474b4a98821bd885bf7a88f 100644
--- a/MathHubWorker/pom.xml
+++ b/MathHubWorker/pom.xml
@@ -81,7 +81,7 @@
 					<instructions>
 						<Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
 						<Private-Package>info.kwarc.sally4.mathhubworker.impl*</Private-Package>
-						<Export-Package>info.kwarc.sally4.mathhubworker*</Export-Package>
+						<Export-Package>info.kwarc.sally4.mathhubworker*;info.kwarc.sally.comm.mathhubworker*</Export-Package>
 					</instructions>
 				</configuration>
 			</plugin>
diff --git a/MathHubWorker/src/main/java/info/kwarc/sally/comm/mathhubworker/GetAuthKeyRequest.java b/MathHubWorker/src/main/java/info/kwarc/sally/comm/mathhubworker/GetAuthKeyRequest.java
new file mode 100644
index 0000000000000000000000000000000000000000..cf4a765d1394192b206c08b839244bd14728a0b8
--- /dev/null
+++ b/MathHubWorker/src/main/java/info/kwarc/sally/comm/mathhubworker/GetAuthKeyRequest.java
@@ -0,0 +1,41 @@
+//
+// 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.16 at 04:45:17 PM CEST 
+//
+
+
+package info.kwarc.sally.comm.mathhubworker;
+
+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;sequence>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "")
+@XmlRootElement(name = "GetAuthKeyRequest")
+public class GetAuthKeyRequest {
+
+
+}
diff --git a/MathHubWorker/src/main/java/info/kwarc/sally/comm/mathhubworker/GetAuthKeyResponse.java b/MathHubWorker/src/main/java/info/kwarc/sally/comm/mathhubworker/GetAuthKeyResponse.java
new file mode 100644
index 0000000000000000000000000000000000000000..b7c7de82c11a506d51cc631172ab39a5ce249dc0
--- /dev/null
+++ b/MathHubWorker/src/main/java/info/kwarc/sally/comm/mathhubworker/GetAuthKeyResponse.java
@@ -0,0 +1,71 @@
+//
+// 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.16 at 04:45:17 PM CEST 
+//
+
+
+package info.kwarc.sally.comm.mathhubworker;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+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;sequence>
+ *         &lt;element name="authkey" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {
+    "authkey"
+})
+@XmlRootElement(name = "GetAuthKeyResponse")
+public class GetAuthKeyResponse {
+
+    @XmlElement(required = true)
+    protected String authkey;
+
+    /**
+     * Gets the value of the authkey property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getAuthkey() {
+        return authkey;
+    }
+
+    /**
+     * Sets the value of the authkey property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setAuthkey(String value) {
+        this.authkey = value;
+    }
+
+}
diff --git a/MathHubWorker/src/main/java/info/kwarc/sally/comm/mathhubworker/ObjectFactory.java b/MathHubWorker/src/main/java/info/kwarc/sally/comm/mathhubworker/ObjectFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..a6e4d9b5b4de7a77bd582a8c718d8222e0ca449e
--- /dev/null
+++ b/MathHubWorker/src/main/java/info/kwarc/sally/comm/mathhubworker/ObjectFactory.java
@@ -0,0 +1,55 @@
+//
+// 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.16 at 04:45:17 PM CEST 
+//
+
+
+package info.kwarc.sally.comm.mathhubworker;
+
+import javax.xml.bind.annotation.XmlRegistry;
+
+
+/**
+ * This object contains factory methods for each 
+ * Java content interface and Java element interface 
+ * generated in the info.kwarc.sally.comm.mathhubworker package. 
+ * <p>An ObjectFactory allows you to programatically 
+ * construct new instances of the Java representation 
+ * for XML content. The Java representation of XML 
+ * content can consist of schema derived interfaces 
+ * and classes representing the binding of schema 
+ * type definitions, element declarations and model 
+ * groups.  Factory methods for each of these are 
+ * provided in this class.
+ * 
+ */
+@XmlRegistry
+public class ObjectFactory {
+
+
+    /**
+     * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: info.kwarc.sally.comm.mathhubworker
+     * 
+     */
+    public ObjectFactory() {
+    }
+
+    /**
+     * Create an instance of {@link GetAuthKeyRequest }
+     * 
+     */
+    public GetAuthKeyRequest createGetAuthKeyRequest() {
+        return new GetAuthKeyRequest();
+    }
+
+    /**
+     * Create an instance of {@link GetAuthKeyResponse }
+     * 
+     */
+    public GetAuthKeyResponse createGetAuthKeyResponse() {
+        return new GetAuthKeyResponse();
+    }
+
+}
diff --git a/MathHubWorker/src/main/java/info/kwarc/sally/comm/mathhubworker/package-info.java b/MathHubWorker/src/main/java/info/kwarc/sally/comm/mathhubworker/package-info.java
new file mode 100644
index 0000000000000000000000000000000000000000..b80aa13e8bde12e51670df5571c244a844a46e2d
--- /dev/null
+++ b/MathHubWorker/src/main/java/info/kwarc/sally/comm/mathhubworker/package-info.java
@@ -0,0 +1,9 @@
+//
+// 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.16 at 04:45:17 PM CEST 
+//
+
+@javax.xml.bind.annotation.XmlSchema(namespace = "http://kwarc.info/sally/comm/mathhubworker", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
+package info.kwarc.sally.comm.mathhubworker;
diff --git a/MathHubWorker/src/main/java/info/kwarc/sally4/mathhubworker/impl/MathHubWorkerImpl.java b/MathHubWorker/src/main/java/info/kwarc/sally4/mathhubworker/impl/PlanetaryClientWorkflow.java
similarity index 57%
rename from MathHubWorker/src/main/java/info/kwarc/sally4/mathhubworker/impl/MathHubWorkerImpl.java
rename to MathHubWorker/src/main/java/info/kwarc/sally4/mathhubworker/impl/PlanetaryClientWorkflow.java
index 623721453cdad18361cfacd4fdcd0b206722b212..241630d8885701dc703fecb08e7f9d655613fd0e 100644
--- a/MathHubWorker/src/main/java/info/kwarc/sally4/mathhubworker/impl/MathHubWorkerImpl.java
+++ b/MathHubWorker/src/main/java/info/kwarc/sally4/mathhubworker/impl/PlanetaryClientWorkflow.java
@@ -3,46 +3,28 @@ package info.kwarc.sally4.mathhubworker.impl;
 import info.kwarc.sally4.core.CamelContextProvider;
 import info.kwarc.sally4.docmanager.AlexRoute;
 import info.kwarc.sally4.docmanager.IDocWorkflow;
-import info.kwarc.sally4.docmanager.component.AlexComponent;
-import info.kwarc.sally4.mathhubworker.MathHubWorker;
 import info.kwarc.sally4.mathhubworker.routes.MathHubRoute;
 import info.kwarc.sally4.planetary.PlanetaryConnection;
 
-import java.util.HashMap;
-import java.util.Map;
-
 import org.apache.camel.CamelContext;
 import org.apache.camel.Exchange;
-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 MathHubWorkerImpl implements MathHubWorker, IDocWorkflow {
-
-	@Requires
-	CamelContextProvider camelContextProvider;
+public class PlanetaryClientWorkflow extends WorkflowCommon implements IDocWorkflow {
 	
 	@Requires
 	PlanetaryConnection conn;
-	
-	Map<AlexRoute, CamelContext> routeContexts;
-	
-	Logger log;
-	
-	
-	public MathHubWorkerImpl() {
-		log = LoggerFactory.getLogger(getClass());
-		routeContexts = new HashMap<AlexRoute, CamelContext>();
-	}
+
+	@Requires
+	CamelContextProvider camelContextProvider;
 	
 	@Validate
 	public void start() {		
@@ -53,25 +35,13 @@ public class MathHubWorkerImpl implements MathHubWorker, IDocWorkflow {
 	
 	}
 
-	public void onNewDocument(final AlexRoute route) {
-		CamelContext camelContext = new DefaultCamelContext();
-		routeContexts.put(route, camelContext);
-		
-		route.addOnStopHandler(new Runnable() {
-			
-			public void run() {
-				try {
-					routeContexts.get(route).stop();
-				} catch (Exception e) {
-					e.printStackTrace();
-				} finally {
-					routeContexts.remove(route);
-				}
-			}
-		});
-		
-		camelContext.addComponent("planetary", camelContextProvider.getComponent("planetary"));
-		camelContext.addComponent("alex", new AlexComponent(route));
+	@Override
+	public String[] getContextComponentsToCopy() {
+		return new String[] {"activemq", "planetary"};
+	}
+	
+	public void startRoutes(CamelContext camelContext, AlexRoute route) {		
+		camelContext.addComponent("alex", route.getAlexComponent());
 		
 		try {
 			camelContext.start();
@@ -95,5 +65,10 @@ public class MathHubWorkerImpl implements MathHubWorker, IDocWorkflow {
 		
 		return false;
 	}
+
+	@Override
+	public CamelContextProvider getCamelContextProvider() {
+		return camelContextProvider;
+	}
 	
 }
diff --git a/MathHubWorker/src/main/java/info/kwarc/sally4/mathhubworker/impl/UserBasedRouter.java b/MathHubWorker/src/main/java/info/kwarc/sally4/mathhubworker/impl/UserBasedRouter.java
deleted file mode 100644
index 6c04d7824e8cba46afd1afb83213fff58da50186..0000000000000000000000000000000000000000
--- a/MathHubWorker/src/main/java/info/kwarc/sally4/mathhubworker/impl/UserBasedRouter.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package info.kwarc.sally4.mathhubworker.impl;
-
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class UserBasedRouter implements Processor{
-
-	Logger log;
-	
-	public UserBasedRouter() {
-		log = LoggerFactory.getLogger(getClass());
-	}
-	
-	public void process(Exchange exchange) throws Exception {
-		log.info(exchange.getIn().getBody().toString());
-//		List<Map<String, Long>> uids = (List<Map<String, Long>>)exchange.getIn().getBody();
-//		for (Map<String, Long> uid: uids) {
-//			log.info(uid.get("uid").toString());
-//		}
-	}
-	
-}
diff --git a/MathHubWorker/src/main/java/info/kwarc/sally4/mathhubworker/impl/WorkerWorkflow.java b/MathHubWorker/src/main/java/info/kwarc/sally4/mathhubworker/impl/WorkerWorkflow.java
new file mode 100644
index 0000000000000000000000000000000000000000..2542a9016d55bf04e2ee370e517eb61dd4b62722
--- /dev/null
+++ b/MathHubWorker/src/main/java/info/kwarc/sally4/mathhubworker/impl/WorkerWorkflow.java
@@ -0,0 +1,79 @@
+package info.kwarc.sally4.mathhubworker.impl;
+
+import info.kwarc.sally4.core.CamelContextProvider;
+import info.kwarc.sally4.docmanager.AlexRoute;
+import info.kwarc.sally4.docmanager.IDocWorkflow;
+import info.kwarc.sally4.mathhubworker.routes.WorkerRoute;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.camel.CamelContext;
+import org.apache.camel.Exchange;
+import org.apache.felix.ipojo.annotations.Component;
+import org.apache.felix.ipojo.annotations.Instantiate;
+import org.apache.felix.ipojo.annotations.Provides;
+import org.apache.felix.ipojo.annotations.Requires;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+
+@Component
+@Instantiate
+@Provides
+public class WorkerWorkflow extends WorkflowCommon implements IDocWorkflow{
+	@Requires
+	CamelContextProvider camelContextProvider;
+
+	Map<String, CamelContext> routeContexts;
+
+	Logger log;
+
+	public WorkerWorkflow() {
+		log = LoggerFactory.getLogger(getClass());
+		routeContexts = new HashMap<String, CamelContext>();
+	}
+
+	@Override
+	public String[] getInterfaceRequirements() {
+		return new String[]{"mathhubworker"};
+	}
+
+	@Override
+	public String[] getHandlingNamespaces() {
+		return new String[] {"http://kwarc.info/sally/comm/mathhubworker"};
+	}
+
+	@Override
+	public boolean handleMessage(String namespace, String type,
+			Exchange exchange) {
+		
+		return false;
+	}
+
+	@Override
+	public void startRoutes(CamelContext camelContext, AlexRoute route) {
+		
+		try {
+			camelContext.addRoutes(new WorkerRoute());
+			log.info("MWH available at "+route.getAlexQueue()+ " and state "+route.getAlexStateQueue());
+			camelContext.addComponent("mhw", route.getAlexComponent());
+			camelContext.start();
+			camelContext.createProducerTemplate().sendBody("direct:start", "");
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+		
+	}
+
+	@Override
+	public String[] getContextComponentsToCopy() {
+		return new String[]{"activemq"};
+	}
+	
+	@Override
+	public CamelContextProvider getCamelContextProvider() {
+		return camelContextProvider;
+	}
+
+}
diff --git a/MathHubWorker/src/main/java/info/kwarc/sally4/mathhubworker/impl/WorkflowCommon.java b/MathHubWorker/src/main/java/info/kwarc/sally4/mathhubworker/impl/WorkflowCommon.java
new file mode 100644
index 0000000000000000000000000000000000000000..c72ef61407d6c24c37b35d43cf4c56698817d361
--- /dev/null
+++ b/MathHubWorker/src/main/java/info/kwarc/sally4/mathhubworker/impl/WorkflowCommon.java
@@ -0,0 +1,59 @@
+package info.kwarc.sally4.mathhubworker.impl;
+
+import info.kwarc.sally4.core.CamelContextProvider;
+import info.kwarc.sally4.docmanager.AlexRoute;
+import info.kwarc.sally4.docmanager.IDocWorkflow;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.camel.CamelContext;
+import org.apache.camel.impl.DefaultCamelContext;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public abstract class WorkflowCommon implements IDocWorkflow {
+	Map<String, CamelContext> routeContexts;
+	Logger log;
+	
+	
+	public WorkflowCommon() {
+		log = LoggerFactory.getLogger(getClass());
+		routeContexts = new HashMap<String, CamelContext>();
+	}
+	
+	public abstract void startRoutes(CamelContext camelContext, AlexRoute route);
+	public abstract String [] getContextComponentsToCopy();
+	public abstract CamelContextProvider getCamelContextProvider();
+
+	public void onNewDocument(final AlexRoute route) {
+		CamelContext camelContext = new DefaultCamelContext();
+		camelContext.getShutdownStrategy().setTimeout(1);
+		CamelContextProvider camelGlobalProvider = getCamelContextProvider();
+		
+		for (String comp : getContextComponentsToCopy()) {
+			camelContext.addComponent(comp, camelGlobalProvider.getComponent(comp));
+		}
+		
+		routeContexts.put(route.getID(), camelContext);
+		
+		route.addOnStopHandler(new Runnable() {
+			
+			public void run() {
+				try {
+					if (routeContexts.containsKey(route.getID())) {
+						routeContexts.get(route.getID()).stop();						
+					}
+				} catch (Exception e) {
+					e.printStackTrace();
+				} finally {
+					routeContexts.remove(route);
+				}
+			}
+		});
+		
+		startRoutes(camelContext, route);
+		
+		
+	}
+}
diff --git a/MathHubWorker/src/main/java/info/kwarc/sally4/mathhubworker/routes/MathHubRoute.java b/MathHubWorker/src/main/java/info/kwarc/sally4/mathhubworker/routes/MathHubRoute.java
index ab8072a91a5622e544660085642188b414e95313..a0a092ce15f6c90b39c7eeb63faa00e0b1de1ce1 100644
--- a/MathHubWorker/src/main/java/info/kwarc/sally4/mathhubworker/routes/MathHubRoute.java
+++ b/MathHubWorker/src/main/java/info/kwarc/sally4/mathhubworker/routes/MathHubRoute.java
@@ -2,7 +2,10 @@ package info.kwarc.sally4.mathhubworker.routes;
 
 import info.kwarc.sally.comm.CommUtils;
 import info.kwarc.sally.comm.planetaryclient.GetSessionIDRequest;
+import info.kwarc.sally.comm.planetaryclient.GetSessionIDResponse;
 
+import org.apache.camel.ExchangeTimedOutException;
+import org.apache.camel.LoggingLevel;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.spi.DataFormat;
 
@@ -12,18 +15,54 @@ public class MathHubRoute extends RouteBuilder {
 		
 	}
 	
+	public String getSessionID(GetSessionIDResponse response) {
+		return response.getSessionid();
+	}
+	
 	@Override
 	public void configure() throws Exception {
 		DataFormat planetaryClient = CommUtils.getDataFormat("planetaryclient", getClass().getClassLoader());
 		
 		from("direct:start")
-			.multicast().to("direct:requestSessionID");
+			.to("direct:requestSessionID")
+			.to("direct:getPlanetaryUser")
+			.to("direct:assignMHW");
+			
 		
 		from("direct:requestSessionID")
 			.setBody(constant(new GetSessionIDRequest()))
 			.marshal(planetaryClient)
-				.inOut("alex:requestSessionID")
-			.unmarshal(planetaryClient);
+				.doTry()
+					.inOut("alex:requestSession")
+				.doCatch(ExchangeTimedOutException.class)
+					.log(LoggingLevel.ERROR,"MathHubRoute","Alex did not respond to GetSessionIDRequest. Ending this route.")
+					.stop()
+				.doFinally()
+			.unmarshal(planetaryClient)
+			.bean(method(this, "getSessionID"))
+			.setProperty("sessionid", body());
+		
+		
+		from("direct:getPlanetaryUser")
+			.setBody(property("sessionid"))
+			.inOut("planetary:select uid from sessions where sid=#?outputType=SelectOne")
+			.setProperty("uid", body())
+				.choice()
+					.when(simple("${body} == null"))
+						.log(LoggingLevel.ERROR,"MathHubRoute","SessionID could not be found in planetary database.")
+						.stop()
+				.endChoice();
+		
+		from("direct:assignMHW")
+			.inOut("planetary:select 'key' from mhw_assignment where uid=#?outputType=SelectOne")
+			.choice()
+				.when(simple("${body} == null"))
+					.log(LoggingLevel.INFO, "MathHubRoute", ">>>> Need to assign a new MathHubWorker")
+					.to("direct:getNewMWH")
+				.endChoice();
+		
+		from("direct:getNewMWH")
+			.log("Need to get some MathHubWorker .... ");
 	}
 
 }
diff --git a/MathHubWorker/src/main/java/info/kwarc/sally4/mathhubworker/routes/WorkerRoute.java b/MathHubWorker/src/main/java/info/kwarc/sally4/mathhubworker/routes/WorkerRoute.java
new file mode 100644
index 0000000000000000000000000000000000000000..19c7ed508355eed4919fd7d412a720bb611f5f45
--- /dev/null
+++ b/MathHubWorker/src/main/java/info/kwarc/sally4/mathhubworker/routes/WorkerRoute.java
@@ -0,0 +1,39 @@
+package info.kwarc.sally4.mathhubworker.routes;
+
+import info.kwarc.sally.comm.CommUtils;
+import info.kwarc.sally.comm.mathhubworker.GetAuthKeyRequest;
+
+import org.apache.camel.ExchangeTimedOutException;
+import org.apache.camel.LoggingLevel;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.spi.DataFormat;
+
+public class WorkerRoute extends RouteBuilder {
+
+	public WorkerRoute() {
+		
+	}
+	
+	
+	@Override
+	public void configure() throws Exception {
+		DataFormat worker = CommUtils.getDataFormat("mathhubworker", getClass().getClassLoader());
+		
+		from("direct:start")
+			.to("direct:requestAuthKey");
+		
+		from("direct:requestAuthKey")
+			.setBody(constant(new GetAuthKeyRequest()))
+			.marshal(worker)
+			.to("log: sending to MHW")
+				.doTry()
+					.inOut("mhw:requestSession")
+				.doCatch(ExchangeTimedOutException.class)
+					.log(LoggingLevel.ERROR,"MathHubRoute","Alex did not respond to GetAuthKeyResponse. Ending this route.")
+					.stop()
+				.doFinally()
+			.unmarshal(worker)
+			.to("log:test>>>>");
+	}
+
+}
diff --git a/MathHubWorker/src/main/resources/mathhubworker.xsd b/MathHubWorker/src/main/resources/mathhubworker.xsd
new file mode 100644
index 0000000000000000000000000000000000000000..f511a6d2ade8c5c910a2d2814204167531fd3cfa
--- /dev/null
+++ b/MathHubWorker/src/main/resources/mathhubworker.xsd
@@ -0,0 +1,21 @@
+<?xml version="1.0"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+	targetNamespace="http://kwarc.info/sally/comm/mathhubworker" elementFormDefault="qualified">
+
+	<xs:element name="GetAuthKeyRequest">
+		<xs:complexType>
+			<xs:sequence>
+			</xs:sequence>
+		</xs:complexType>
+	</xs:element>
+
+
+	<xs:element name="GetAuthKeyResponse">
+		<xs:complexType>
+			<xs:sequence>
+				<xs:element name="authkey" type="xs:string" />
+			</xs:sequence>
+		</xs:complexType>
+	</xs:element>
+
+</xs:schema>
\ No newline at end of file
diff --git a/activemq/.classpath b/activemq/.classpath
index 7d92d53d08152103f3fe5cee2d539d88be476d7f..6a3cba6d9d80b9bf7925fc37cd7955fe4eae13d0 100644
--- a/activemq/.classpath
+++ b/activemq/.classpath
@@ -18,7 +18,7 @@
 			<attribute name="maven.pomderived" value="true"/>
 		</attributes>
 	</classpathentry>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7">
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6">
 		<attributes>
 			<attribute name="maven.pomderived" value="true"/>
 		</attributes>
diff --git a/activemq/.settings/org.eclipse.jdt.core.prefs b/activemq/.settings/org.eclipse.jdt.core.prefs
index ec4300d5d0999d569b87f3935944bcfc5197f877..60105c1b9516ec7dc540970605e57f7ffe09e368 100644
--- a/activemq/.settings/org.eclipse.jdt.core.prefs
+++ b/activemq/.settings/org.eclipse.jdt.core.prefs
@@ -1,5 +1,5 @@
 eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
 org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.source=1.7
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/activemq/src/main/java/info/kwarc/sally4/activemq/impl/ActiveMQServiceImpl.java b/activemq/src/main/java/info/kwarc/sally4/activemq/impl/ActiveMQServiceImpl.java
index 97f8f2ed563347237b776a2f6d232a74a915a4e0..ec83c553fb64ba323e87510877d8f9fdb0289416 100644
--- a/activemq/src/main/java/info/kwarc/sally4/activemq/impl/ActiveMQServiceImpl.java
+++ b/activemq/src/main/java/info/kwarc/sally4/activemq/impl/ActiveMQServiceImpl.java
@@ -4,8 +4,7 @@ import info.kwarc.sally4.activemq.ActiveMQService;
 import info.kwarc.sally4.core.CamelContextProvider;
 
 import org.apache.activemq.ActiveMQConnectionFactory;
-import org.apache.activemq.camel.component.ActiveMQComponent;
-import org.apache.activemq.camel.component.ActiveMQConfiguration;
+import org.apache.camel.component.jms.JmsComponent;
 import org.apache.felix.ipojo.annotations.Component;
 import org.apache.felix.ipojo.annotations.Instantiate;
 import org.apache.felix.ipojo.annotations.Invalidate;
@@ -44,11 +43,7 @@ public class ActiveMQServiceImpl implements ActiveMQService {
 		connectionFactory.setUserName("webclient");
 		connectionFactory.setPassword("webclient");
 		
-		ActiveMQConfiguration config = new ActiveMQConfiguration();
-		config.setConnectionFactory(connectionFactory);
-
-		ActiveMQComponent comp = new ActiveMQComponent(config);
-		camelContextProvider.registerGlobalComponent("activemq", comp);
+		camelContextProvider.registerGlobalComponent("activemq", JmsComponent.jmsComponent(connectionFactory));
 	}
 
 	@Invalidate
diff --git a/core/.classpath b/core/.classpath
index eed8a51ec51748265dfbc148f4993791c3b1559a..6a6c8e335937b8d6a08a3835bbae1b97ea5c28b4 100644
--- a/core/.classpath
+++ b/core/.classpath
@@ -22,7 +22,7 @@
 			<attribute name="maven.pomderived" value="true"/>
 		</attributes>
 	</classpathentry>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7">
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6">
 		<attributes>
 			<attribute name="maven.pomderived" value="true"/>
 		</attributes>
diff --git a/core/.settings/org.eclipse.jdt.core.prefs b/core/.settings/org.eclipse.jdt.core.prefs
index ec4300d5d0999d569b87f3935944bcfc5197f877..60105c1b9516ec7dc540970605e57f7ffe09e368 100644
--- a/core/.settings/org.eclipse.jdt.core.prefs
+++ b/core/.settings/org.eclipse.jdt.core.prefs
@@ -1,5 +1,5 @@
 eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
 org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.source=1.7
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/docmanager/src/main/java/info/kwarc/sally4/docmanager/component/AlexComponent.java b/core/src/main/java/info/kwarc/sally4/core/ProducerConsumerSplitterComponent.java
similarity index 80%
rename from docmanager/src/main/java/info/kwarc/sally4/docmanager/component/AlexComponent.java
rename to core/src/main/java/info/kwarc/sally4/core/ProducerConsumerSplitterComponent.java
index f279e645699308793b19b4426941c115b14256b1..68662fde27bffddeb9d060c170878b8e6634bfa6 100644
--- a/docmanager/src/main/java/info/kwarc/sally4/docmanager/component/AlexComponent.java
+++ b/core/src/main/java/info/kwarc/sally4/core/ProducerConsumerSplitterComponent.java
@@ -1,10 +1,7 @@
-package info.kwarc.sally4.docmanager.component;
-
-import info.kwarc.sally4.docmanager.AlexRoute;
+package info.kwarc.sally4.core;
 
 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;
@@ -24,43 +21,40 @@ import org.apache.camel.impl.DefaultComponent;
  * 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;
-	
+public class ProducerConsumerSplitterComponent extends DefaultComponent {
 	CamelContext camelContext;
-	
+
 	Endpoint alexProducer;
 	Endpoint alexConsumer;
 	
-	
-	public AlexComponent(AlexRoute route) {
+	String consumerEndpoint, producerEndpoint;
+
+	public ProducerConsumerSplitterComponent(String consumerEndpoint, String producerEndpoint) {
 		super();
-		this.route = route;
+		this.consumerEndpoint = consumerEndpoint;
+		this.producerEndpoint = producerEndpoint;
 	}
 
 	@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());
+		alexConsumer = getCamelContext().getEndpoint(consumerEndpoint);
+		alexProducer = getCamelContext().getEndpoint(producerEndpoint);
 		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;
 		}
@@ -117,7 +111,7 @@ public class AlexComponent extends DefaultComponent {
 		}
 
 		public void configureProperties(Map<String, Object> options) {
-			
+
 		}
 
 		public void setCamelContext(CamelContext context) {
@@ -127,8 +121,8 @@ public class AlexComponent extends DefaultComponent {
 		public boolean isLenientProperties() {
 			return false;
 		}
-		
-		
+
+
 	}
 
 }
diff --git a/docmanager/.classpath b/docmanager/.classpath
index 7d92d53d08152103f3fe5cee2d539d88be476d7f..6a3cba6d9d80b9bf7925fc37cd7955fe4eae13d0 100644
--- a/docmanager/.classpath
+++ b/docmanager/.classpath
@@ -18,7 +18,7 @@
 			<attribute name="maven.pomderived" value="true"/>
 		</attributes>
 	</classpathentry>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7">
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6">
 		<attributes>
 			<attribute name="maven.pomderived" value="true"/>
 		</attributes>
diff --git a/docmanager/.settings/org.eclipse.jdt.core.prefs b/docmanager/.settings/org.eclipse.jdt.core.prefs
index ec4300d5d0999d569b87f3935944bcfc5197f877..60105c1b9516ec7dc540970605e57f7ffe09e368 100644
--- a/docmanager/.settings/org.eclipse.jdt.core.prefs
+++ b/docmanager/.settings/org.eclipse.jdt.core.prefs
@@ -1,5 +1,5 @@
 eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
 org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.source=1.7
+org.eclipse.jdt.core.compiler.source=1.6
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 a670cdd64141bc101b48c855e6cc30411a16e2a1..75912bdb07517c2b8701cc9374e0f400187897a8 100644
--- a/docmanager/src/main/java/info/kwarc/sally4/docmanager/AlexRoute.java
+++ b/docmanager/src/main/java/info/kwarc/sally4/docmanager/AlexRoute.java
@@ -1,9 +1,13 @@
 package info.kwarc.sally4.docmanager;
 
+import info.kwarc.sally4.core.ProducerConsumerSplitterComponent;
+
 
 public interface AlexRoute {
+	public String getID();
 	public String getAlexStateQueue();
 	public String getAlexQueue();
+	public ProducerConsumerSplitterComponent getAlexComponent();
 	
 	public void addOnStopHandler(Runnable r);
 }
diff --git a/docmanager/src/main/java/info/kwarc/sally4/docmanager/TT.java b/docmanager/src/main/java/info/kwarc/sally4/docmanager/TT.java
index 7d6bc4c85ebe0a2db0df844a8289a5dd82e100fe..bead3411bd2763140aadcbfc7dabf79533fb33bb 100644
--- a/docmanager/src/main/java/info/kwarc/sally4/docmanager/TT.java
+++ b/docmanager/src/main/java/info/kwarc/sally4/docmanager/TT.java
@@ -1,7 +1,7 @@
 package info.kwarc.sally4.docmanager;
 
 import info.kwarc.sally.comm.core.Registerdocument;
-import info.kwarc.sally4.docmanager.component.AlexComponent;
+import info.kwarc.sally4.core.ProducerConsumerSplitterComponent;
 
 import org.apache.activemq.ActiveMQConnectionFactory;
 import org.apache.activemq.camel.component.ActiveMQComponent;
@@ -30,24 +30,7 @@ public class TT extends RouteBuilder {
 
 		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.addComponent("alex", new ProducerConsumerSplitterComponent("direct:consumer", "direct:producer"));
 
 		context.addRoutes(new TT());
 		context.start();
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 c98de18268c93f7e49e03b182cdcf7a0ccfbd42c..9a74e0436855c4a6055ae483e82d501d23d566b3 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
@@ -1,5 +1,6 @@
 package info.kwarc.sally4.docmanager.impl;
 
+import info.kwarc.sally4.core.ProducerConsumerSplitterComponent;
 import info.kwarc.sally4.docmanager.AlexRoute;
 import info.kwarc.sally4.docmanager.IDocWorkflow;
 
@@ -10,6 +11,7 @@ import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Queue;
+import java.util.UUID;
 
 import org.apache.camel.Exchange;
 import org.slf4j.Logger;
@@ -92,4 +94,14 @@ public class AlexRouteImpl implements AlexRoute {
 			}
 		}
 	}
+
+	@Override
+	public String getID() {
+		return UUID.randomUUID().toString();
+	}
+
+	@Override
+	public ProducerConsumerSplitterComponent getAlexComponent() {
+		return new ProducerConsumerSplitterComponent("activemq:queue:"+alexStateQueue, "activemq:queue:"+alexQueue);
+	}
 }
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 0e7030aa883468274cd7fa75a91e26e9a18139b0..1ccf4c6d6ba6b6c2d6d8c2f2bd1d409c937b6a8d 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
@@ -61,15 +61,17 @@ public class DocumentManagerImpl implements DocumentManager {
 		AlexRouteImpl route = new AlexRouteImpl(doc.getDocumentqueue(), doc.getTheoqueue(), doc.getInterfaces());
 				
 		docs.put(doc.getDocumentqueue(), route);
-		
+				
+		return route;
+	}
+	
+	public void addRouteToWorkflows(AlexRouteImpl route) {
 		for (IDocWorkflow workflow : workflows) {
 			HashSet<String> required = new HashSet<String>(Arrays.asList(workflow.getInterfaceRequirements()));
 			if (route.getInterfaces().containsAll(required)) {
 				route.addDocumentWorkflow(workflow);
 			}
 		}
-		
-		return route;
 	}
 
 
diff --git a/docmanager/src/main/java/info/kwarc/sally4/docmanager/impl/DummyWorkflow.java b/docmanager/src/main/java/info/kwarc/sally4/docmanager/impl/DummyWorkflow.java
new file mode 100644
index 0000000000000000000000000000000000000000..4178bcc0bb0f0d16b04ef2eaa73fe6fc34430e0e
--- /dev/null
+++ b/docmanager/src/main/java/info/kwarc/sally4/docmanager/impl/DummyWorkflow.java
@@ -0,0 +1,36 @@
+package info.kwarc.sally4.docmanager.impl;
+
+import info.kwarc.sally4.docmanager.AlexRoute;
+import info.kwarc.sally4.docmanager.IDocWorkflow;
+
+import org.apache.camel.Exchange;
+import org.apache.felix.ipojo.annotations.Component;
+import org.apache.felix.ipojo.annotations.Instantiate;
+import org.apache.felix.ipojo.annotations.Provides;
+
+@Component
+@Instantiate
+@Provides
+public class DummyWorkflow implements IDocWorkflow {
+
+	@Override
+	public String[] getInterfaceRequirements() {
+		return new String[]{"SomeNearlyImpossibleInterfaceRequirement"};
+	}
+
+	@Override
+	public String[] getHandlingNamespaces() {
+		return new String[]{};
+	}
+
+	@Override
+	public boolean handleMessage(String namespace, String type,
+			Exchange exchange) {
+		return false;
+	}
+
+	@Override
+	public void onNewDocument(AlexRoute route) {		
+	}
+
+}
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
index 32a6695e36a9b7512f02446e19e8ea793773c4a9..edb9724f72964f6a166b1d3ae1ddf9f0412a467a 100644
--- a/docmanager/src/main/java/info/kwarc/sally4/docmanager/routes/SallyAlexRoute.java
+++ b/docmanager/src/main/java/info/kwarc/sally4/docmanager/routes/SallyAlexRoute.java
@@ -4,6 +4,7 @@ import info.kwarc.sally.comm.CommUtils;
 import info.kwarc.sally.comm.core.Heartbeatrequest;
 import info.kwarc.sally4.docmanager.impl.AlexRouteImpl;
 import info.kwarc.sally4.docmanager.impl.AlexRouteMessageProcessor;
+import info.kwarc.sally4.docmanager.impl.DocumentManagerImpl;
 
 import org.apache.camel.ExchangeTimedOutException;
 import org.apache.camel.builder.RouteBuilder;
@@ -15,6 +16,7 @@ public class SallyAlexRoute extends RouteBuilder  {
 
 	Logger log;
 	AlexRouteImpl route;
+	DocumentManagerImpl docManager;
 	
 	public Heartbeatrequest generateHeartbeat() {
 		return new Heartbeatrequest();
@@ -43,14 +45,16 @@ public class SallyAlexRoute extends RouteBuilder  {
 				.inOut("alex:default")
 			.doCatch(ExchangeTimedOutException.class)
 				.bean(method(this, "stopSallyRoute"));
-		
+				
 		/**
 		 * 
 		 */
 		from("alex:defaultin")
 			.convertBodyTo(String.class)
 			.process(new AlexRouteMessageProcessor(route))
-			.to("alex:defaultout");
+			.to("alex:defaultout");		
 	}
+	
+	
 
 }
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 bdd6453d851ce2e342137afc3576f8568e44081d..70e671ca3815d8e2529708279ba24622436b9a3e 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
@@ -2,12 +2,13 @@ package info.kwarc.sally4.docmanager.routes;
 
 import info.kwarc.sally.comm.CommUtils;
 import info.kwarc.sally.comm.core.Registerdocumentresponse;
-import info.kwarc.sally4.docmanager.component.AlexComponent;
 import info.kwarc.sally4.docmanager.impl.AlexRouteImpl;
 import info.kwarc.sally4.docmanager.impl.DocumentManagerImpl;
 
 import org.apache.camel.CamelContext;
+import org.apache.camel.ExchangePattern;
 import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.jms.JmsConstants;
 import org.apache.camel.impl.DefaultCamelContext;
 import org.apache.camel.spi.DataFormat;
 
@@ -18,7 +19,7 @@ public class SallyRegisterRoute extends RouteBuilder {
 	public static final String mockSallyRegisterQueueOutput = "mock:/queue/sally_register_out";
 
 	DocumentManagerImpl docManager;
-	
+
 	public SallyRegisterRoute(DocumentManagerImpl docManager) {
 		this.docManager = docManager;
 	}
@@ -26,13 +27,14 @@ public class SallyRegisterRoute extends RouteBuilder {
 	public Registerdocumentresponse createRouteContext(AlexRouteImpl route) throws Exception {
 		final CamelContext alexRouteContext = new DefaultCamelContext();
 		alexRouteContext.addComponent("activemq", getContext().getComponent("activemq"));
-		alexRouteContext.addComponent("alex", new AlexComponent(route));
+		alexRouteContext.addComponent("alex", route.getAlexComponent());
+		
 		alexRouteContext.addRoutes(new SallyAlexRoute(route));
 		alexRouteContext.getShutdownStrategy().setTimeout(10);
 		alexRouteContext.start();
-		
+
 		route.addOnStopHandler(new Runnable() {
-			
+
 			public void run() {
 				try {
 					alexRouteContext.stop();
@@ -41,21 +43,33 @@ public class SallyRegisterRoute extends RouteBuilder {
 				}
 			}
 		});
-		
 		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)
-				.bean(docManager, "registerDocument")
-				.bean(method(this, "createRouteContext"))
-			.marshal(core);
+			.bean(docManager, "registerDocument")			
+			.setProperty("route", body())
+			.bean(method(this, "createRouteContext"))
+			.setExchangePattern(ExchangePattern.InOnly)
+			.multicast().parallelProcessing()
+				.to("direct:sendResponse", "direct:alexRoute");
+				
+		from("direct:alexRoute")
+			.setBody(property("route"))
+			.bean(docManager, "addRouteToWorkflows")
+			.end();
+
+		from("direct:sendResponse")
+			.marshal(core)
+			.setHeader(JmsConstants.JMS_DESTINATION, header("JMSReplyTo"))
+			.to("activemq:mock");
 	}
 
 }
diff --git a/docmanager/src/test/java/info/kwarc/sally4/docmanager/routes/SallyAlexRouteTest.java b/docmanager/src/test/java/info/kwarc/sally4/docmanager/routes/SallyAlexRouteTest.java
deleted file mode 100644
index c300b4e627db8afee6390b56e7a1352f5eeaed86..0000000000000000000000000000000000000000
--- a/docmanager/src/test/java/info/kwarc/sally4/docmanager/routes/SallyAlexRouteTest.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package info.kwarc.sally4.docmanager.routes;
-
-import info.kwarc.sally4.docmanager.impl.AlexRouteImpl;
-
-import java.util.Arrays;
-
-import org.apache.camel.EndpointInject;
-import org.apache.camel.ProducerTemplate;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.direct.DirectComponent;
-import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.test.junit4.CamelTestSupport;
-import org.junit.Test;
-
-public class SallyAlexRouteTest extends CamelTestSupport {
-
-	SallyAlexRoute route;
-	
-	@EndpointInject(uri="mock:result")
-	MockEndpoint result;
-	
-	@Test
-	public void ValidMessage() throws InterruptedException {
-		ProducerTemplate temp = context.createProducerTemplate();
-		temp.sendBody("alex:defaultin", "  <GetServices    xmlns=\"http://kwarc.info/sally/comm/planetaryclient\"/>   ");
-		result.expectedMessageCount(1);
-		result.assertIsSatisfied();
-	}
-	
-	
-	@Test
-	public void InvalidMessage() throws InterruptedException {
-		ProducerTemplate temp = context.createProducerTemplate();
-		try {
-			temp.sendBody("alex:defaultin", "  <GetServices/>   ");
-			fail();
-		} catch (Exception e) {
-		}
-		result.expectedMessageCount(0);
-		result.assertIsSatisfied();
-	}
-		
-	@Override
-	protected RouteBuilder createRouteBuilder() throws Exception {
-		route = new SallyAlexRoute(new AlexRouteImpl("a", "b", Arrays.asList(new String[]{"asd"})));
-		route.from("alex:defaultout").to("mock:result");
-		context.addComponent("alex", new DirectComponent());
-		return route;
-	}
-
-}
diff --git a/planetary/.classpath b/planetary/.classpath
index 7d92d53d08152103f3fe5cee2d539d88be476d7f..6a3cba6d9d80b9bf7925fc37cd7955fe4eae13d0 100644
--- a/planetary/.classpath
+++ b/planetary/.classpath
@@ -18,7 +18,7 @@
 			<attribute name="maven.pomderived" value="true"/>
 		</attributes>
 	</classpathentry>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7">
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6">
 		<attributes>
 			<attribute name="maven.pomderived" value="true"/>
 		</attributes>
diff --git a/planetary/.settings/org.eclipse.jdt.core.prefs b/planetary/.settings/org.eclipse.jdt.core.prefs
index ec4300d5d0999d569b87f3935944bcfc5197f877..60105c1b9516ec7dc540970605e57f7ffe09e368 100644
--- a/planetary/.settings/org.eclipse.jdt.core.prefs
+++ b/planetary/.settings/org.eclipse.jdt.core.prefs
@@ -1,5 +1,5 @@
 eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
 org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.source=1.7
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/planetary/pom.xml b/planetary/pom.xml
index 57a57b7770d522fb75b77f5b0152b93964ac7ca2..a0c22c8af16151932ed4f754269db989858b2915 100644
--- a/planetary/pom.xml
+++ b/planetary/pom.xml
@@ -54,14 +54,12 @@
 			<version>${sally4.version}</version>
 		</dependency>
 
-
 		<dependency>
 			<groupId>mysql</groupId>
 			<artifactId>mysql-connector-java</artifactId>
 			<version>5.1.30</version>
 		</dependency>
 
-
 		<dependency>
 			<groupId>org.apache.camel</groupId>
 			<artifactId>camel-sql</artifactId>
diff --git a/planetary/src/main/java/info/kwarc/sally4/planetary/TestMain.java b/planetary/src/main/java/info/kwarc/sally4/planetary/TestMain.java
index d236c5f09ea4fc1b1584c9782b9d377650f2e34b..c67e31b4dadc88fbf1a28c6cdfe96ee07496600b 100644
--- a/planetary/src/main/java/info/kwarc/sally4/planetary/TestMain.java
+++ b/planetary/src/main/java/info/kwarc/sally4/planetary/TestMain.java
@@ -4,21 +4,20 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.sql.SqlComponent;
 import org.apache.camel.impl.DefaultCamelContext;
-
-import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;
+import org.springframework.jdbc.datasource.DriverManagerDataSource;
 
 public class TestMain {
 	public static void main(String[] args) throws Exception {
 		CamelContext context = new DefaultCamelContext();
-		SqlComponent sqlComponent = new SqlComponent();
-		MysqlDataSource mysqlDataSource = new MysqlDataSource();
-		mysqlDataSource.setUser("root");
-		mysqlDataSource.setPassword("rootul");
-		mysqlDataSource.setServerName("localhost");
-		mysqlDataSource.setDatabaseName("planetmmt1");
-	
 		
-		sqlComponent.setDataSource(mysqlDataSource);
+		DriverManagerDataSource dataSource = new DriverManagerDataSource();
+	    dataSource.setDriverClassName("com.mysql.jdbc.Driver");
+	    dataSource.setUrl("jdbc:mysql://localhost:3306/planetmmt1");
+	    dataSource.setUsername("root");
+	    dataSource.setPassword("rootul");	
+		
+	    SqlComponent sqlComponent = new SqlComponent();
+		sqlComponent.setDataSource(dataSource);
 		context.addComponent("planetary", sqlComponent);
 		
 		context.addRoutes(new RouteBuilder() {
diff --git a/planetary/src/main/java/info/kwarc/sally4/planetary/impl/PlanetaryConnectionImpl.java b/planetary/src/main/java/info/kwarc/sally4/planetary/impl/PlanetaryConnectionImpl.java
index b08cad0617faaf0af3722255655d875ec4d13513..0423e28724926416ac1390b31da279387d54e6e8 100644
--- a/planetary/src/main/java/info/kwarc/sally4/planetary/impl/PlanetaryConnectionImpl.java
+++ b/planetary/src/main/java/info/kwarc/sally4/planetary/impl/PlanetaryConnectionImpl.java
@@ -3,7 +3,6 @@ package info.kwarc.sally4.planetary.impl;
 import info.kwarc.sally4.core.CamelContextProvider;
 import info.kwarc.sally4.planetary.PlanetaryConnection;
 
-import org.apache.camel.CamelContext;
 import org.apache.camel.component.sql.SqlComponent;
 import org.apache.felix.ipojo.annotations.Component;
 import org.apache.felix.ipojo.annotations.Instantiate;
@@ -20,12 +19,20 @@ import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;
 public class PlanetaryConnectionImpl implements PlanetaryConnection {
 	@Requires
 	CamelContextProvider camelContextProvider;
-	MysqlDataSource mysqlDataSource;
-	
+		
 	@Validate
 	public void start() {
+//		DriverManagerDataSource dataSource = new DriverManagerDataSource();
+//	    dataSource.setDriverClassName("com.mysql.jdbc.Driver");
+//	    dataSource.setUrl("jdbc:mysql://localhost:3306/planetmmt1");
+//	    dataSource.setUsername("root");
+//	    dataSource.setPassword("rootul");	
+//		
+//	    SqlComponent sqlComponent = new SqlComponent();
+//		sqlComponent.setDataSource(dataSource);
+
 		SqlComponent sqlComponent = new SqlComponent();
-		mysqlDataSource = new MysqlDataSource();
+		MysqlDataSource mysqlDataSource = new MysqlDataSource();
 		mysqlDataSource.setUser("root");
 		mysqlDataSource.setPassword("rootul");
 		mysqlDataSource.setServerName("localhost");
diff --git a/pom.xml b/pom.xml
index 931368c5ef173643d03e66c1989a37e27c52da83..fd93a17a8c460a1e61143aa97d953a36c45cd2d0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -29,8 +29,8 @@
 					<groupId>org.apache.maven.plugins</groupId>
 					<artifactId>maven-compiler-plugin</artifactId>
 					<configuration>
-						<source>1.7</source>
-						<target>1.7</target>
+						<source>1.6</source>
+						<target>1.6</target>
 					</configuration>
 				</plugin>
 			</plugins>
diff --git a/servlet/.classpath b/servlet/.classpath
index 7d92d53d08152103f3fe5cee2d539d88be476d7f..6a3cba6d9d80b9bf7925fc37cd7955fe4eae13d0 100644
--- a/servlet/.classpath
+++ b/servlet/.classpath
@@ -18,7 +18,7 @@
 			<attribute name="maven.pomderived" value="true"/>
 		</attributes>
 	</classpathentry>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7">
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6">
 		<attributes>
 			<attribute name="maven.pomderived" value="true"/>
 		</attributes>
diff --git a/servlet/.settings/org.eclipse.jdt.core.prefs b/servlet/.settings/org.eclipse.jdt.core.prefs
index ec4300d5d0999d569b87f3935944bcfc5197f877..60105c1b9516ec7dc540970605e57f7ffe09e368 100644
--- a/servlet/.settings/org.eclipse.jdt.core.prefs
+++ b/servlet/.settings/org.eclipse.jdt.core.prefs
@@ -1,5 +1,5 @@
 eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
 org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.source=1.7
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/start.sh b/start.sh
index 74e44f4121441fabf8fdd0cca7662306ed90ae3c..370b79dc0fb55c263dd70c18b0a420c16d32a32c 120000
--- a/start.sh
+++ b/start.sh
@@ -1 +1 @@
-/home/costea/workspace_sally4/Felix/start.sh
\ No newline at end of file
+/home/costea/workspace_sally4/sally4.git/Felix/start.sh
\ No newline at end of file