UND/NICHT as zero-text distances
diff --git a/src/main/java/de/ids_mannheim/korap/query/serialize/CosmasTree.java b/src/main/java/de/ids_mannheim/korap/query/serialize/CosmasTree.java
index bebc8f6..f97cc77 100644
--- a/src/main/java/de/ids_mannheim/korap/query/serialize/CosmasTree.java
+++ b/src/main/java/de/ids_mannheim/korap/query/serialize/CosmasTree.java
@@ -308,14 +308,32 @@
 			putIntoSuperObject(elem);
 		}
 		
-		if (nodeCat.equals("OPOR") || nodeCat.equals("OPAND") || nodeCat.equals("OPNOT")) {
+		if (nodeCat.equals("OPAND") || nodeCat.equals("OPNOT")) {
+			// Step I: create group
+			LinkedHashMap<String, Object> distgroup = new LinkedHashMap<String, Object>();
+			distgroup.put("@type", "korap:group");
+			distgroup.put("operation", "operation:sequence");
+			ArrayList<Object> distances = new ArrayList<Object>(); 
+			LinkedHashMap<String, Object> zerodistance = new LinkedHashMap<String, Object>();
+			zerodistance.put("@type", "korap:distance");
+			zerodistance.put("key", "t");
+			zerodistance.put("min", 0);
+			zerodistance.put("max", 0);
+			if (nodeCat.equals("OPNOT")) zerodistance.put("exclude", true);
+			distances.add(zerodistance);
+			distgroup.put("distances", distances);
+			distgroup.put("operands", new ArrayList<Object>());
+			objectStack.push(distgroup);
+			stackedObjects++;
+			// Step II: decide where to put
+			putIntoSuperObject(distgroup, 1);
+		}
+		
+		if (nodeCat.equals("OPOR")) {
 			// Step I: create group
 			LinkedHashMap<String, Object> disjunction = new LinkedHashMap<String, Object>();
 			disjunction.put("@type", "korap:group");
-			String relation = "or";
-			if (nodeCat.equals("OPAND")) relation = "and";
-			if (nodeCat.equals("OPNOT")) relation = "not";
-			disjunction.put("operation", "operation:"+ relation);
+			disjunction.put("operation", "operation:or");
 			disjunction.put("operands", new ArrayList<Object>());
 			objectStack.push(disjunction);
 			stackedObjects++;
diff --git a/src/test/java/CosmasTreeTest.java b/src/test/java/CosmasTreeTest.java
index 1a350ea..1cfb8bb 100644
--- a/src/test/java/CosmasTreeTest.java
+++ b/src/test/java/CosmasTreeTest.java
@@ -184,12 +184,14 @@
 	public void testOPORAND() throws QueryException {
 		query="(Sonne oder Mond) und scheint";
 		String orand1 = 
-				"{@type=korap:group, operation=operation:and, operands=[" +
-					"{@type=korap:group, operation=operation:or, operands=[" +
-						"{@type=korap:token, wrap={@type=korap:term, key=Sonne, layer=orth, match=match:eq}}," +
-						"{@type=korap:token, wrap={@type=korap:term, key=Mond, layer=orth, match=match:eq}}" +
-					"]}," +
-					"{@type=korap:token, wrap={@type=korap:term, key=scheint, layer=orth, match=match:eq}}" +
+				"{@type=korap:group, operation=operation:sequence, distances=[" +
+					"{@type=korap:distance, key=t, min=0, max=0}" +
+					"], operands=[" +
+						"{@type=korap:group, operation=operation:or, operands=[" +
+							"{@type=korap:token, wrap={@type=korap:term, key=Sonne, layer=orth, match=match:eq}}," +
+							"{@type=korap:token, wrap={@type=korap:term, key=Mond, layer=orth, match=match:eq}}" +
+						"]}," +
+						"{@type=korap:token, wrap={@type=korap:term, key=scheint, layer=orth, match=match:eq}}" +
 				"]}";
 		ct = new CosmasTree(query);
 		map = ct.getRequestMap().get("query").toString();
@@ -197,11 +199,13 @@
 		
 		query="scheint und (Sonne oder Mond)";
 		String orand2 = 
-				"{@type=korap:group, operation=operation:and, operands=[" +
-					"{@type=korap:token, wrap={@type=korap:term, key=scheint, layer=orth, match=match:eq}}," +
-					"{@type=korap:group, operation=operation:or, operands=[" +
-						"{@type=korap:token, wrap={@type=korap:term, key=Sonne, layer=orth, match=match:eq}}," +
-						"{@type=korap:token, wrap={@type=korap:term, key=Mond, layer=orth, match=match:eq}}" +
+				"{@type=korap:group, operation=operation:sequence, distances=[" +
+						"{@type=korap:distance, key=t, min=0, max=0}" +
+					"], operands=[" +
+						"{@type=korap:token, wrap={@type=korap:term, key=scheint, layer=orth, match=match:eq}}," +
+						"{@type=korap:group, operation=operation:or, operands=[" +
+							"{@type=korap:token, wrap={@type=korap:term, key=Sonne, layer=orth, match=match:eq}}," +
+							"{@type=korap:token, wrap={@type=korap:term, key=Mond, layer=orth, match=match:eq}}" +
 					"]}" +
 				"]}";
 		ct = new CosmasTree(query);
@@ -410,7 +414,9 @@
 	public void testOPNOT() throws QueryException {
 		query="Sonne nicht Mond";
 		String opnot1 = 
-					"{@type=korap:group, operation=operation:not, operands=[" +
+					"{@type=korap:group, operation=operation:sequence, distances=[" +
+						"{@type=korap:distance, key=t, min=0, max=0, exclude=true}" +
+					"], operands=[" +
 						"{@type=korap:token, wrap={@type=korap:term, key=Sonne, layer=orth, match=match:eq}}," +
 						"{@type=korap:token, wrap={@type=korap:term, key=Mond, layer=orth, match=match:eq}}" +
 					"]}";