diff --git a/full/Changes b/full/Changes
index 73efd25..a052996 100644
--- a/full/Changes
+++ b/full/Changes
@@ -1,5 +1,5 @@
 version 0.60 release
-01/03/2018
+08/03/2018
 	- set up mail settings using localhost port 25 (margaretha)
 	- added mail template in kustvakt configuration (margaretha)
 	- added mail settings to readme (margaretha)
@@ -8,6 +8,7 @@
 	- enabled custom implementation for email address retrieval (margaretha)
 	- removed old policy and deprecated code (margaretha)
 	- moved authentication related code to /full (margaretha)
+	- removed spring config option in KustvaktServer (margaretha)
 
 version 0.59.10	
 20/02/2018 
diff --git a/full/pom.xml b/full/pom.xml
index 20a8572..62ded64 100644
--- a/full/pom.xml
+++ b/full/pom.xml
@@ -248,18 +248,6 @@
 			<version>${spring-security.version}</version>
 		</dependency>
 
-		<!-- jetty -->
-		<!-- <dependency>
-			<groupId>org.eclipse.jetty</groupId>
-			<artifactId>jetty-jndi</artifactId>
-			<version>${jetty.version}</version>
-		</dependency>
-		<dependency>
-			<groupId>org.eclipse.jetty</groupId>
-			<artifactId>jetty-plus</artifactId>
-			<version>${jetty.version}</version>
-		</dependency> -->
-
 		<!-- velocity -->
 		<dependency>
 			<groupId>org.apache.velocity</groupId>
@@ -295,6 +283,7 @@
 			<artifactId>flyway-core</artifactId>
 			<version>4.0</version>
 		</dependency>
+		
 	</dependencies>
 
 </project>
\ No newline at end of file
diff --git a/full/src/main/java/de/ids_mannheim/korap/server/KustvaktServer.java b/full/src/main/java/de/ids_mannheim/korap/server/KustvaktServer.java
index 024296f..caf37e5 100644
--- a/full/src/main/java/de/ids_mannheim/korap/server/KustvaktServer.java
+++ b/full/src/main/java/de/ids_mannheim/korap/server/KustvaktServer.java
@@ -42,12 +42,8 @@
 		if (kargs == null)
 			System.exit(0);
 
-        if (kargs.getConfig() == null){
-//            BeansFactory.loadFileContext(kargs.getConfig());
-//      }
-//      else {
-            kargs.setConfig("default-config.xml");
-//          BeansFactory.loadClasspathContext("default-config.xml");
+        if (kargs.getSpringConfig() == null){
+            kargs.setSpringConfig("default-config.xml");
         }
         kargs.setRootPackages(new String[] { "de.ids_mannheim.korap.web.utils",
                 "de.ids_mannheim.korap.web.service.full" });
diff --git a/full/src/main/java/de/ids_mannheim/korap/web/controller/UserGroupController.java b/full/src/main/java/de/ids_mannheim/korap/web/controller/UserGroupController.java
index 72a875b..f205609 100644
--- a/full/src/main/java/de/ids_mannheim/korap/web/controller/UserGroupController.java
+++ b/full/src/main/java/de/ids_mannheim/korap/web/controller/UserGroupController.java
@@ -15,8 +15,6 @@
 import javax.ws.rs.core.Response;
 import javax.ws.rs.core.SecurityContext;
 
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 
@@ -56,7 +54,7 @@
     @Autowired
     private UserGroupService service;
 
-    /** Returns all user-groups wherein a user is an active or pending member.
+    /** Returns all user-groups in which a user is an active or a pending member.
      * 
      * @param securityContext
      * @return a list of user-groups
