diff --git a/README.md b/README.md
new file mode 100644
index 0000000..88811e8
--- /dev/null
+++ b/README.md
@@ -0,0 +1,144 @@
+# Kustvakt
+
+Kustvakt is a user and policy management component for KorAP. It manages user access to resources (i.e. corpus data) that is typically bound with some licensing schemes. The licensing schemes of the IDS resources provided through KorAP (DeReKo) are very complex involving the access location and purposes (Kupietz & Lüngen, 2014). To manage user access to resources, Kustvakt performs query rewriting with document restrictions.
+
+Kustvakt acts as a middleware in KorAP binding other components, such as Koral a query serializer and Krill a search component, together. As KorAP's API provider, it provides services, e.g. searching and retrieving annotation data of a match/hit, that can be used by a client, e.g. Kalamar (a KorAP web user interface) and KorapSRU (the CLARIN FCS endpoint for KorAP).
+
+# Versions
+* <b>Kustvakt lite version</b>
+  
+  provides basic search and match info services without user and policy management.
+
+* <b>Kustvakt full version</b>
+  
+  provides user and policy management and extended services (e.g. resource and annotation services) in addition to the basic services.
+  
+
+# Prerequisites
+Jdk 1.7, Git, Maven 3.
+
+# Setup
+
+Clone the latest version of Kustvakt
+<pre>
+git clone git@github.com:KorAP/Kustvakt.git
+</pre>
+
+Since Kustvakt requires Krill and Koral, please install [Krill](https://github.com/KorAP/Krill) and [Koral](https://github.com/KorAP/Koral) in your maven local repository.
+Adjust the versions of Krill and Koral in Kustvakt/core/pom.xml according to the versions in Koral/pom.xml and Krill/pom.xml.
+
+Install Kustvakt-core in your maven local repository
+<pre>
+cd Kustvakt/core
+mvn clean install
+</pre>
+
+Packaging Kustvakt full version
+<pre>
+cd ../full
+mvn clean package
+</pre>
+The jar file is located in the target/ folder.
+
+Packaging Kustvakt lite version
+<pre>
+cd ../lite
+mvn clean package
+</pre>
+The jar file is located in the target/ folder.
+
+If there are errors regarding tests, please skip the tests.
+<pre>
+mvn clean package -DskipTests=true
+</pre>
+
+# Setting kustvakt configuration file
+
+Copy the default Kustvakt configuration file (e.g. core/src/main/resources/kustvakt.conf or lite/src/main/resources/kustvakt-lite.conf), to the same  folder as the Kustvakt jar files  (/target). Please do not change the name of the configuration file.
+
+Set krill.indexDir in the configuration file to the location of your Krill index (relative path). In Kustvakt root directory, there is a sample index, e.g.
+<pre>krill.indexDir = ../../sample-index</pre>
+
+<b>Optional custom configuration</b>
+
+Changing Kustvakt server port and host
+<pre>
+Server.port = 8089
+Server.host = localhost
+</pre>
+
+Changing Kustvakt service base URI
+<pre>
+kustvakt.base.url=/kustvakt/*
+</pre>
+By default, Kustvakt service base URI refers to /api/*
+
+
+# Running Kustvakt Server
+Requires ```kustvakt.conf``` in the same folder as the jar file. Otherwise assuming sample-index located in the parent directory of the jar file.
+
+<pre>
+cd target/
+java -jar target/Kustvakt-[lite/full]-[version].jar    
+</pre>
+
+
+# Futher Setup for Developer
+
+For working with an IDE, you need to install lombok for your tool. Go to the directory of your lombok.jar, e.g \.m2\repository\org\projectlombok\lombok\1.16.6 and run
+<pre>
+java -jar lombok-1.16.6.jar
+</pre>
+
+Restart your IDE and clean your project.
+
+In an IDE, you can run KustvaktLiteServer or KustvaktServer as a normal Java application.
+
+# Known issues
+Tests are verbose - this is no indication for an error.
+
+# Usage
+Kustvakt service base URI runs by default at
+<pre>
+http://[hostname:port]/api
+</pre>
+
+# Examples
+
+Search
+<pre>
+http://localhost:8089/api/search?q=Buchstabe&ql=poliqarp
+</pre>
+
+Retrieve match annotation information
+<pre>
+http://localhost:8089/api/corpus/GOE/AGA.00000/p865-866/matchInfo?foundry=*&spans=false
+</pre>
+
+## Examples of services in full version only
+
+Retrieve descriptions of all supported annotation layers.
+<pre>
+http://localhost:8089/api/annotation/layers
+</pre>
+
+Retrieve annotation descriptions of a list of foundries (POST request).
+
+<pre>
+curl -H "Content-Type: application/json" "http://localhost:8089/kustvakt/annotation/description" --data '{"codes":["opennlp/*"], "language":"en" }'
+</pre>
+
+Retrieve descriptions of free resources.
+<pre>
+http://localhost:8089/api/resource/info
+</pre>
+
+# Publication
+
+Bański, Piotr/Diewald, Nils/Hanl, Michael/Kupietz, Marc/Witt, Andreas (2014):
+    Access Control by Query Rewriting. The Case of KorAP. In: Proceedings of the Ninth Conference on International Language Resources and Evaluation (LREC’14). European Language Resources Association (ELRA), 2014. S. 3817-3822.
+
+
+# References
+
+Kupietz, Marc/Lüngen, Harald (2014): Recent Developments in DeReKo. In: Calzolari, Nicoletta et al. (eds.): Proceedings of the Ninth International Conference on Language Resources and Evaluation (LREC'14). Reykjavik: ELRA, 2378-2385.
\ No newline at end of file
diff --git a/lite/src/main/resources/kustvakt-lite.conf b/lite/src/main/resources/kustvakt-lite.conf
index ab053d6..79e2211 100644
--- a/lite/src/main/resources/kustvakt-lite.conf
+++ b/lite/src/main/resources/kustvakt-lite.conf
@@ -6,7 +6,7 @@
 krill.index.commit.auto = 500
 krill.index.relations.max = 100
 
-kustvakt.base.url=/api/v0.1/*
+kustvakt.base.url=/api/*
 kustvakt.default.pos = tt
 kustvakt.default.lemma = tt
 kustvakt.default.token = opennlp
diff --git a/policy.conf b/policy.conf
deleted file mode 100644
index a97ab98..0000000
--- a/policy.conf
+++ /dev/null
@@ -1,54 +0,0 @@
-# type	id	name	description	condition	permissions
-
-#virtualcollection	WPD15-VC	Wikipedia Virtual Collection	German Wikipedia 2015	public	read
-#corpus	WPD15	Wikipedia	German Wikipedia 2015	public	read
-#corpus	GOE	Goethe	Goethe corpus	public	read
-foundry	base	base	Base foundry	public	read
-foundry	dereko	dereko	DeReKo foundry	public	read
-foundry	corenlp	corenlp	CoreNLP parser	public	read
-foundry	opennlp	opennlp	OpenNLP parser	public	read
-foundry	malt	malt	MALT parser	public	read
-foundry	mdp	mdp	MD parser	public	read
-foundry	tt	tt	Tree Tagger parser	public	read
-foundry	sgbr	sgbr	Schreibgebrauch	ids	read
-foundry	cnx	cnx	Connexor parser	ids	read
-foundry	drukola	drukola	DruKoLa parser	drukola	read
-foundry	glemm	glemm	Glemm	public	read
-foundry	marmot	marmot	MarMoT parser	public	read
-foundry	mate	mate	Mate parser	public	read
-foundry	xip	xip	Xerox Incremental Parser	ids	read
-layer	cnx/c	cnx/c	Connexor constituency layer	ids	read
-layer	cnx/syn	cnx/syn	Connexor syntax	ids	read
-layer	cnx/p	cnx/p	Connexor part of speech	ids	read
-layer	cnx/l	cnx/l	Connexor lemma	ids	read
-layer	cnx/m	cnx/m	Connexor morphology	ids	read
-layer	corenlp/c	corenlp/c	CoreNLP constituency	public	read
-layer	corenlp/p	corenlp/p	CoreNLP part of speech	public	read
-layer	corenlp/s	corenlp/s	CoreNLP structure	public	read
-layer	corenlp/ne	corenlp/ne	CoreNLP named entities	public	read
-layer	dereko/s	dereko/s	DeReKo structure	public	read
-layer	drukola/l	drukola/l	Drukola lemma	drukola	read
-layer	drukola/p	drukola/p	Drukola part of speech	drukola	read
-layer	drukola/m	drukola/m	Drukola morphology	drukola	read
-layer	glemm/l	glemm/l	GLEMM lemma	public	read
-layer	malt/d	malt/d	MALT dependency	public	read
-layer	marmot/p	marmot/p	Marmot part of speech	public	read
-layer	marmot/m	marmot/m	Marmot morphology	public	read
-layer	mate/d	mate/d	MATE dependency	public	read
-layer	mate/l	mate/l	MATE lemma	public	read
-layer	mate/p	mate/p	MATE part of speech	public	read
-layer	mate/m	mate/m	MATE morphology	public	read
-layer	mdp/d	mdp/d	MDP dependency	public	read
-layer	opennlp/p	opennlp/p	OpenNLP part of speech	public	read
-layer	opennlp/s	opennlp/s	OpenNLP part of speech	public	read
-layer	sgbr/p	sgbr/p	Schreibgebrauchp part of peech	ids	read
-layer	sgbr/l	sgbr/l	Schreibgebrauch lemma	ids	read
-layer	sgbr/lv	sgbr/lv	Schreibgebrauch lemmav ariant	ids	read
-layer	tt/p	tt/p	Tree Tagger part of speech	public	read
-layer	tt/l	tt/l	Tree Tagger lemma	public	read
-layer	tt/s	tt/s	Tree Tagger structure	public	read
-layer	xip/c	xip/c	XIP constituency	ids	read
-layer	xip/d	xip/d	XIP dependency	ids	read
-layer	xip/l	xip/l	XIP lemma	ids	read
-layer	xip/p	xip/p	XIP part of speech	ids	read
-layer	xip/s	xip/s	XIP structure	ids	read
diff --git a/pom.xml b/pom.xml
deleted file mode 100644
index 4628b48..0000000
--- a/pom.xml
+++ /dev/null
@@ -1,566 +0,0 @@
-<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.ids_mannheim.korap</groupId>
-    <artifactId>Kustvakt-core</artifactId>
-    <version>0.59.7</version>
-    <packaging>jar</packaging>
-    <name>Kustvakt core</name>
-    <description>Kustvakt core, basic rest api for testing purposes and default
-        interfaces
-    </description>
-    <properties>
-        <maven.compiler.source>1.7</maven.compiler.source>
-        <maven.compiler.target>1.7</maven.compiler.target>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        <spring-framework.version>4.3.7.RELEASE</spring-framework.version>
-        <jersey.version>1.19.4</jersey.version>
-    </properties>
-    <!-- <profiles>
-        mvn -Plight builds additionally the light server version with reduced functionality!
-        <profile>
-            <id>light</id>
-            <build>
-                <plugins>
-                    <plugin>
-                        <artifactId>maven-shade-plugin</artifactId>
-                        <version>2.1</version>
-                        <executions>
-                            option 1
-                            <execution>
-                                <id>light</id>
-                                <phase>package</phase>
-                                <goals>
-                                    <goal>shade</goal>
-                                </goals>
-                                <configuration>
-                                    <finalName>
-                                        Kustvakt-core-${project.version}-light
-                                    </finalName>
-                                    <transformers>
-                                        <transformer
-                                                implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
-                                            <mainClass>
-                                                de.ids_mannheim.korap.web.KustvaktBaseServer
-                                            </mainClass>
-                                        </transformer>
-                                        <transformer
-                                                implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
-                                            <resource>META-INF/spring.handlers
-                                            </resource>
-                                        </transformer>
-                                        <transformer
-                                                implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
-                                            <resource>META-INF/spring.schemas
-                                            </resource>
-                                        </transformer>
-                                    </transformers>
-                                    Additional configuration.
-                                    apparently there is a securityexception
-                                    <filters>
-                                        <filter>
-                                            <artifact>*:*</artifact>
-                                            <excludes>
-                                                <exclude>META-INF/*.SF</exclude>
-                                                <exclude>META-INF/*.DSA
-                                                </exclude>
-                                                <exclude>META-INF/*.RSA
-                                                </exclude>
-                                            </excludes>
-                                        </filter>
-                                    </filters>
-                                </configuration>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-    </profiles>
-     -->
-     <build>
-        <resources>
-            <resource>
-                <directory>src/main/resources</directory>
-                <filtering>true</filtering>
-                <includes>
-                    <include>**/*.info</include>
-                    <include>**/*.xml</include>
-                    <include>**/*.conf</include>
-                    <include>**/*.kustvakt</include>
-                    <include>**/*.properties</include>
-                    <include>**/*.sql</include>
-                </includes>
-            </resource>
-        </resources>
-        <testResources>
-            <testResource>
-                <directory>src/test/resources</directory>
-                <filtering>true</filtering>
-                <includes>
-                    <include>**/*.prop</include>
-                    <include>**/*.xml</include>
-                    <include>**/*.conf</include>
-                    <include>**/*.info</include>
-                    <include>**/*.properties</include>
-                </includes>
-            </testResource>
-            <testResource>
-                <directory>src/main/resources</directory>
-                <filtering>true</filtering>
-                <includes>
-                    <include>**/*.info</include>
-                    <include>**/*.properties</include>
-                </includes>
-            </testResource>
-        </testResources>
-        <plugins>
-            <!--
-	  Formatter plugin for Eclipse based coding conventions
-	  http://maven-java-formatter-plugin.googlecode.com/svn/site/0.4/usage.html
-      -->
-            <plugin>
-                <groupId>com.googlecode.maven-java-formatter-plugin</groupId>
-                <artifactId>maven-java-formatter-plugin</artifactId>
-                <version>0.4</version>
-                <configuration>
-                    <configFile>${project.basedir}/Format.xml</configFile>
-                    <overrideConfigCompilerVersion>true</overrideConfigCompilerVersion>
-                    <compilerSource>1.7</compilerSource>
-                    <compilerCompliance>1.7</compilerCompliance>
-                    <compilerTargetPlatform>1.7</compilerTargetPlatform>
-                </configuration>
-                <!--
-                <executions>
-                    <execution>
-                        <goals>
-                            <goal>format</goal>
-                        </goals>
-                    </execution>
-                </executions>
-                -->
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <version>3.3</version>
-                <configuration>
-                    <compilerVersion>1.7</compilerVersion>
-                    <source>1.7</source>
-                    <target>1.7</target>
-                </configuration>
-            </plugin>
-
-            <!-- build tests jar, so extensions can use fastjerseytest class to build rest tests -->
-            <!-- >plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-jar-plugin</artifactId>
-                <version>2.1</version>
-                <executions>
-                    <execution>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>test-jar</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin -->
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-surefire-plugin</artifactId>
-                <version>2.19.1</version>
-                <configuration>
-                    <reuseForks>false</reuseForks>
-                    <forkCount>2</forkCount>
-                    <threadCount>10</threadCount>
-
-                    <excludes>
-                        <exclude>**/*APITest.java</exclude>
-                        <exclude>de/ids_mannheim/korap/suites/*.java</exclude>
-                		<exclude>**/KustvaktServerTest.java</exclude>
-                		<exclude>**/ResourceServiceTest.java</exclude>
-                		<exclude>**/ResourceInfoServiceTest.java</exclude>
-                		<exclude>**/PolicyServiceTest.java</exclude>
-                    </excludes>
-                    <includes>
-                        <include>de/ids_mannheim/korap/**/*.java</include>
-                    </includes>
-                </configuration>
-            </plugin>
-            <plugin>
-                <artifactId>maven-shade-plugin</artifactId>
-                <version>2.1</version>
-                <executions>
-                    <!-- option 1 -->
-                    <execution>
-                        <id>full</id>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>shade</goal>
-                        </goals>
-                        <configuration>
-                            <transformers>
-                                <transformer
-                                        implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
-                                    <mainClass>
-                                        de.ids_mannheim.korap.web.KustvaktServer
-                                    </mainClass>
-                                </transformer>
-                                <transformer
-                                        implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
-                                    <resource>META-INF/spring.handlers
-                                    </resource>
-                                </transformer>
-                                <transformer
-                                        implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
-                                    <resource>META-INF/spring.schemas
-                                    </resource>
-                                </transformer>
-                            </transformers>
-                            <!-- Additional configuration. -->
-                            <!-- apparently there is a securityException -->
-                            <filters>
-                                <filter>
-                                    <artifact>*:*</artifact>
-                                    <excludes>
-                                        <exclude>META-INF/*.SF</exclude>
-                                        <exclude>META-INF/*.DSA
-                                        </exclude>
-                                        <exclude>META-INF/*.RSA
-                                        </exclude>
-                                    </excludes>
-                                </filter>
-                            </filters>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-    <dependencies>
-        <dependency>
-            <groupId>com.sun.jersey</groupId>
-            <artifactId>jersey-bundle</artifactId>
-            <version>${jersey.version}</version>
-        </dependency>
-        <!--EM: added  -->
-        <dependency>
-            <groupId>com.sun.jersey</groupId>
-            <artifactId>jersey-server</artifactId>
-            <version>${jersey.version}</version>
-        </dependency>
-        
-        <dependency>
-		    <groupId>com.sun.jersey.contribs</groupId>
-		    <artifactId>jersey-spring</artifactId>
-		    <version>${jersey.version}</version>
-		    <exclusions>
-				<exclusion>
-					<groupId>org.springframework</groupId>
-					<artifactId>spring</artifactId>
-				</exclusion>
-				<exclusion>
-					<groupId>org.springframework</groupId>
-					<artifactId>spring-core</artifactId>
-				</exclusion>
-				<exclusion>
-					<groupId>org.springframework</groupId>
-					<artifactId>spring-web</artifactId>
-				</exclusion>
-				<exclusion>
-					<groupId>org.springframework</groupId>
-					<artifactId>spring-beans</artifactId>
-				</exclusion>
-				<exclusion>
-					<groupId>org.springframework</groupId>
-					<artifactId>spring-context</artifactId>
-				</exclusion>
-				<exclusion>
-					<groupId>org.springframework</groupId>
-					<artifactId>spring-aop</artifactId>
-				</exclusion>
-		</exclusions>
-		</dependency>
-        <!-- EM:done -->
-        <dependency>
-            <groupId>com.sun.jersey.jersey-test-framework</groupId>
-            <artifactId>jersey-test-framework-core</artifactId>
-            <version>${jersey.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>com.sun.jersey.jersey-test-framework</groupId>
-            <artifactId>jersey-test-framework-grizzly</artifactId>
-            <version>${jersey.version}</version>
-            <scope>test</scope>
-        </dependency>
-       <!--  <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-api</artifactId>
-            <version>1.7.5</version>
-        </dependency> -->
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-log4j12</artifactId>
-            <version>1.7.5</version>
-        </dependency>
-        <!-- <dependency>
-            <groupId>log4j</groupId>
-            <artifactId>log4j</artifactId>
-            <version>1.2.17</version>
-        </dependency>
-        <dependency>
-            <groupId>log4j</groupId>
-            <artifactId>apache-log4j-extras</artifactId>
-            <version>1.2.17</version>
-        </dependency> -->
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <version>4.12</version>
-        </dependency>
-        <dependency>
-            <groupId>org.projectlombok</groupId>
-            <artifactId>lombok</artifactId>
-            <version>1.16.6</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>joda-time</groupId>
-            <artifactId>joda-time</artifactId>
-            <version>2.2</version>
-        </dependency>
-        <dependency>
-            <groupId>de.ids_mannheim.korap</groupId>
-            <artifactId>Koral</artifactId>
-            <version>0.27</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.eclipse.jetty</groupId>
-                    <artifactId>jetty-servlet</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-
-        <dependency>
-            <groupId>org.xerial</groupId>
-            <artifactId>sqlite-jdbc</artifactId>
-            <version>3.8.10.1</version>
-        </dependency>
-
-        <dependency>
-            <groupId>mysql</groupId>
-            <artifactId>mysql-connector-java</artifactId>
-            <version>5.1.6</version>
-        </dependency>
-        
-        <dependency>
-            <groupId>org.apache.commons</groupId>
-            <artifactId>commons-dbcp2</artifactId>
-            <version>2.1.1</version>
-        </dependency>
-        
-        <dependency>
-            <groupId>commons-validator</groupId>
-            <artifactId>commons-validator</artifactId>
-            <version>1.4.0</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.mindrot</groupId>
-            <artifactId>jbcrypt</artifactId>
-            <version>0.3m</version>
-        </dependency>
-
-        <dependency>
-            <groupId>com.nimbusds</groupId>
-            <artifactId>nimbus-jose-jwt</artifactId>
-            <version>2.10.1</version>
-        </dependency>
-
-        <dependency>
-            <groupId>de.ids_mannheim.korap</groupId>
-            <artifactId>Krill</artifactId>
-            <version>0.55.9</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.xerial</groupId>
-                    <artifactId>sqlite-jdbc</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.reflections</groupId>
-            <artifactId>reflections</artifactId>
-            <version>0.9.9-RC1</version>
-        </dependency>
-        <!-- EM: added  -->
-        <dependency>
-		    <groupId>org.hibernate</groupId>
-		    <artifactId>hibernate-entitymanager</artifactId>
-		    <version>5.1.8.Final</version>
-		</dependency>
-		<dependency>
-	        <groupId>org.hibernate</groupId>
-	        <artifactId>hibernate-ehcache</artifactId>
-	        <version>5.1.8.Final</version>
-	    </dependency>
-        
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-core</artifactId>
-            <version>${spring-framework.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-web</artifactId>
-            <version>${spring-framework.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-asm</artifactId>
-            <version>3.1.4.RELEASE</version>
-        </dependency>
-         <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-orm</artifactId>
-            <version>${spring-framework.version}</version>
-        </dependency>
-        <!-- EM: done  -->
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-context</artifactId>
-            <version>${spring-framework.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-context-support</artifactId>
-            <version>${spring-framework.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-test</artifactId>
-            <version>${spring-framework.version}</version>
-            <scope>compile</scope>
-        </dependency>
-
-        <!-- apparently this order prevents the spring schemas from being overriden in META-INF/spring.schemas, thus must stay like this
-        -->
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-aop</artifactId>
-            <version>${spring-framework.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-aspects</artifactId>
-            <version>${spring-framework.version}</version>
-        </dependency>
-
-        <!-- copied from extension -->
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-jdbc</artifactId>
-            <version>${spring-framework.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-tx</artifactId>
-            <version>${spring-framework.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.flywaydb</groupId>
-            <artifactId>flyway-core</artifactId>
-            <version>4.0</version>
-        </dependency>
-
-        <!-- <dependency>
-            <groupId>net.sf.ehcache</groupId>
-            <artifactId>ehcache-core</artifactId>
-            <version>2.6.5</version>
-        </dependency> -->
-
-        <dependency>
-            <groupId>org.apache.oltu.oauth2</groupId>
-            <artifactId>org.apache.oltu.oauth2.authzserver</artifactId>
-            <version>1.0.0</version>
-        </dependency>
-
-        <!-- end copy -->
-
-        <dependency>
-            <groupId>commons-collections</groupId>
-            <artifactId>commons-collections</artifactId>
-            <version>3.2.1</version>
-        </dependency>
-        <dependency>
-            <groupId>org.eclipse.jetty</groupId>
-            <artifactId>jetty-server</artifactId>
-            <version>8.1.8.v20121106</version>
-        </dependency>
-        <dependency>
-            <groupId>org.eclipse.jetty</groupId>
-            <artifactId>jetty-servlet</artifactId>
-            <version>8.1.8.v20121106</version>
-        </dependency>
-        <dependency>
-            <groupId>asm</groupId>
-            <artifactId>asm</artifactId>
-            <version>3.3.1</version>
-        </dependency>
-        <dependency>
-          <groupId>com.novell.ldap</groupId>
-          <artifactId>jldap</artifactId>
-          <version>4.3</version>
-        </dependency>
-	   <!-- https://mvnrepository.com/artifact/com.unboundid/unboundid-ldapsdk -->
-	   <dependency>
-	      <groupId>com.unboundid</groupId>
-	      <artifactId>unboundid-ldapsdk</artifactId>
-	      <version>3.2.1</version>
-	   </dependency>
-
-        <!--
-        not part of public release
-        <dependency>
-            <groupId>KorAP-graphDB</groupId>
-            <artifactId>KorAP-graphDB</artifactId>
-            <version>1.0-SNAPSHOT</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.antlr</groupId>
-                    <artifactId>antlr4-runtime</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.glassfish.jersey.core</groupId>
-                    <artifactId>jersey-client</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.glassfish.jersey.containers</groupId>
-                    <artifactId>jersey-container-grizzly2-http</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.glassfish.jersey.core</groupId>
-                    <artifactId>jersey-common</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.glassfish.jersey.core</groupId>
-                    <artifactId>jersey-server</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        -->
-        <dependency>
-        	<groupId>org.apache.httpcomponents</groupId>
-        	<artifactId>httpclient</artifactId>
-        	<version>4.3.3</version>
-        </dependency>
-        <dependency>
-        	<groupId>commons-io</groupId>
-        	<artifactId>commons-io</artifactId>
-        	<version>2.4</version>
-        </dependency>
-    </dependencies>
-
-</project>
