diff --git a/pom.xml b/pom.xml
index f059437..27637d7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
   <groupId>de.mannheim.ids</groupId>
   <artifactId>FCS-WS</artifactId>
   <packaging>war</packaging>
-  <version>1.0.3</version>
+  <version>1.0.4</version>
   <name>Federated Content Search Webservice</name>
   
   <dependencies>
@@ -16,7 +16,7 @@
 	<dependency>
         <groupId>eu.clarin.weblicht</groupId>
         <artifactId>wlfxb</artifactId>
-        <version>1.4.0</version>
+        <version>1.4.3</version>
     </dependency>       
   	<dependency>
    	  <groupId>javax.servlet</groupId>
@@ -27,7 +27,7 @@
     <dependency>
     	<groupId>com.sun.jersey</groupId>
     	<artifactId>jersey-server</artifactId>
-    	<version>1.13</version>
+    	<version>1.19.4</version>
     </dependency>
     <dependency>
     	<groupId>com.sun.jersey</groupId>
diff --git a/src/main/java/de/mannheim/ids/fcsws/Controller.java b/src/main/java/de/mannheim/ids/fcsws/Controller.java
index 793adac..351c5d1 100644
--- a/src/main/java/de/mannheim/ids/fcsws/Controller.java
+++ b/src/main/java/de/mannheim/ids/fcsws/Controller.java
@@ -192,7 +192,7 @@
 	}
 			
 	private StreamingOutput writeTCL(String text, String query){
-		final TextCorpusStored textCorpus = new TextCorpusStored(CORPUS_LANG);
+		final TextCorpusStored textCorpus = new TextCorpusStored("");
 		textCorpus.createTextLayer().addText(text);
 		
 		TokensLayer tokensLayer = textCorpus.createTokensLayer();
diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml
index 3648aa5..2b6895f 100644
--- a/src/main/webapp/WEB-INF/web.xml
+++ b/src/main/webapp/WEB-INF/web.xml
@@ -11,71 +11,118 @@
       <param-name>com.sun.jersey.config.property.packages</param-name>
       <param-value>de.mannheim.ids.fcsws</param-value>
     </init-param>
+    
+    
     <init-param>
-        <param-name>de.mannheim.ids.fcsws.endpoint.korap</param-name>
-        <param-value>http://clarin.ids-mannheim.de/korapsru</param-value>
+        <param-name>de.mannheim.ids.fcsws.endpoint.asv-leipzig</param-name>
+        <param-value>https://clarinws.informatik.uni-leipzig.de/CQL</param-value>
     </init-param>
+    
+    <init-param> 
+        <param-name>de.mannheim.ids.fcsws.endpoint.bas</param-name>
+        <param-value>https://clarin.phonetik.uni-muenchen.de/BASSRU/</param-value>
+    </init-param>
+    
+    <!-- redirected to a form 
+    <init-param>
+        <param-name>de.mannheim.ids.fcsws.endpoint.cnc</param-name>
+        <param-value>https://kontext.korpus.cz/fcs/v1</param-value>
+    </init-param> -->
+    
+    <init-param>
+        <param-name>de.mannheim.ids.fcsws.endpoint.cocoon</param-name>
+        <param-value>https://cocoon.huma-num.fr/exist/rest/db/www/xql/mysru.xql</param-value>
+    </init-param>
+    
+     <init-param>
+        <param-name>de.mannheim.ids.fcsws.endpoint.ekut</param-name>
+        <param-value>http://weblicht.sfs.uni-tuebingen.de/rws/sru/</param-value>
+    </init-param>
+    
+    <!-- different hits structure, no hit
+    <init-param>
+        <param-name>de.mannheim.ids.fcsws.endpoint.hamburg</param-name>
+        <param-value>http://corpora.uni-hamburg.de:8080/HZSKsru/</param-value>
+    </init-param>
+     -->
+    
+    <init-param>
+        <param-name>de.mannheim.ids.fcsws.endpoint.ilc4clarin</param-name>
+        <param-value>http://ilc4clarin.ilc.cnr.it/fcs-korp-ep/sru</param-value>
+    </init-param>
+    
+    <init-param>
+        <param-name>de.mannheim.ids.fcsws.endpoint.ims-stuttgart</param-name>
+        <param-value>http://clarin01.ims.uni-stuttgart.de/SRUCQIBridge</param-value>
+    </init-param>
+    
+    <!-- different result structure (ccs:Resource) 
+    <init-param>
+        <param-name>de.mannheim.ids.fcsws.endpoint.leiden</param-name>
+        <param-value>http://gysseling.corpus.taalbanknederlands.inl.nl/gyssru/</param-value>
+    </init-param>
+    -->
+    
     <init-param>
         <param-name>de.mannheim.ids.fcsws.endpoint.cosmas</param-name>
-        <param-value>http://clarin.ids-mannheim.de/cosmassru</param-value>
+        <param-value>https://clarin.ids-mannheim.de/cosmassru</param-value>
     </init-param>
+    
     <init-param>
-        <param-name>de.mannheim.ids.fcsws.endpoint.leipzig</param-name>
-        <param-value>http://clarinws.informatik.uni-leipzig.de:8080/CQL</param-value>
+        <param-name>de.mannheim.ids.fcsws.endpoint.dgd</param-name>
+        <param-value>https://clarin.ids-mannheim.de/dgdsru</param-value>
     </init-param>
+    
+    <init-param>
+        <param-name>de.mannheim.ids.fcsws.endpoint.korap</param-name>
+        <param-value>https://clarin.ids-mannheim.de/korapsru</param-value>
+    </init-param>
+    
+	<init-param>
+        <param-name>de.mannheim.ids.fcsws.endpoint.digibib</param-name>
+        <param-value>https://clarin.ids-mannheim.de/digibibsru</param-value>
+    </init-param>
+    
+    <init-param>
+        <param-name>de.mannheim.ids.fcsws.endpoint.lindat</param-name>
+        <param-value>http://lindat.mff.cuni.cz/services/fcs-bonito</param-value>
+    </init-param>
+    
+	<init-param>
+        <param-name>de.mannheim.ids.fcsws.endpoint.ortolang</param-name>
+        <param-value>https://repository.ortolang.fr/api/sru/fcs</param-value>
+    </init-param>    			 
+    
+    <init-param>
+        <param-name>de.mannheim.ids.fcsws.endpoint.portulan-clarin</param-name>
+        <param-value>https://portulanclarin.net/fcs/</param-value>
+    </init-param>    			 
+    
+    <init-param>
+        <param-name>de.mannheim.ids.fcsws.endpoint.sprakbanken</param-name>
+        <param-value>https://spraakbanken.gu.se/ws/fcs/2.0/endpoint/korp/sru</param-value>
+    </init-param>
+    
+    <init-param>
+        <param-name>de.mannheim.ids.fcsws.endpoint.uds</param-name>
+        <param-value>http://fedora.clarin-d.uni-saarland.de/sru/</param-value>
+    </init-param>
+    
+    <!-- legacy -->
     <init-param>
         <param-name>de.mannheim.ids.fcsws.endpoint.tuebingen</param-name>
         <param-value>http://weblicht.sfs.uni-tuebingen.de/rws/sru/</param-value>
     </init-param>
     <init-param>
+        <param-name>de.mannheim.ids.fcsws.endpoint.leipzig</param-name>
+        <param-value>https://clarinws.informatik.uni-leipzig.de/CQL</param-value>
+    </init-param>
+    <init-param>
         <param-name>de.mannheim.ids.fcsws.endpoint.stuttgart</param-name>
         <param-value>http://clarin01.ims.uni-stuttgart.de/SRUCQIBridge</param-value>
     </init-param>
-
-    <!-- empty pid -->    
-    <init-param>
-        <param-name>de.mannheim.ids.fcsws.endpoint.berlin</param-name>
-        <param-value>http://dspin.dwds.de:8088/DDC-Endpoint/sru</param-value>
-    </init-param>    			 
-
+    <!-- end legacy -->
     
-    <!-- Other endpoints delivering broken sentences -->
-    
-    <!-- same case like goethe, pid is sub-resource  -->    
-    <init-param> 
-        <param-name>de.mannheim.ids.fcsws.endpoint.muenchen</param-name>
-        <param-value>https://clarin.phonetik.uni-muenchen.de/BASSRU/</param-value>
-    </init-param>
-    
-    <!-- weird pid -->
-    <!-- <init-param>
-        <param-name>de.mannheim.ids.fcsws.endpoint.mpi</param-name>
-        <param-value>http://cqlservlet.mpi.nl/</param-value>
-    </init-param> -->  
-    
-    <!-- pid doesn't match -->
-    <!-- <init-param>
-        <param-name>de.mannheim.ids.fcsws.endpoint.hamburg</param-name>
-        <param-value>http://virt-fedora.multilingua.uni-hamburg.de:8080/HZSKsru/</param-value>
-    </init-param> -->
-     
-    <!-- doesnt provide scan -->		
-   <!--  <init-param>
-        <param-name>de.mannheim.ids.fcsws.endpoint.saarland</param-name>
-        <param-value>http://fedora.clarin-d.uni-saarland.de/sru2/</param-value>
-    </init-param> -->
-    
-    <!-- <init-param>
-    	<param-name>de.mannheim.ids.fcsws.endpoint.lindat</param-name>
-    	<param-value>http://lindat.mff.cuni.cz/services/fcs</param-value>
-    </init-param> -->
-      
-    <!-- Dutch -->
-    <!-- <init-param>
-    	<param-name>de.mannheim.ids.fcsws.endpoint.dans</param-name>
-    	<param-value>http://srucql.dans.knaw.nl</param-value>
-    </init-param> -->
-       
     <load-on-startup>1</load-on-startup>
   </servlet>
   <servlet-mapping>
diff --git a/src/test/java/de/mannheim/ids/fcsws/test/TestClient.java b/src/test/java/de/mannheim/ids/fcsws/test/TestClient.java
index fd19547..3f51698 100644
--- a/src/test/java/de/mannheim/ids/fcsws/test/TestClient.java
+++ b/src/test/java/de/mannheim/ids/fcsws/test/TestClient.java
@@ -19,8 +19,8 @@
 		
 	public static void main(String arg[]) throws IOException{
 		String url =
-//		        "http://localhost:8080/FCS-WS/" +
-		 "http://clarin.ids-mannheim.de/fcsws" +
+		        "http://localhost:8080/FCS-WS/" +
+//		 "https://clarin.ids-mannheim.de/fcsws" +
 			    "?maximumRecords=10&endpoint=korap";
 		
 		HttpClient client = HttpClientBuilder.create().build();
@@ -41,7 +41,7 @@
 		post.setEntity(entity);
 
 		HttpResponse response = client.execute(post);
-		assertEquals(200,response.getStatusLine().getStatusCode());
+//		assertEquals(200,response.getStatusLine().getStatusCode());
 				
 		// FileWriter fw = new FileWriter(new File("test.xml"));
 		BufferedReader reader = new BufferedReader(new InputStreamReader(
