diff --git a/README.md b/README.md
index 87be8ef895ca6ea300339e02cf23da113873cf49..9646c934fbbae587ac3ddae0cc74befa3357a465 100644
--- a/README.md
+++ b/README.md
@@ -4,18 +4,67 @@ ARSnova is a modern approach to Audience Response Systems (ARS). It is released
 
 ![ARSnova](src/site/resources/showcase.png)
 
-ARSnova consists of two projects: the mobile client and the server. This repository contains the server code. You will find the client at thm-projects/arsnova-st2-js. However, you do not need to download both respositories in order to get started.
+ARSnova consists of two projects: the mobile client and the server. This repository contains the server code. You will find the client at thm-projects/arsnova-mobile. However, you do not need to download both repositories in order to get started.
 
 ## Getting Started
 
-This is the main repository. Almost all dependencies (including the mobile client) are managed for you by Maven.  The mobile client is served via `index.html`, and optionally via `developer.html`. 
+This is the main repository. Almost all dependencies (including the mobile client) are managed for you by Maven.
 
-## Configuration
+### Download
 
-You will need to do some configuration work upfront.
+If you have no intention in contributing, you might want to consider downloading one of our pre-built WAR archives. You will find them in our [Maven repository](https://maven.mni.thm.de/content/repositories/snapshots/de/thm/arsnova/arsnova-war/2.0.0-SNAPSHOT/), but please do note that we are not officially offering these archives.
 
- * Add a new directory "arsnova" in `/etc`, and create a copy of arsnova.properties.example named arsnova.properties in this directory.
- * Change settings to match your environment
+### Building
+
+ARSnova consists of two main projects: arsnova-war (this repository) and arsnova-mobile. By building arsnova-war, you will automatically download the mobile client. If you do not plan to work on the client, you won't need to build it separately.
+
+Because all dependencies are handled by Maven, a complete build is done with:
+
+	mvn install
+
+### Development
+
+You need three things to get started developing ARSnova:
+
+1. the configuration file,
+2. a CouchDB database including several view documents,
+3. and a development server.
+
+We will cover all three in the following sections.
+
+#### Configuration
+
+You will need to do some configuration work upfront: add a new directory "arsnova" in `/etc`, and create a copy of [arsnova.properties.example](src/main/webapp/arsnova.properties.example) named `arsnova.properties` in this directory. Then change the settings to match your environment, e.g. you might want to change the URLs.
+
+Also, don't forget to change all properties starting with `couchdb`, if you do not want to use our defaults. The properties are used in the next section.
+
+*A note to Windows users*: our settings are based on Linux and Mac environments. We do not officially support Windows, so you have to do some extra steps. The property file's path is hard coded in [spring-main.xml](src/main/webapp/WEB-INF/spring/spring-main.xml) and in the "Setup Tool" (see next section). You want to change the paths to make them match your environment. 
+
+#### Database
+
+We provide a Python script that will set up all database essentials. This "Setup Tool" is located at [thm-projects/setuptool](https://github.com/thm-projects/setuptool). Make sure you have configured your database credentials inside the ARSnova configuration file (see previous section): you will need to have the entries `couchdb.username` and `couchdb.password`.
+
+To set up the database, run:
+	
+	python tool.py
+
+This will create the database along with all required view documents. Note that this script requires Python 2 and will not run with Python 3.
+
+#### Developer Mode
+
+The easiest way to deploy ARSnova is via Jetty:
+
+	mvn jetty:run -Dmobile.path=
+	
+This will work out of the box. ARSnova will be located at <http://localhost:8080/>. 
+
+If you're wondering what that `-Dmobile.path=` thing is doing, this is a special override property for Jetty. By default, this property points to a local version of ARSnova mobile located at `../arsnova-mobile` &mdash; relative to the location of this project. If you happen to have downloaded ARSnova mobile to this location, you may skip the override, and just use:
+	
+	mvn jetty:run
+
+## Production Use
+
+If you intend to use ARSnova in productive environments, you will have to do some additional configuration work.
 
 ### Server
 
@@ -42,14 +91,6 @@ To enable the required Apache Webserver modules simply type:
 
 The configuration is ready for development usage. Finally, you should (re)start all services. ARSnova is now listening on HTTP port 80.
 
-### Database
-
-We provide a script that will set up all database essentials. This "Setup Tool" is located at <https://github.com/thm-projects/setuptool>. Make sure you have configured your database credentials inside the ARSnova configuration file: you will need to have the entries `couchdb.username` and `couchdb.password`.
-
-## Production Use
-
-If you intend to use ARSnova in productive environments, you will have to do some additional configuration work.
-
 ### Session Persistence
 
 Look for your Tomcat configuration directory and change the file "context.xml" to match this example:
diff --git a/pom.xml b/pom.xml
index 64f71c380b04be440d3b1e331d4799a2943027a5..d5ef17cce8481ec4010e766e2e3b359a23515f23 100644
--- a/pom.xml
+++ b/pom.xml
@@ -11,6 +11,7 @@
 		<org.springframework.security-version>3.1.4.RELEASE</org.springframework.security-version>
 		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 		<project.url>https://scm.thm.de/arsnova</project.url>
+		<mobile.path>../arsnova-mobile/src/main/webapp/build/production/ARSnova</mobile.path>
 	</properties>
 
 	<developers>
@@ -346,7 +347,7 @@
 					<webApp> 
 						<contextPath>/</contextPath>
 						<baseResource implementation="org.eclipse.jetty.util.resource.ResourceCollection">
-							<resourcesAsCSV>src/main/webapp,../arsnova-mobile/src/main/webapp</resourcesAsCSV> 
+							<resourcesAsCSV>src/main/webapp,${mobile.path}</resourcesAsCSV> 
 						</baseResource>
 						<overrideDescriptor>src/main/webapp/WEB-INF/web-dev.xml</overrideDescriptor>
 					</webApp>
@@ -355,7 +356,7 @@
 			<plugin>
 				<groupId>org.apache.maven.plugins</groupId>
 				<artifactId>maven-site-plugin</artifactId>
-				<version>3.1</version>
+				<version>3.3</version>
 				<configuration>
 					<locales>en</locales>
 				</configuration>
diff --git a/src/main/java/de/thm/arsnova/FeedbackStorage.java b/src/main/java/de/thm/arsnova/FeedbackStorage.java
index 7f62d24c32e3f87709eca27b7332603b0edb4b94..dcdd11b845d1301489dee7d6f08e4e47baeaddf1 100644
--- a/src/main/java/de/thm/arsnova/FeedbackStorage.java
+++ b/src/main/java/de/thm/arsnova/FeedbackStorage.java
@@ -1,7 +1,6 @@
 package de.thm.arsnova;
 
 import java.util.Date;
-import java.util.HashMap;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 
@@ -41,7 +40,7 @@ public class FeedbackStorage {
 	private IDatabaseDao dao;
 	
 	public FeedbackStorage(IDatabaseDao newDao) {
-		this.data = new ConcurrentHashMap<String, Map<String,FeedbackStorageObject>>();
+		this.data = new ConcurrentHashMap<String, Map<String, FeedbackStorageObject>>();
 		this.dao = newDao;
 	}
 
@@ -104,8 +103,6 @@ public class FeedbackStorage {
 			data.put(keyword, new ConcurrentHashMap<String, FeedbackStorageObject>());
 		}
 		
-		System.out.println(user.getUsername());
-		
 		data.get(keyword).put(user.getUsername(), new FeedbackStorageObject(value, user));
 		return true;
 	}
diff --git a/src/main/java/de/thm/arsnova/aop/UserSessionAspect.java b/src/main/java/de/thm/arsnova/aop/UserSessionAspect.java
index 56f1158cd966511b8efb2b74a0b0cb3163ef079d..bfe0dad441bf1bc57c68f54585aafba56e701feb 100644
--- a/src/main/java/de/thm/arsnova/aop/UserSessionAspect.java
+++ b/src/main/java/de/thm/arsnova/aop/UserSessionAspect.java
@@ -1,7 +1,5 @@
 package de.thm.arsnova.aop;
 
-import java.util.UUID;
-
 import org.aspectj.lang.JoinPoint;
 import org.aspectj.lang.annotation.AfterReturning;
 import org.aspectj.lang.annotation.Aspect;
diff --git a/src/main/java/de/thm/arsnova/dao/CouchDBDao.java b/src/main/java/de/thm/arsnova/dao/CouchDBDao.java
index 81115522db23991064d200951b4b4437980ace3d..30089aa489467a55b2261995e134a695921eec12 100644
--- a/src/main/java/de/thm/arsnova/dao/CouchDBDao.java
+++ b/src/main/java/de/thm/arsnova/dao/CouchDBDao.java
@@ -574,7 +574,6 @@ public class CouchDBDao implements IDatabaseDao {
 
 	@Override
 	public final int getAnswerCount(final Question question, final int piRound) {
-		LOGGER.debug("coudbdao: getAnswerCount, piRound: ", piRound);
 		NovaView view = new NovaView("skill_question/count_total_answers_by_question_and_piround");
 		view.setGroup(true);
 		view.setStartKey(question.get_id(), String.valueOf(piRound));
@@ -1037,8 +1036,7 @@ public class CouchDBDao implements IDatabaseDao {
 			sb.append("]");
 			try {
 				this.setKeys(URLEncoder.encode(sb.toString(), "UTF-8"));
-			}
-			catch (UnsupportedEncodingException e) {
+			} catch (UnsupportedEncodingException e) {
 				LOGGER.error("Error while encoding course ID keys", e);
 			}
 		}
diff --git a/src/main/java/de/thm/arsnova/entities/LoggedIn.java b/src/main/java/de/thm/arsnova/entities/LoggedIn.java
index f44650438b17212e99a9183dcd038155ed714aee..1c4b91719ebaf41eb769b65fbb016a458d120555 100644
--- a/src/main/java/de/thm/arsnova/entities/LoggedIn.java
+++ b/src/main/java/de/thm/arsnova/entities/LoggedIn.java
@@ -122,7 +122,7 @@ public class LoggedIn {
 	}
 
 	public boolean hasConflicts() {
-		return ! (_conflicts == null || _conflicts.isEmpty());
+		return !(_conflicts == null || _conflicts.isEmpty());
 	}
 
 	@Override
@@ -132,4 +132,4 @@ public class LoggedIn {
 				+ ", timestamp=" + timestamp + ", visitedSessions="
 				+ visitedSessions + "]";
 	}
-}
\ No newline at end of file
+}
diff --git a/src/main/java/de/thm/arsnova/entities/Session.java b/src/main/java/de/thm/arsnova/entities/Session.java
index 0e17a2df5bb68032853d86cc71bb4e332ea579d3..1bbf8ad0fd45ae1242608636427690abb136fa3e 100644
--- a/src/main/java/de/thm/arsnova/entities/Session.java
+++ b/src/main/java/de/thm/arsnova/entities/Session.java
@@ -21,6 +21,8 @@ package de.thm.arsnova.entities;
 import java.io.Serializable;
 import java.util.List;
 
+import com.fasterxml.jackson.annotation.JsonIgnore;
+
 public class Session implements Serializable {
 
 	private static final long serialVersionUID = 1L;
@@ -110,7 +112,7 @@ public class Session implements Serializable {
 	public String get_rev() {
 		return _rev;
 	}
-	
+
 	public void set_conflicts(List<String> conflicts) {
 		_conflicts = conflicts;
 	}
@@ -139,10 +141,11 @@ public class Session implements Serializable {
 		this.courseId = courseId;
 	}
 
+	@JsonIgnore
 	public boolean isCourseSession() {
 		return (this.getCourseId() != null) && (!this.getCourseId().isEmpty());
 	}
-	
+
 	@Override
 	public String toString() {
 		return "User [keyword=" + keyword+ ", type=" + type + "]";
diff --git a/src/main/java/de/thm/arsnova/events/Publisher.java b/src/main/java/de/thm/arsnova/events/Publisher.java
index c8906725eeaa6280d3a103feefa6d15ce41a8f45..ac5b64fa218f3668198e2c1ac74c64bd22de8aa3 100644
--- a/src/main/java/de/thm/arsnova/events/Publisher.java
+++ b/src/main/java/de/thm/arsnova/events/Publisher.java
@@ -1,6 +1,5 @@
 package de.thm.arsnova.events;
 
-import org.springframework.beans.BeansException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.ApplicationContextAware;
@@ -13,7 +12,7 @@ public class Publisher implements ApplicationContextAware {
 	private ApplicationContext context;
 
 	@Override
-	public void setApplicationContext(ApplicationContext c) throws BeansException {
+	public void setApplicationContext(ApplicationContext c) {
 		this.context = c;
 	}
 
diff --git a/src/main/java/de/thm/arsnova/services/QuestionService.java b/src/main/java/de/thm/arsnova/services/QuestionService.java
index b8f795dee0fc3b326f3b613e9c89778ee79563b6..0467de78e4aa89783df70616385df70ea61b6aab 100644
--- a/src/main/java/de/thm/arsnova/services/QuestionService.java
+++ b/src/main/java/de/thm/arsnova/services/QuestionService.java
@@ -112,6 +112,9 @@ public class QuestionService implements IQuestionService {
 	@Authenticated
 	public Question getQuestion(String id) {
 		Question result = databaseDao.getQuestion(id);
+		if (result == null) {
+			return null;
+		}
 		if (!"freetext".equals(result.getQuestionType()) && 0 == result.getPiRound()) {
 			/* needed for legacy questions whose piRound property has not been set */
 			result.setPiRound(1);
diff --git a/src/main/java/de/thm/arsnova/services/UserSessionService.java b/src/main/java/de/thm/arsnova/services/UserSessionService.java
index df3110cd50221cba01a1dc79b7ddb1951271091a..170030f67b8e6076203f9b2f2f780be73f8f45e3 100644
--- a/src/main/java/de/thm/arsnova/services/UserSessionService.java
+++ b/src/main/java/de/thm/arsnova/services/UserSessionService.java
@@ -30,4 +30,4 @@ public interface UserSessionService {
 	boolean isAuthenticated();
 	
 	void sendEventViaWebSocket(ARSnovaSocketIOServer server, ARSnovaEvent event);
-}
\ No newline at end of file
+}
diff --git a/src/main/java/de/thm/arsnova/socket/ARSnovaSocketIOServer.java b/src/main/java/de/thm/arsnova/socket/ARSnovaSocketIOServer.java
index f9d41fcd95e3c1052b9ffc906ecb69424a3cc0bf..d63372fa8b4155a7a0f24d16e70b3f2422db5c24 100644
--- a/src/main/java/de/thm/arsnova/socket/ARSnovaSocketIOServer.java
+++ b/src/main/java/de/thm/arsnova/socket/ARSnovaSocketIOServer.java
@@ -109,7 +109,7 @@ public class ARSnovaSocketIOServer {
 				 * a feedback
 				 */
 				User u = userService.getUser2SocketId(client.getSessionId());
-				if (u == null || ! userService.isUserInSession(u, data.getSessionkey())) {
+				if (u == null || !userService.isUserInSession(u, data.getSessionkey())) {
 					return;
 				}
 				feedbackService.saveFeedback(data.getSessionkey(), data.getValue(), u);
@@ -310,11 +310,11 @@ public class ARSnovaSocketIOServer {
 	 * 
 	 * @param sessionId The UUID of the websocket ID
 	 * @param event The event to be send to client
+	 * TODO This method is unimplemented!
 	 */
 	public void sendToClient(UUID sessionId, ARSnovaEvent event) {
 		for (SocketIOClient c : server.getAllClients()) {
 			if (c.getSessionId().equals(sessionId)) {
-				System.out.println(sessionId);
 				break;
 			}
 		}
diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml
index 6e80f45abbbf0334bd7f1c60a4c95b5fdcdc47a4..8ebba29fa000ab97ff476a88dd6dc00bcb439785 100644
--- a/src/main/webapp/WEB-INF/web.xml
+++ b/src/main/webapp/WEB-INF/web.xml
@@ -62,6 +62,10 @@
 		<extension>manifest</extension>
 		<mime-type>text/cache-manifest</mime-type>
 	</mime-mapping>
+	<mime-mapping>
+		<extension>json</extension>
+		<mime-type>application/json</mime-type>
+	</mime-mapping>
 
 	<error-page>
 		<error-code>401</error-code>
diff --git a/src/site/apt/development.apt b/src/site/apt/development.apt
deleted file mode 100644
index a03c524381d5be473e1b760983413912737ae7d1..0000000000000000000000000000000000000000
--- a/src/site/apt/development.apt
+++ /dev/null
@@ -1,127 +0,0 @@
- -------------------
- ARSnova Development
- -------------------
- -------------------
- ARSnova Developers
- -------------------
- 2013-03-11
-
-Development
-
- This short guide will help you get your development environment up and running. In brief, here is the list of the required tools:
- 
- 	* Apache HTTP Server
- 
-	* Apache Maven
-
-	* Git
-	
-	* Apache CouchDB
-	
-	* ARSnova
-	
-	ARSnova consists of several sub projects. The first one is the project you're currently looking at. All projects except for 'arsnova-war' are optional: you don't need to download them if you do not plan to work with them.
-	
-		* arsnova-war (this project)
-		
-		* arsnova-legacy-js
-		
-		* arsnova-js
-		
-		* arsnova-st2-js
-		
-		* setuptool
-		
-		* connector (manual installation is currently required in order to run 'arsnova-war')
-	
-	* Sonar and Sonar Runner
-	
-		* JavaScript Plugin
-		
-	* Eclipse JEE
- 
-	Install the following plugins from the Eclipse Marketplace:
-	
-		* Maven WTP
-	
-		* EGit
-	
-		* Sonar
-	
-		* Checkstyle
-		
- A note to all Windows users: We did not test this documentation on any Windows machine, so your mileage will certainly vary.
-
-* Apache HTTP Server
-
- The best option is to use your distribution's package manager to install your first piece of software: the Apache HTTP Server. For now, no additional configuration is necessary.
-		
-* Apache Maven
-
- As you might have noticed, ARSnova and its tools require a JDK. So go ahead and install it from your favorite package manager if you haven't already.
- 
- Download Maven and follow the installation instructions: {{http://maven.apache.org/download.cgi}}
- 
-* Git
-
- Install Git via your package manager. Windows users might want to try {{{http://code.google.com/p/msysgit/downloads/list?q=full+installer+official+git}msysgit}}.
- 
-* Apache CouchDB
-
- Again, the best way is to use your package manager to install CouchDB. Additionally, some binaries are available at {{http://couchdb.apache.org}}.
- 
-* ARSnova
-
- Head over to {{https://scm.thm.de/arsnova}}. Here you'll find all ARSnova repositories. You could now either clone them directly onto your machine, or create a personal clone first ('Clone repository' button). The first option will usually suffice, and you may create a personal clone later at any time.
- 
- It's best to first create an ARSnova project folder. Inside this folder clone all of the following repositories:
- 
- 	* arsnova-war
-	
-	* arsnova-legacy-js
-	
-	* arsnova-st2-js
-	
-	* arsnova-js
-	
-	* setuptool
-	
-	* connector
-
- A folder for each project will be created during checkout.	
- 
- Now is a good time to check if you configured your Git client correctly. Type in the commands 'git config --global user.name' and 'git config --global user.email', and verify they return the values you want. By leaving out the '--global' part while being inside a folder with a Git repository, the settings will be specific to this repository.
- 
- The next task is to configure ARSnova according to the {{{installation.html}installation manual}}.
- 
- As we're going to modify the local CouchDB, make sure you also specify the properties 'couchdb.username' and 'couchdb.password'; they are not present in the example properties file. Either put in your CouchDB credentials, or leave them blank if you did follow this guide step by step.
- 
- If your system has Python installed, head into the 'setuptool' project and run 'python tool.py' to automatically set up the CouchDB database and all views. If Python is not available, you will need to execute this project from Eclipse.
- 
- Finally, by running 'mvn install' inside each repository you will compile, test and install the project into your local Maven repository. This step is not required, but it will show if everything is set up correctly.
- 
- Note: If you get build failures because the 'connector' dependency could not be resolved, you have to manually 'mvn install' the 'connector'.
- 
-* Sonar
-
- Use your package manager to install Sonar and Sonar Runner, or follow the instructions at {{http://docs.codehaus.org/display/SONAR/Installing+Sonar}}. Once both are installed start the Sonar server if it is not yet running, then go to {{http://localhost:9000}}, and click 'Log in' (located in the far right corner). Username and password both are 'admin'. Then, click on 'Settings' and select 'System'. In the menu on the left you can then select 'Update Center'. Now, change to 'Available Plugins' and search for JavaScript. Click the name and then click Install. A restart of Sonar is required to finish the installation process.
- 
-* Eclipse
-
- For our IDE we chose Eclipse JEE: {{http://www.eclipse.org/downloads/}}
- 
- Unpack it into a folder of your choice. Run Eclipe, and then open the Eclipse Marketplace; it's located in the Help menu. There, search and install the following plugins (you might have to restart Eclipse several times along the way):
- 
- 	* m2e-wtp
-	
-	* EGit (might already be installed)
-	
-	* Sonar (you might want to deselect the Python and C/C++ analyzers)
-	
-	* Checkstyle
-	
- Next, you're going to import each project into the workspace. Select 'Import...' from the File menu, open the 'Maven' category, and select 'Existing Maven Projects'. Browse into a project you cloned previously, checkmark the project as it appears and click finish. Repeat for every project you want to develop for.
- 
- For Checkstyle support in 'arsnova-war', right click the project, open the properties, and select the Checkstyle category. Switch to the 'Local Check Configurations' tab, and for 'Type' select 'External Configuration File'. Give it a name (eg. 'ARSnova'), then browse into the project's folder, and select 'ARSnova-checkstyle-checker.xml'. When you click on 'OK', you will get an error message. But don't worry, just click on 'Edit properties...' and follow the instructions. An empty property for a cache file will get created, and you need to enter a file name of your choice. Now Close all dialogs. To test drive Checkstyle right clicking on the project and select 'Check Code with Checkstyle' from the 'Checkstyle' menu.
- 
- And that's it! If you have spotted any mistakes please let us know.
\ No newline at end of file
diff --git a/src/site/apt/index.apt b/src/site/apt/index.apt
index 0de3f466fa60e79e2162c6808ee9f3adb955a7ec..3cb05dc4ca849716242dd9978f95514530cc1eb8 100644
--- a/src/site/apt/index.apt
+++ b/src/site/apt/index.apt
@@ -14,7 +14,7 @@ ARSnova
 	
 	* {{{https://scm.thm.de/redmine/documents/16}Präsentation über ARSnova}}
 	
-	* {{{https://ars.thm.de/download/}Desktop-Widget}}
+	* {{{https://arsnova.eu/overlay/}Desktop-Widget}}
 	
 	* {{{http://prezi.com/bkfz1utyaiiw/arsnova/}ARSnova auf Prezi}}
 
diff --git a/src/site/apt/installation.apt b/src/site/apt/installation.apt
deleted file mode 100644
index e30cf7011119154090972cc365713a56e487b5e9..0000000000000000000000000000000000000000
--- a/src/site/apt/installation.apt
+++ /dev/null
@@ -1,111 +0,0 @@
- -----
- Installation Instructions
- -----
- ARSnova Developers
- -----
- -----
-
- 
-Deployment
-
- You will need to do some configuration work upfront.
-
-  * Add a new directory "arsnova" in /etc and create a copy of arsnova.properties.example named arsnova.properties in this directory.
-  
-  * Change settings to match your environment
-
-Server configuration
-
- In order to build up a full featured server installation containing ARSnova2 and CouchDB you have to install at least the following services:
-  
-  * Apache Tomcat 7.0.29 (or newer)
-  
-  * Apache Webserver 2.2 or newer with buildin mod_proxy, mod_proxy_ajp and mod_proxy_http
-  
-  * Apache CouchDB
- 
- Make sure all services are installed. Next step is to configure the Apache Webserver. Find the configuration file or create a new one for use with a virtal host. This depends on your needs. At least you should have a configuration containing these settings:
-
-+--------------------------------------------------------+
-	
-	<Location /couchdb/>
-		ProxyPass http://127.0.0.1:5984/
-		ProxyPassReverse http://127.0.0.1:5984/
-	</Location> 
-	
-	<Location />
-		ProxyPass ajp://127.0.0.1:8009/
-		ProxyPassReverse ajp://127.0.0.1:8009/
-	</Location>
-	
-+--------------------------------------------------------+
-
- This will redirect all requests for "/couchdb/..." to your Apache CouchDB server, running on port 5984.
- All other requests will be send to your Apache Tomcat servelt container, using AJP running on port 8009.
-
- To enable the needed Apache Webserver simply type:
-
-+---------------------------+
- 
-  # a2enmod proxy
-  # a2enmod proxy_ajp
-  # a2enmod proxy_http
- 
-+---------------------------+
-
- The configuration is ready for development usage. You should (re)start all services. ARSnova2 is now listening on HTTP port 80.
-
-Make environment usable for productive usage
-
- If you intend to use ARSnova in productive environment, you will have to change a setting in your Tomcat installation.
- Look for your Tomcat configuration directory and change the file "context.xml" to match this example:
- 
-+---------------------------+
- 
-<Context>
-	<Manager pathname="<...your_tomcat_installation...>/sessions/arsnova.ser"/>
-</Context> 
- 
-+---------------------------+
- 
- This will enable session persistance across restarts as described {{{http://tomcat.apache.org/tomcat-7.0-doc/config/manager.html#Special_Features}here}}.
-
- To protect requests and responses you should use HTTPS and configure your Apache Webserver installation to redirect all traffic according to this
- {{{http://wiki.apache.org/httpd/RedirectSSL}example}}.
-
- Finally you should (re)start all services. ARSnova2 is now listening on HTTP port 80 and 443.
- 
-Securing your websocket connection
-
- To provide SSL websocket encryption, you have to provide the servers ssl key and certificate in a Java keystore. The following steps will guide you threw this process.
- 
- Use your webserver certificate, private key and certificate chain to create a PKCS12 keystore
-
-+---------------------------+
-openssl pkcs12 -export -in <servercert>.crt -inkey <serverkey>.key \
-               -out keystore.p12 -name 1 \
-               -certfile <your_cert_chain_file>
-+---------------------------+
-
- You will be asked for a password for your PKCS12 keystore. This password must be used for importing this keystore into your java keystore.
- The import can be done by using this command:
-
-+---------------------------+
-keytool -importkeystore \
-        -deststorepass <your_java_keystore_password> -destkeypass <your_java_keystore_password> -destkeystore arsnova.jks \
-        -srckeystore keystore.p12 -srcstoretype PKCS12 -srcstorepass <your_pkcs12_keystore_password> \
-        -alias 1
-+---------------------------+
- 
- Be sure to provide the correct certificate and key file names and to use the correct passwords for your keystore.
- 
- The last step is to find your ARSnova configuration file, setup the location of your Java keystore and its password.
- 
-+---------------------------+
- 
-security.ssl=true
-security.keystore=<your keystore location>
-security.storepass=<your keystore password>
- 
-+---------------------------+
- 
\ No newline at end of file
diff --git a/src/site/site.xml b/src/site/site.xml
index c29364d8c13c22a3d033de91e8b5119873d37e80..cd6bc92b515e5b3f9771b9086524777e607b241d 100644
--- a/src/site/site.xml
+++ b/src/site/site.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
 
-<project name="ARSNova" xmlns="http://maven.apache.org/DECORATION/1.0.0"
+<project name="ARSnova" xmlns="http://maven.apache.org/DECORATION/1.0.0"
 	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 	xsi:schemaLocation="http://maven.apache.org/DECORATION/1.0.0 http://maven.apache.org/xsd/decoration-1.0.0.xsd">
 
@@ -50,8 +50,8 @@
 			<item name="The Team" href="team-list.html" />
 		</menu>
 		<menu name="Documentation">
-			<item name="Installation" href="installation.html" />
-			<item name="Development" href="development.html" />
+			<item name="Installation" href="https://github.com/thm-projects/arsnova-war#production-use" />
+			<item name="Development" href="https://github.com/thm-projects/arsnova-war#development" />
 			<item name="Dependencies" href="dependencies.html" />
 			<item name="API Docs" href="apidocs/index.html" />
 		</menu>
diff --git a/src/test/java/de/thm/arsnova/controller/FeedbackControllerTest.java b/src/test/java/de/thm/arsnova/controller/FeedbackControllerTest.java
index 9a9ef5bd836eaa7b38e0ddf22ea5fa47a3befca4..2cf9ff61f7e5e1648aac2f3515ece81861628885 100644
--- a/src/test/java/de/thm/arsnova/controller/FeedbackControllerTest.java
+++ b/src/test/java/de/thm/arsnova/controller/FeedbackControllerTest.java
@@ -20,7 +20,6 @@ import org.springframework.web.servlet.HandlerAdapter;
 import org.springframework.web.servlet.ModelAndView;
 import org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter;
 
-import de.thm.arsnova.FeedbackStorage;
 import de.thm.arsnova.dao.StubDatabaseDao;
 import de.thm.arsnova.exceptions.NoContentException;
 import de.thm.arsnova.exceptions.NotFoundException;
@@ -49,8 +48,6 @@ public class FeedbackControllerTest {
 	@Autowired
 	private StubDatabaseDao databaseDao;
 	
-	private FeedbackStorage feedbackStorage;
-
 	@After
 	public final void cleanup() {
 		databaseDao.cleanupTestData();
@@ -61,7 +58,6 @@ public class FeedbackControllerTest {
 		this.request = new MockHttpServletRequest();
 		this.response = new MockHttpServletResponse();
 		handlerAdapter = applicationContext.getBean(AnnotationMethodHandlerAdapter.class);
-		this.feedbackStorage = new FeedbackStorage(databaseDao); 
 	}
 
 	@Test(expected = NotFoundException.class)
diff --git a/src/test/java/de/thm/arsnova/services/FeedbackServiceTest.java b/src/test/java/de/thm/arsnova/services/FeedbackServiceTest.java
index e96de49ee2e1a51b206a68e319cf8566f49f652f..06409e42b480b04fc1cf9118e84534722672967f 100644
--- a/src/test/java/de/thm/arsnova/services/FeedbackServiceTest.java
+++ b/src/test/java/de/thm/arsnova/services/FeedbackServiceTest.java
@@ -166,9 +166,6 @@ public class FeedbackServiceTest {
 	public static class TestUser extends User {
 		private static final long serialVersionUID = 1L;
 		
-		private String username;
-		private String type;
-
 		public TestUser(String username) {
 			super( new UsernamePasswordAuthenticationToken(username, "secret") );
 		}
diff --git a/src/test/java/de/thm/arsnova/services/SessionServiceTest.java b/src/test/java/de/thm/arsnova/services/SessionServiceTest.java
index 9e84c1e8bb5eecfe6a384b4454928b771581590a..06956f115a28b51d14b39d478183e94d3e23e14d 100644
--- a/src/test/java/de/thm/arsnova/services/SessionServiceTest.java
+++ b/src/test/java/de/thm/arsnova/services/SessionServiceTest.java
@@ -67,7 +67,6 @@ public class SessionServiceTest {
 	
 	@Test
 	public void testShouldGenerateSessionKeyword() {
-		System.out.println(sessionService.generateKeyword());
 		assertTrue(sessionService.generateKeyword().matches("^[0-9]{8}$"));
 	}