diff --git a/Changes b/Changes
index d3afe61..8cc2db8 100644
--- a/Changes
+++ b/Changes
@@ -1,4 +1,4 @@
-0.2 2015-06-15
+0.2 2015-10-27
         - Switch to "koral:" prefix.
 	- Coverage of KoralQuery 0.3
 	  (see http://korap.github.io/Koral/)
diff --git a/pom.xml b/pom.xml
index db97761..6a189ae 100644
--- a/pom.xml
+++ b/pom.xml
@@ -218,16 +218,6 @@
 	    <phase>generate-sources</phase>
 	  </execution>
 	</executions>
-	
-      </plugin>
-      <plugin>
-	<artifactId>maven-compiler-plugin</artifactId>
-	<version>2.3.2</version>
-	<configuration>
-	  <source>1.7</source>
-	  <target>1.7</target>
-	  <!-- excludes> <exclude>**/CosmasTree.java</exclude> </excludes -->
-	</configuration>
       </plugin>
     </plugins>
   </build>
diff --git a/src/test/java/de/ids_mannheim/korap/query/serialize/CollectionQueryProcessorTest.java b/src/test/java/de/ids_mannheim/korap/query/serialize/CollectionQueryProcessorTest.java
index 6441cb4..2cc16dc 100644
--- a/src/test/java/de/ids_mannheim/korap/query/serialize/CollectionQueryProcessorTest.java
+++ b/src/test/java/de/ids_mannheim/korap/query/serialize/CollectionQueryProcessorTest.java
@@ -55,14 +55,17 @@
 
     @Test
     public void testSpecialCharacters() throws JsonProcessingException, IOException {
-        collection = "tokens=base/n:alt";
+        collection = "[base/n=alt]";
         qs.setQuery(query, ql);
         qs.setCollection(collection);
         res = mapper.readTree(qs.toJSON());
-        assertEquals("koral:doc", res.at("/collection/@type").asText());
-        assertEquals("tokens", res.at("/collection/key").asText());
-        assertEquals("base/s:s", res.at("/collection/value").asText());
-        assertEquals("match:eq", res.at("/collection/match").asText());
+
+        assertEquals("koral:token", res.at("/collection/@type").asText());
+        assertEquals("koral:term", res.at("/collection/wrap/@type").asText());
+        assertEquals("base", res.at("/collection/wrap/foundry").asText());
+        assertEquals("n", res.at("/collection/wrap/layer").asText());
+        assertEquals("alt", res.at("/collection/wrap/key").asText());
+        assertEquals("match:eq", res.at("/collection/wrap/match").asText());
     };
 
     @Test
