diff --git a/ma-impl.sublime-workspace b/ma-impl.sublime-workspace
index 83d6a56bb976395731108ddb61563ae741534c35..92c80ee08a2ec568fb333f86fefff47fd47c597a 100644
--- a/ma-impl.sublime-workspace
+++ b/ma-impl.sublime-workspace
@@ -271,14 +271,6 @@
 	},
 	"buffers":
 	[
-		{
-			"file": "/home/eike/Repositories/fu/ss15/ma/doc/thesis/thesis.tex",
-			"settings":
-			{
-				"buffer_size": 9316,
-				"line_ending": "Unix"
-			}
-		}
 	],
 	"build_system": "",
 	"build_system_choices":
@@ -458,15 +450,17 @@
 	"expanded_folders":
 	[
 		"/home/eike/Repositories/fu/ss15/ma/impl",
-		"/home/eike/Repositories/fu/ss15/ma/impl/vm"
+		"/home/eike/Repositories/fu/ss15/ma/impl/vm",
+		"/home/eike/Repositories/fu/ss15/ma/impl/vm/config"
 	],
 	"file_history":
 	[
 		"/home/eike/Repositories/fu/ss15/ma/impl/vm/bootstrap.sh",
+		"/home/eike/Repositories/fu/ss15/ma/doc/thesis/thesis.tex",
+		"/home/eike/Repositories/fu/ss15/ma/impl/Vagrantfile",
 		"/home/eike/Repositories/fu/ss15/ma/impl/tmbs-processor-backend/src/main/scala/de/cochu/tmbs/processor/MongoDBTest.scala",
 		"/home/eike/Repositories/fu/ss15/ma/impl/.gitignore",
 		"/home/eike/Repositories/fu/ss15/ma/impl/vm/config/initd-tomcat",
-		"/home/eike/Repositories/fu/ss15/ma/impl/Vagrantfile",
 		"/home/eike/Repositories/fu/ss15/ma/impl/vm/config/environment",
 		"/home/eike/Repositories/fu/ss15/ma/impl/tmbs-frontend/app/templates/articles.hbs",
 		"/home/eike/Repositories/fu/ss15/ma/impl/tmbs-frontend/app/templates/application.hbs",
@@ -851,97 +845,8 @@
 	"groups":
 	[
 		{
-			"selected": 0,
 			"sheets":
 			[
-				{
-					"buffer": 0,
-					"file": "/home/eike/Repositories/fu/ss15/ma/doc/thesis/thesis.tex",
-					"semi_transient": false,
-					"settings":
-					{
-						"buffer_size": 9316,
-						"regions":
-						{
-						},
-						"selection":
-						[
-							[
-								1519,
-								1519
-							]
-						],
-						"settings":
-						{
-							"BracketHighlighterBusy": false,
-							"bh_regions":
-							[
-								"bh_square",
-								"bh_square_center",
-								"bh_square_open",
-								"bh_square_close",
-								"bh_square_content",
-								"bh_angle",
-								"bh_angle_center",
-								"bh_angle_open",
-								"bh_angle_close",
-								"bh_angle_content",
-								"bh_c_define",
-								"bh_c_define_center",
-								"bh_c_define_open",
-								"bh_c_define_close",
-								"bh_c_define_content",
-								"bh_single_quote",
-								"bh_single_quote_center",
-								"bh_single_quote_open",
-								"bh_single_quote_close",
-								"bh_single_quote_content",
-								"bh_double_quote",
-								"bh_double_quote_center",
-								"bh_double_quote_open",
-								"bh_double_quote_close",
-								"bh_double_quote_content",
-								"bh_default",
-								"bh_default_center",
-								"bh_default_open",
-								"bh_default_close",
-								"bh_default_content",
-								"bh_regex",
-								"bh_regex_center",
-								"bh_regex_open",
-								"bh_regex_close",
-								"bh_regex_content",
-								"bh_unmatched",
-								"bh_unmatched_center",
-								"bh_unmatched_open",
-								"bh_unmatched_close",
-								"bh_unmatched_content",
-								"bh_tag",
-								"bh_tag_center",
-								"bh_tag_open",
-								"bh_tag_close",
-								"bh_tag_content",
-								"bh_round",
-								"bh_round_center",
-								"bh_round_open",
-								"bh_round_close",
-								"bh_round_content",
-								"bh_curly",
-								"bh_curly_center",
-								"bh_curly_open",
-								"bh_curly_close",
-								"bh_curly_content"
-							],
-							"incomplete_sync": null,
-							"syntax": "Packages/LaTeX/LaTeX.sublime-syntax"
-						},
-						"translation.x": 0.0,
-						"translation.y": 540.0,
-						"zoom_level": 1.0
-					},
-					"stack_index": 0,
-					"type": "text"
-				}
 			]
 		}
 	],
diff --git a/vipra-cmd/cmd/.classpath b/vipra-cmd/cmd/.classpath
new file mode 100644
index 0000000000000000000000000000000000000000..449f64d01669599457f00e42abb9240824dd40ba
--- /dev/null
+++ b/vipra-cmd/cmd/.classpath
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src/main/java"/>
+	<classpathentry kind="src" path="src/main/resources"/>
+	<classpathentry kind="src" path="src/test/java"/>
+	<classpathentry kind="src" path="src/test/resources"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
+		<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/vipra-cmd/cmd/.gitignore b/vipra-cmd/cmd/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..b83d22266ac8aa2f8df2edef68082c789727841d
--- /dev/null
+++ b/vipra-cmd/cmd/.gitignore
@@ -0,0 +1 @@
+/target/
diff --git a/vipra-cmd/cmd/.project b/vipra-cmd/cmd/.project
new file mode 100644
index 0000000000000000000000000000000000000000..b570f39e2c8e5435d1e93e9563363317c08d3d52
--- /dev/null
+++ b/vipra-cmd/cmd/.project
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>vipra-cmd</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/vipra-cmd/cmd/.settings/org.eclipse.core.resources.prefs b/vipra-cmd/cmd/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..99f26c0203a7844de00dbfc56e6a35d8ed3c022c
--- /dev/null
+++ b/vipra-cmd/cmd/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/vipra-cmd/cmd/.settings/org.eclipse.jdt.core.prefs b/vipra-cmd/cmd/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..714351aec195a9a572640e6844dcafd51565a2a5
--- /dev/null
+++ b/vipra-cmd/cmd/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,5 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/vipra-cmd/cmd/.settings/org.eclipse.m2e.core.prefs b/vipra-cmd/cmd/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..f897a7f1cb2389f85fe6381425d29f0a9866fb65
--- /dev/null
+++ b/vipra-cmd/cmd/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/vipra-cmd/cmd/pom.xml b/vipra-cmd/cmd/pom.xml
new file mode 100644
index 0000000000000000000000000000000000000000..91e5cbbd8bad479eb8132a455eae553a4db71062
--- /dev/null
+++ b/vipra-cmd/cmd/pom.xml
@@ -0,0 +1,57 @@
+<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">
+	<modelVersion>4.0.0</modelVersion>
+
+	<groupId>de.vipra</groupId>
+	<artifactId>cmd</artifactId>
+	<version>0.0.1-SNAPSHOT</version>
+	<packaging>jar</packaging>
+
+	<name>Vipra CMD</name>
+	<url>http://maven.apache.org</url>
+
+	<properties>
+		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+		<maven.compiler.target>1.8</maven.compiler.target>
+		<maven.compiler.source>1.8</maven.compiler.source>
+		<log4jVersion>2.4.1</log4jVersion>
+	</properties>
+
+	<dependencies>
+		<dependency>
+			<groupId>commons-cli</groupId>
+			<artifactId>commons-cli</artifactId>
+			<version>1.3.1</version>
+		</dependency>
+
+		<!-- Logging -->
+		<dependency>
+			<groupId>org.apache.logging.log4j</groupId>
+			<artifactId>log4j-api</artifactId>
+			<version>${log4jVersion}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.logging.log4j</groupId>
+			<artifactId>log4j-core</artifactId>
+			<version>${log4jVersion}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.logging.log4j</groupId>
+			<artifactId>log4j-slf4j-impl</artifactId>
+			<version>${log4jVersion}</version>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.logging.log4j</groupId>
+			<artifactId>log4j-web</artifactId>
+			<version>${log4jVersion}</version>
+			<scope>runtime</scope>
+		</dependency>
+
+		<!-- Testing -->
+		<dependency>
+			<groupId>junit</groupId>
+			<artifactId>junit</artifactId>
+			<version>4.12</version>
+		</dependency>
+	</dependencies>
+</project>
diff --git a/vipra-cmd/cmd/src/main/java/de/vipra/cmd/CmdOptions.java b/vipra-cmd/cmd/src/main/java/de/vipra/cmd/CmdOptions.java
new file mode 100644
index 0000000000000000000000000000000000000000..1cec7022e83b9a92312defff07c7ba36437b20a5
--- /dev/null
+++ b/vipra-cmd/cmd/src/main/java/de/vipra/cmd/CmdOptions.java
@@ -0,0 +1,23 @@
+package de.vipra.cmd;
+
+import org.apache.commons.cli.HelpFormatter;
+import org.apache.commons.cli.Options;
+
+public class CmdOptions extends Options {
+
+	private static final long serialVersionUID = 1L;
+
+	public static final String OPT_HELP = "h";
+	public static final String OPT_IMPORT = "i";
+
+	public CmdOptions() {
+		addOption(OPT_HELP, "help", false, "print this message");
+		addOption(OPT_IMPORT, "import", true, "import articles into the database");
+	}
+
+	public void printHelp() {
+		HelpFormatter formatter = new HelpFormatter();
+		formatter.printHelp("vipra", this);
+	}
+
+}
diff --git a/vipra-cmd/cmd/src/main/java/de/vipra/cmd/Main.java b/vipra-cmd/cmd/src/main/java/de/vipra/cmd/Main.java
new file mode 100644
index 0000000000000000000000000000000000000000..b57398208b795e76a5185fbb43664ac09c26f019
--- /dev/null
+++ b/vipra-cmd/cmd/src/main/java/de/vipra/cmd/Main.java
@@ -0,0 +1,33 @@
+package de.vipra.cmd;
+
+import org.apache.commons.cli.CommandLine;
+import org.apache.commons.cli.CommandLineParser;
+import org.apache.commons.cli.DefaultParser;
+import org.apache.commons.cli.ParseException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import de.vipra.cmd.option.ImportOption;
+
+public class Main {
+
+	public static final Logger log = LoggerFactory.getLogger(Main.class);
+
+	public static void main(String[] args) {
+		CommandLineParser parser = new DefaultParser();
+		CmdOptions options = new CmdOptions();
+		try {
+			CommandLine cmd = parser.parse(options, args);
+			if (cmd.hasOption(CmdOptions.OPT_HELP)) {
+				options.printHelp();
+			} else if (cmd.hasOption(CmdOptions.OPT_IMPORT)) {
+				ImportOption opt = new ImportOption(cmd);
+				opt.doImport();
+			}
+		} catch (ParseException e) {
+			log.error("error parsing cmd line: " + e.getMessage());
+			options.printHelp();
+		}
+	}
+
+}
diff --git a/vipra-cmd/cmd/src/main/java/de/vipra/cmd/lda/LDAWrapper.java b/vipra-cmd/cmd/src/main/java/de/vipra/cmd/lda/LDAWrapper.java
new file mode 100644
index 0000000000000000000000000000000000000000..da37e231b3437ea126aaa41e9382819456f05c67
--- /dev/null
+++ b/vipra-cmd/cmd/src/main/java/de/vipra/cmd/lda/LDAWrapper.java
@@ -0,0 +1,5 @@
+package de.vipra.cmd.lda;
+
+public class LDAWrapper {
+
+}
diff --git a/vipra-cmd/cmd/src/main/java/de/vipra/cmd/option/ImportOption.java b/vipra-cmd/cmd/src/main/java/de/vipra/cmd/option/ImportOption.java
new file mode 100644
index 0000000000000000000000000000000000000000..9aae0effee0d7abf7ba13f04bdac08675d13c4bf
--- /dev/null
+++ b/vipra-cmd/cmd/src/main/java/de/vipra/cmd/option/ImportOption.java
@@ -0,0 +1,15 @@
+package de.vipra.cmd.option;
+
+import org.apache.commons.cli.CommandLine;
+
+public class ImportOption {
+
+	public ImportOption(CommandLine cmd) {
+		
+	}
+	
+	public void doImport() {
+		
+	}
+	
+}
diff --git a/vipra-cmd/cmd/src/main/resources/log4j2.xml b/vipra-cmd/cmd/src/main/resources/log4j2.xml
new file mode 100644
index 0000000000000000000000000000000000000000..8abf1b196fcbb49c3df9551ecb1937bd6491200b
--- /dev/null
+++ b/vipra-cmd/cmd/src/main/resources/log4j2.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Configuration>
+	<Appenders>
+		<Console name="Console" target="SYSTEM_OUT">
+			<PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %logger{36} - %msg%n" />
+		</Console>
+	</Appenders>
+	<Loggers>
+		<Root level="all">
+			<AppenderRef ref="Console" />
+		</Root>
+	</Loggers>
+</Configuration>
\ No newline at end of file
diff --git a/vipra-rest/.project b/vipra-rest/.project
index 01f9c2ce19f844544c962ca629291fc7dfb01edd..079d790dd5dd058d558fbd31b199f0b017ce4e76 100644
--- a/vipra-rest/.project
+++ b/vipra-rest/.project
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <projectDescription>
-	<name>vpira-rest</name>
+	<name>vipra-rest</name>
 	<comment></comment>
 	<projects>
 	</projects>
diff --git a/vipra-rest/.settings/org.eclipse.core.resources.prefs b/vipra-rest/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000000000000000000000000000000000000..29abf999564110a0d6aca109f55f439c72b7031c
--- /dev/null
+++ b/vipra-rest/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,6 @@
+eclipse.preferences.version=1
+encoding//src/main/java=UTF-8
+encoding//src/main/resources=UTF-8
+encoding//src/test/java=UTF-8
+encoding//src/test/resources=UTF-8
+encoding/<project>=UTF-8
diff --git a/vipra-rest/.settings/org.eclipse.wst.common.component b/vipra-rest/.settings/org.eclipse.wst.common.component
index 99dbce5d0c8754201003d3d9e4b8934181034a3b..07bb526364819fa2125c5a4a6f2b1a060f873764 100644
--- a/vipra-rest/.settings/org.eclipse.wst.common.component
+++ b/vipra-rest/.settings/org.eclipse.wst.common.component
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
-    <wb-module deploy-name="vpira-rest">
+    <wb-module deploy-name="vipra-rest">
         <wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>
         <wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
         <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
         <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
-        <property name="java-output-path" value="/vpira-rest/target/classes"/>
+        <property name="java-output-path" value="/vipra-rest/target/classes"/>
         <property name="context-root" value="rest"/>
     </wb-module>
 </project-modules>
diff --git a/vipra-rest/pom.xml b/vipra-rest/pom.xml
index 4d9e7b7432fe3f3ab9bcf4a9394b19e21c84f692..2d7195d19997c01f4e948292baf363f8e31b6e41 100644
--- a/vipra-rest/pom.xml
+++ b/vipra-rest/pom.xml
@@ -1,65 +1,75 @@
 <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/maven-v4_0_0.xsd">
 	<modelVersion>4.0.0</modelVersion>
+
 	<groupId>de.vipra</groupId>
 	<artifactId>rest</artifactId>
-	<packaging>war</packaging>
 	<version>0.0.1-SNAPSHOT</version>
-	<name>Vipra REST Backend Application</name>
+	<packaging>war</packaging>
+
+	<name>Vipra REST Backend</name>
+	<url>http://maven.apache.org</url>
+
 	<properties>
+		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 		<maven.compiler.target>1.8</maven.compiler.target>
 		<maven.compiler.source>1.8</maven.compiler.source>
+		<jerseyVersion>2.22.1</jerseyVersion>
+		<jettyVersion>9.3.6.v20151106</jettyVersion>
+		<servletVersion>3.1.0</servletVersion>
+		<log4jVersion>2.4.1</log4jVersion>
 	</properties>
+
 	<dependencies>
 		<!-- Jersey REST -->
 		<dependency>
 			<groupId>org.glassfish.jersey.containers</groupId>
 			<artifactId>jersey-container-servlet</artifactId>
-			<version>2.22.1</version>
+			<version>${jerseyVersion}</version>
 		</dependency>
 		<dependency>
 			<groupId>org.glassfish.jersey.media</groupId>
 			<artifactId>jersey-media-moxy</artifactId>
-			<version>2.22.1</version>
+			<version>${jerseyVersion}</version>
 		</dependency>
 		<dependency>
 			<groupId>org.glassfish.jersey.test-framework</groupId>
 			<artifactId>jersey-test-framework-core</artifactId>
-			<version>2.22.1</version>
+			<version>${jerseyVersion}</version>
 		</dependency>
 		<dependency>
 			<groupId>org.glassfish.jersey.test-framework.providers</groupId>
 			<artifactId>jersey-test-framework-provider-simple</artifactId>
-			<version>2.22.1</version>
+			<version>${jerseyVersion}</version>
 		</dependency>
 
 		<!-- Servlet API -->
 		<dependency>
 			<groupId>javax.servlet</groupId>
 			<artifactId>javax.servlet-api</artifactId>
-			<version>3.1.0</version>
+			<version>${servletVersion}</version>
 		</dependency>
 
 		<!-- Logging -->
 		<dependency>
 			<groupId>org.apache.logging.log4j</groupId>
 			<artifactId>log4j-api</artifactId>
-			<version>2.4.1</version>
+			<version>${log4jVersion}</version>
 		</dependency>
 		<dependency>
 			<groupId>org.apache.logging.log4j</groupId>
 			<artifactId>log4j-core</artifactId>
-			<version>2.4.1</version>
+			<version>${log4jVersion}</version>
 		</dependency>
 		<dependency>
 			<groupId>org.apache.logging.log4j</groupId>
 			<artifactId>log4j-slf4j-impl</artifactId>
-			<version>2.4.1</version>
+			<version>${log4jVersion}</version>
 		</dependency>
 		<dependency>
 			<groupId>org.apache.logging.log4j</groupId>
 			<artifactId>log4j-web</artifactId>
-			<version>2.4.1</version>
+			<version>${log4jVersion}</version>
 			<scope>runtime</scope>
 		</dependency>
 
@@ -77,4 +87,14 @@
 			<version>4.12</version>
 		</dependency>
 	</dependencies>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.eclipse.jetty</groupId>
+				<artifactId>jetty-maven-plugin</artifactId>
+				<version>${jettyVersion}</version>
+			</plugin>
+		</plugins>
+	</build>
 </project>
diff --git a/vipra-rest/src/main/java/de/vipra/backend/rest/Application.java b/vipra-rest/src/main/java/de/vipra/rest/Application.java
similarity index 91%
rename from vipra-rest/src/main/java/de/vipra/backend/rest/Application.java
rename to vipra-rest/src/main/java/de/vipra/rest/Application.java
index 105026699b404fed598a1e84d479b3599bf40821..22d390d4e5a544fbf68f440a1bdda710f90927d4 100644
--- a/vipra-rest/src/main/java/de/vipra/backend/rest/Application.java
+++ b/vipra-rest/src/main/java/de/vipra/rest/Application.java
@@ -1,4 +1,4 @@
-package de.vipra.backend.rest;
+package de.vipra.rest;
 
 import org.glassfish.jersey.server.ResourceConfig;
 import org.slf4j.Logger;
diff --git a/vipra-rest/src/main/java/de/vipra/backend/rest/CORSFilter.java b/vipra-rest/src/main/java/de/vipra/rest/CORSFilter.java
similarity index 96%
rename from vipra-rest/src/main/java/de/vipra/backend/rest/CORSFilter.java
rename to vipra-rest/src/main/java/de/vipra/rest/CORSFilter.java
index 21f554c445b7b3df2891dc4879aa2c860a4bd172..2f5e5f3a355e9bf7ebd3ab7be5d66fc2fd5176d0 100644
--- a/vipra-rest/src/main/java/de/vipra/backend/rest/CORSFilter.java
+++ b/vipra-rest/src/main/java/de/vipra/rest/CORSFilter.java
@@ -1,4 +1,4 @@
-package de.vipra.backend.rest;
+package de.vipra.rest;
 
 import java.io.IOException;
 
diff --git a/vipra-rest/src/main/java/de/vipra/backend/rest/Messages.java b/vipra-rest/src/main/java/de/vipra/rest/Messages.java
similarity index 83%
rename from vipra-rest/src/main/java/de/vipra/backend/rest/Messages.java
rename to vipra-rest/src/main/java/de/vipra/rest/Messages.java
index 8107e6acaf271f0b593ad68bcdbf61a67401b44b..6e30fd15e141319e8bf66c49d59d65bc2f732f35 100644
--- a/vipra-rest/src/main/java/de/vipra/backend/rest/Messages.java
+++ b/vipra-rest/src/main/java/de/vipra/rest/Messages.java
@@ -1,4 +1,4 @@
-package de.vipra.backend.rest;
+package de.vipra.rest;
 
 public class Messages {
 
diff --git a/vipra-rest/src/main/java/de/vipra/backend/rest/MongoDBContextListener.java b/vipra-rest/src/main/java/de/vipra/rest/MongoDBContextListener.java
similarity index 97%
rename from vipra-rest/src/main/java/de/vipra/backend/rest/MongoDBContextListener.java
rename to vipra-rest/src/main/java/de/vipra/rest/MongoDBContextListener.java
index 4d89a045469c0cc66b627b48b63d1928752db946..ef62a6ea958b03ff544ce3f14f7c9a9e6106fa20 100644
--- a/vipra-rest/src/main/java/de/vipra/backend/rest/MongoDBContextListener.java
+++ b/vipra-rest/src/main/java/de/vipra/rest/MongoDBContextListener.java
@@ -1,4 +1,4 @@
-package de.vipra.backend.rest;
+package de.vipra.rest;
 
 import javax.servlet.ServletContext;
 import javax.servlet.ServletContextEvent;
diff --git a/vipra-rest/src/main/java/de/vipra/backend/rest/dao/Article.java b/vipra-rest/src/main/java/de/vipra/rest/dao/Article.java
similarity index 97%
rename from vipra-rest/src/main/java/de/vipra/backend/rest/dao/Article.java
rename to vipra-rest/src/main/java/de/vipra/rest/dao/Article.java
index 8e0216b65e696f6cf2712cc1af7ae17f13f0e1e8..cfd7cdb315edf07acbd249f57616174281aa09b9 100644
--- a/vipra-rest/src/main/java/de/vipra/backend/rest/dao/Article.java
+++ b/vipra-rest/src/main/java/de/vipra/rest/dao/Article.java
@@ -1,4 +1,4 @@
-package de.vipra.backend.rest.dao;
+package de.vipra.rest.dao;
 
 import java.util.ArrayList;
 import java.util.Date;
diff --git a/vipra-rest/src/main/java/de/vipra/backend/rest/dao/Dao.java b/vipra-rest/src/main/java/de/vipra/rest/dao/Dao.java
similarity index 94%
rename from vipra-rest/src/main/java/de/vipra/backend/rest/dao/Dao.java
rename to vipra-rest/src/main/java/de/vipra/rest/dao/Dao.java
index b1dca24e3a44c2834b1a887586930cc22053aaa2..5bc9b739e5f34b1e5c6ce610312fc9dd8e7c8549 100644
--- a/vipra-rest/src/main/java/de/vipra/backend/rest/dao/Dao.java
+++ b/vipra-rest/src/main/java/de/vipra/rest/dao/Dao.java
@@ -1,4 +1,4 @@
-package de.vipra.backend.rest.dao;
+package de.vipra.rest.dao;
 
 import java.net.MalformedURLException;
 import java.net.URI;
diff --git a/vipra-rest/src/main/java/de/vipra/backend/rest/resource/ArticleResource.java b/vipra-rest/src/main/java/de/vipra/rest/resource/ArticleResource.java
similarity index 95%
rename from vipra-rest/src/main/java/de/vipra/backend/rest/resource/ArticleResource.java
rename to vipra-rest/src/main/java/de/vipra/rest/resource/ArticleResource.java
index 2cde2c664cb44f6c23473ac25b590229f3f03c85..4efab4113d4140c61f0bb853583eb6706538eda0 100644
--- a/vipra-rest/src/main/java/de/vipra/backend/rest/resource/ArticleResource.java
+++ b/vipra-rest/src/main/java/de/vipra/rest/resource/ArticleResource.java
@@ -1,4 +1,4 @@
-package de.vipra.backend.rest.resource;
+package de.vipra.rest.resource;
 
 import java.net.MalformedURLException;
 import java.net.URISyntaxException;
@@ -27,9 +27,9 @@ import com.mongodb.client.MongoDatabase;
 
 import javax.ws.rs.core.GenericEntity;
 
-import de.vipra.backend.rest.Messages;
-import de.vipra.backend.rest.dao.Article;
-import de.vipra.backend.rest.service.ArticleService;
+import de.vipra.rest.Messages;
+import de.vipra.rest.dao.Article;
+import de.vipra.rest.service.ArticleService;
 
 @Path("articles")
 public class ArticleResource {
diff --git a/vipra-rest/src/main/java/de/vipra/backend/rest/service/ArticleService.java b/vipra-rest/src/main/java/de/vipra/rest/service/ArticleService.java
similarity index 95%
rename from vipra-rest/src/main/java/de/vipra/backend/rest/service/ArticleService.java
rename to vipra-rest/src/main/java/de/vipra/rest/service/ArticleService.java
index 77f1fb61820017636d3243402830a274345477c3..0bbb199b4ebbadf6d521db645f7f6fba1b87481f 100644
--- a/vipra-rest/src/main/java/de/vipra/backend/rest/service/ArticleService.java
+++ b/vipra-rest/src/main/java/de/vipra/rest/service/ArticleService.java
@@ -1,4 +1,4 @@
-package de.vipra.backend.rest.service;
+package de.vipra.rest.service;
 
 import static com.mongodb.client.model.Sorts.ascending;
 import static com.mongodb.client.model.Sorts.descending;
@@ -15,7 +15,7 @@ import com.mongodb.client.model.Filters;
 import com.mongodb.client.result.DeleteResult;
 import com.mongodb.client.result.UpdateResult;
 
-import de.vipra.backend.rest.dao.Article;
+import de.vipra.rest.dao.Article;
 
 public class ArticleService {
 
diff --git a/vipra-rest/src/main/webapp/WEB-INF/web.xml b/vipra-rest/src/main/webapp/WEB-INF/web.xml
index a2fb8060d5aa166743634654efdaed4078aa4503..6dfda370c3a3a56b4957fe68b5ceab175159f489 100644
--- a/vipra-rest/src/main/webapp/WEB-INF/web.xml
+++ b/vipra-rest/src/main/webapp/WEB-INF/web.xml
@@ -1,7 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee" xmlns:web="http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
-	version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee">
+<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xmlns:web="http://xmlns.jcp.org/xml/ns/javaee"
+	xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
+	version="3.1">
 	<context-param>
 		<param-name>MONGODB_HOST</param-name>
 		<param-value>localhost</param-value>
@@ -19,7 +20,7 @@
 		<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
 		<init-param>
 			<param-name>javax.ws.rs.Application</param-name>
-			<param-value>de.cochu.backend.rest.Application</param-value>
+			<param-value>de.vipra.rest.Application</param-value>
 		</init-param>
 	</servlet>
 	<servlet-mapping>
@@ -27,6 +28,6 @@
 		<url-pattern>/rest/*</url-pattern>
 	</servlet-mapping>
 	<listener>
-		<listener-class>de.cochu.backend.rest.MongoDBContextListener</listener-class>
+		<listener-class>de.vipra.rest.MongoDBContextListener</listener-class>
 	</listener>
 </web-app>
\ No newline at end of file
diff --git a/vipra-rest/src/test/java/de/vipra/backend/rest/resource/ArticleResourceTest.java b/vipra-rest/src/test/java/de/vipra/rest/resource/ArticleResourceTest.java
similarity index 85%
rename from vipra-rest/src/test/java/de/vipra/backend/rest/resource/ArticleResourceTest.java
rename to vipra-rest/src/test/java/de/vipra/rest/resource/ArticleResourceTest.java
index bab39df9927d04770aa3c090b78dd08f0304ee7c..7ef0949f4b49cbaa15e53a9b0c6cb74711b9f2a5 100644
--- a/vipra-rest/src/test/java/de/vipra/backend/rest/resource/ArticleResourceTest.java
+++ b/vipra-rest/src/test/java/de/vipra/rest/resource/ArticleResourceTest.java
@@ -1,4 +1,4 @@
-package de.vipra.backend.rest.resource;
+package de.vipra.rest.resource;
 
 import static org.junit.Assert.*;
 
@@ -9,7 +9,7 @@ import org.glassfish.jersey.server.ResourceConfig;
 import org.glassfish.jersey.test.JerseyTest;
 import org.junit.Test;
 
-import de.vipra.backend.rest.resource.ArticleResource;
+import de.vipra.rest.resource.ArticleResource;
 
 public class ArticleResourceTest extends JerseyTest {
 
diff --git a/vm/bootstrap.sh b/vm/bootstrap.sh
index 138de264238cfa289b425d42720e37621dd3a99e..5535f49a5719b7b8165dc745b27926aa3034693d 100644
--- a/vm/bootstrap.sh
+++ b/vm/bootstrap.sh
@@ -94,6 +94,13 @@ rm apache-maven-3.3.9-bin.tar.gz
 git clone https://github.com/apache/mahout.git mahout
 mvn -DskipTests -X clean -f ./mahout install
 
+# -----------------------------------------------------------------------------
+# install elasticsearch
+wget https://download.elasticsearch.org/elasticsearch/release/org/elasticsearch/distribution/deb/elasticsearch/2.1.0/elasticsearch-2.1.0.deb
+gdebi -n elasticsearch-2.1.0.deb
+rm elasticsearch-2.1.0.deb
+service start elasticsearch
+
 # -----------------------------------------------------------------------------
 # disable firewall
 ufw disable