positions always realised with attributes 'frames' and 'sharedClasses'
diff --git a/src/main/java/de/ids_mannheim/korap/query/serialize/AqlTree.java b/src/main/java/de/ids_mannheim/korap/query/serialize/AqlTree.java
index 96dfead..0a940de 100644
--- a/src/main/java/de/ids_mannheim/korap/query/serialize/AqlTree.java
+++ b/src/main/java/de/ids_mannheim/korap/query/serialize/AqlTree.java
@@ -550,6 +550,7 @@
 		return relation;
 	}
 
+	@SuppressWarnings("unchecked")
 	private LinkedHashMap<String,Object> parseEdgeSpec(ParseTree edgeSpec) {
 		List<ParseTree> annos = getChildrenWithCat(edgeSpec, "edgeAnno");
 		if (annos.size() == 1) return parseEdgeAnno(annos.get(0));
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 1a239da..2e8c44d 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
@@ -409,8 +409,6 @@
             
             boolean putIntoOverlapDisjunction = false;
 
-            ArrayList<Object> sequenceOperands = (ArrayList<Object>) group.get("operands");
-
             // possibly several distance constraints
             for (int i = 0; i < dist_list.getChildCount(); i++) {
                 String direction = dist_list.getChild(i).getChild(0).getChild(0).toStringTree().toLowerCase();
@@ -461,7 +459,8 @@
             	sequence = embeddedSequence;
             	group = makeGroup("or");
             	ArrayList<Object> disjOperands = (ArrayList<Object>) group.get("operands");
-            	LinkedHashMap<String,Object> overlapsGroup = makePosition("overlaps");
+            	String[] sharedClasses = new String[]{"intersects"};
+            	LinkedHashMap<String,Object> overlapsGroup = makePosition(new String[0], sharedClasses);
             	
             	ArrayList<Object> overlapsOperands = (ArrayList<Object>) overlapsGroup.get("operands");
             	// this ensures identity of the operands lists and thereby a distribution of the operands for both created objects 
@@ -577,7 +576,10 @@
                 CosmasCondition c = new CosmasCondition(conditions.getChild(0));
 
                 // create the group expressing the position constraint
-                LinkedHashMap<String, Object> posgroup = makePosition(c.position);
+                String[] frames = new String[]{c.position};
+                String[] sharedClasses = new String[]{"includes"};  // OPBED only defines #IN-corresponding positions
+            	LinkedHashMap<String,Object> posgroup = makePosition(frames, sharedClasses);
+//                LinkedHashMap<String, Object> posgroup = makePosition(c.position);
                 ArrayList<Object> operands = (ArrayList<Object>) posgroup.get("operands");
                 if (c.negated) posgroup.put("exclude", true);
 
@@ -612,7 +614,9 @@
                     // for each condition, create a position group containing a class group.
                     // make position group
                     CosmasCondition c = new CosmasCondition(conditions.getChild(i));
-                    LinkedHashMap<String, Object> posGroup = makePosition(c.position);
+                    String[] frames = new String[]{c.position};
+                    String[] sharedClasses = new String[]{"includes"};  // OPBED only defines #IN-corresponding positions
+                	LinkedHashMap<String,Object> posGroup = makePosition(frames, sharedClasses);
                     operands.add(posGroup);
                     if (c.negated) posGroup.put("exclude", "true");
                     ArrayList<Object> posOperands = new ArrayList<Object>();
diff --git a/src/main/java/de/ids_mannheim/korap/query/serialize/PoliqarpPlusTree.java b/src/main/java/de/ids_mannheim/korap/query/serialize/PoliqarpPlusTree.java
index 08b269f..c29a69d 100644
--- a/src/main/java/de/ids_mannheim/korap/query/serialize/PoliqarpPlusTree.java
+++ b/src/main/java/de/ids_mannheim/korap/query/serialize/PoliqarpPlusTree.java
@@ -228,7 +228,7 @@
 		}
 
 		if (nodeCat.equals("position")) {
-			LinkedHashMap<String,Object> position = makePosition(parseFrame(node.getChild(0)));
+			LinkedHashMap<String,Object> position = parseFrame(node.getChild(0));
 			putIntoSuperObject(position);
 			objectStack.push(position);
 			stackedObjects++;
@@ -425,8 +425,29 @@
 		return new Integer[]{min,max};
 	}
 
-	private String parseFrame(ParseTree node) {
-		return node.toStringTree(parser);
+	private LinkedHashMap<String,Object> parseFrame(ParseTree node) {
+		String operator = node.toStringTree(parser);
+		String[] frames = new String[]{""};
+		String[] sharedClasses = new String[]{"includes"};
+		switch (operator) {
+			case "contains":
+				frames = new String[]{};
+				break;
+			case "matches":
+				frames = new String[]{"matches"};
+				break;
+			case "startswith":
+				frames = new String[]{"startswith"};
+				break;
+			case "endswith":
+				frames = new String[]{"endswith"};
+				break;	
+			case "overlaps":
+				frames = new String[]{"overlapsLeft","overlapsRight"};
+				sharedClasses = new String[]{"intersects"};
+				break;
+		}
+		return makePosition(frames,sharedClasses);
 	}
 
 
@@ -668,12 +689,13 @@
 //				"[base=geht][base=der][]*[base=Mann]",
 //				"<cnx/c=vp (class=header&id=7)>",
 //				"<cnx/c=vp class=header&id=a>",
-				"[][]*[base=Mann]",
-				"focus(2&3|4:contains({2:<s>},[base=mann]))",
-				"relatesTo(cnx/c:<s>,<np>)",
-				"dominates(cnx/c*:<np>,[base=Baum])",
-				"submatch(2:<np>{2:<s>})",
-				"focus(3:{1:[orth=der]}{3:[]}{2:[orth=Mann]})"
+//				"[][]*[base=Mann]",
+//				"focus(2&3|4:contains({2:<s>},[base=mann]))",
+//				"relatesTo(cnx/c:<s>,<np>)",
+//				"dominates(cnx/c*:<np>,[base=Baum])",
+//				"submatch(2:<np>{2:<s>})",
+//				"focus(3:{1:[orth=der]}{3:[]}{2:[orth=Mann]})",
+				"[base=geht][base=der][]*contains(<s>,<np>)"
 		};
 //		PoliqarpPlusTree.verbose=true;
 		for (String q : queries) {
diff --git a/src/test/java/CosmasTreeTest.java b/src/test/java/CosmasTreeTest.java
index c35a4f5..eb6e2b8 100644
--- a/src/test/java/CosmasTreeTest.java
+++ b/src/test/java/CosmasTreeTest.java
@@ -278,7 +278,7 @@
 		query="Sonne /+w4 Mond";
 		String prox4 = 
 					"{@type=korap:group, operation=operation:or, operands=[" +
-						"{@type=korap:group, operation=operation:position, frame=frame:overlaps, operands=[" +
+						"{@type=korap:group, operation=operation:position, frames=[], sharedClasses=[intersects], operands=[" +
 							"{@type=korap:group, operation=operation:class, class=0, operands=[" +	
 								"{@type=korap:token, wrap={@type=korap:term, key=Sonne, layer=orth, match=match:eq}}" +
 							"]}," +
@@ -309,7 +309,7 @@
 		query="Sonne /-w4 Mond";
 		String prox5 = 
 				"{@type=korap:group, operation=operation:or, operands=[" +
-					"{@type=korap:group, operation=operation:position, frame=frame:overlaps, operands=[" +
+					"{@type=korap:group, operation=operation:position, frames=[], sharedClasses=[intersects], operands=[" +
 						"{@type=korap:group, operation=operation:class, class=0, operands=[" +	
 							"{@type=korap:token, wrap={@type=korap:term, key=Mond, layer=orth, match=match:eq}}" +
 						"]}," +
@@ -340,7 +340,7 @@
 		query="Sonne /w4 Mond";
 		String prox6 = 
 				"{@type=korap:group, operation=operation:or, operands=[" +
-					"{@type=korap:group, operation=operation:position, frame=frame:overlaps, operands=[" +
+					"{@type=korap:group, operation=operation:position, frames=[], sharedClasses=[intersects], operands=[" +
 						"{@type=korap:group, operation=operation:class, class=0, operands=[" +	
 							"{@type=korap:token, wrap={@type=korap:term, key=Sonne, layer=orth, match=match:eq}}" +
 						"]}," +
@@ -409,9 +409,9 @@
 		
 		query="Sonne /-w4 Mond /+w2 Sterne";
 		
-		String mondsterne = 
-					"{@type=korap:token, wrap={@type=korap:term, key=Mond, layer=orth, match=match:eq}}," +
-					"{@type=korap:token, wrap={@type=korap:term, key=Sterne, layer=orth, match=match:eq}}" ;
+//		String mondsterne = 
+//					"{@type=korap:token, wrap={@type=korap:term, key=Mond, layer=orth, match=match:eq}}," +
+//					"{@type=korap:token, wrap={@type=korap:term, key=Sterne, layer=orth, match=match:eq}}" ;
 		
 		String mondsterneClasses = 
 					"{@type=korap:group, operation=operation:class, class=0, operands=[" +	
@@ -420,12 +420,12 @@
 					"{@type=korap:group, operation=operation:class, class=0, operands=[" +	
 						"{@type=korap:token, wrap={@type=korap:term, key=Sterne, layer=orth, match=match:eq}}" +
 					"]}";
-		String mondsterneSeq = 
-					"{@type=korap:group, operation=operation:sequence, operands=[" +
-						mondsterne +
-					"], inOrder=true, distances=[" +
-						"{@type=korap:distance, key=w, boundary={@type=korap:boundary, min=1, max=2}, min=1, max=2}" +
-					"]}" ;
+//		String mondsterneSeq = 
+//					"{@type=korap:group, operation=operation:sequence, operands=[" +
+//						mondsterne +
+//					"], inOrder=true, distances=[" +
+//						"{@type=korap:distance, key=w, boundary={@type=korap:boundary, min=1, max=2}, min=1, max=2}" +
+//					"]}" ;
 		String mondsterneClassesSeq = 
 				"{@type=korap:reference, operation=operation:focus, classRef=[0], operands=[" +
 					"{@type=korap:group, operation=operation:sequence, operands=[" +
@@ -434,18 +434,18 @@
 						"{@type=korap:distance, key=w, boundary={@type=korap:boundary, min=1, max=2}, min=1, max=2}" +
 					"]}" +
 				"]}" ;
-		String mondsterneOv =
-					"{@type=korap:group, operation=operation:position, frame=frame:overlaps, operands=[" +
-						mondsterne +
-					"]}";
+//		String mondsterneOv =
+//					"{@type=korap:group, operation=operation:position, frames=[], sharedClasses=[intersects], operands=[" +
+//						mondsterne +
+//					"]}";
 		String mondsterneClassesOv =
-				"{@type=korap:group, operation=operation:position, frame=frame:overlaps, operands=[" +
+				"{@type=korap:group, operation=operation:position, frames=[], sharedClasses=[intersects], operands=[" +
 					mondsterneClasses +
 				"]}";
-		String mondsterneAll =
-					"{@type=korap:group, operation=operation:or, operands=[" +
-						mondsterneOv + "," + mondsterneClassesSeq +
-					"]}";
+//		String mondsterneAll =
+//					"{@type=korap:group, operation=operation:or, operands=[" +
+//						mondsterneOv + "," + mondsterneClassesSeq +
+//					"]}";
 		String mondsterneAllClasses = 
 					"{@type=korap:group, operation=operation:or, operands=[" +
 						mondsterneClassesOv + "," + mondsterneClassesSeq +
@@ -454,7 +454,7 @@
 		
 		String prox6 = 
 			"{@type=korap:group, operation=operation:or, operands=[" +
-				"{@type=korap:group, operation=operation:position, frame=frame:overlaps, operands=[" +
+				"{@type=korap:group, operation=operation:position, frames=[], sharedClasses=[intersects], operands=[" +
 					"{@type=korap:group, operation=operation:class, class=0, operands=[" +	
 						mondsterneAllClasses  + 
 					"]}," +
@@ -727,7 +727,7 @@
 		query="#BEG(der /w3:5 Mann) /+w10 kommt"; // nesting #BEG() in a distance group
 		String beg2 = 
 					"{@type=korap:group, operation=operation:or, operands=[" +
-						"{@type=korap:group, operation=operation:position, frame=frame:overlaps, operands=[" +
+						"{@type=korap:group, operation=operation:position, frames=[], sharedClasses=[intersects], operands=[" +
 							"{@type=korap:group, operation=operation:class, class=0, operands=[" +
 								beg1 +
 							"]}" + "," +
@@ -755,7 +755,7 @@
 		query="kommt /+w10 #BEG(der /w3:5 Mann)";
 		String beg3 = 
 				"{@type=korap:group, operation=operation:or, operands=[" +
-						"{@type=korap:group, operation=operation:position, frame=frame:overlaps, operands=[" +
+						"{@type=korap:group, operation=operation:position, frames=[], sharedClasses=[intersects], operands=[" +
 							"{@type=korap:group, operation=operation:class, class=0, operands=[" +
 								kommt + 
 //							"," +
@@ -1021,7 +1021,7 @@
 		query = "#BED(der , sa)";
 		String bed1 = 
 				"{@type=korap:reference, operation=operation:focus, classRef=[1], operands= [" +
-					"{@type=korap:group, operation=operation:position, frame=frame:startswith, operands=[" +
+					"{@type=korap:group, operation=operation:position, frames=[startswith], sharedClasses=[includes], operands=[" +
 						"{@type=korap:span, key=s}," +
 						"{@type=korap:group, operation=operation:class, class=1, operands=[" +
 							"{@type=korap:token, wrap={@type=korap:term, key=der, layer=orth, match=match:eq}}" +
@@ -1035,7 +1035,7 @@
 		query = "#BED(der Mann , +pe)";
 		String bed2 = 
 				"{@type=korap:reference, operation=operation:focus, classRef=[1], operands= [" +
-						"{@type=korap:group, operation=operation:position, frame=frame:endswith, operands=[" +
+						"{@type=korap:group, operation=operation:position, frames=[endswith], sharedClasses=[includes], operands=[" +
 							"{@type=korap:span, key=p}," +
 							"{@type=korap:group, operation=operation:class, class=1, operands=[" +
 								"{@type=korap:group, operation=operation:sequence, operands=[" +
@@ -1053,7 +1053,7 @@
 		String bed3 = 
 				"{@type=korap:reference, operation=operation:focus, classRef=[1], operands=[" +
 					"{@type=korap:group, operation=operation:sequence, operands=[" +
-						"{@type=korap:group, operation=operation:position, frame=frame:startswith, operands=[" +
+						"{@type=korap:group, operation=operation:position, frames=[startswith], sharedClasses=[includes], operands=[" +
 							"{@type=korap:span, key=s}," +
 							"{@type=korap:group, operation=operation:class, class=1, operands=[" +
 								"{@type=korap:group, operation=operation:sequence, operands=[" +
@@ -1062,7 +1062,7 @@
 								"]}" +
 							"]}" +
 						"]}," +
-						"{@type=korap:group, operation=operation:position, frame=frame:startswith, operands=[" +
+						"{@type=korap:group, operation=operation:position, frames=[startswith], sharedClasses=[includes], operands=[" +
 							"{@type=korap:span, key=p}," +
 							"{@type=korap:group, operation=operation:class, class=2, operands=[" +
 								"{@type=korap:group, operation=operation:sequence, operands=[" +
@@ -1086,7 +1086,7 @@
 		query = "Der:sa";
 		String col1 = 
 				"{@type=korap:reference, operation=operation:focus, classRef=[1], operands=[" +
-					"{@type=korap:group, operation=operation:position, frame=frame:startswith, operands=[" +
+					"{@type=korap:group, operation=operation:position, frames=[startswith], sharedClasses=[includes], operands=[" +
 						"{@type=korap:span, key=s}," +
 						"{@type=korap:group, operation=operation:class, class=1, operands=[" +
 							"{@type=korap:token, wrap={@type=korap:term, key=Der, layer=orth, match=match:eq}}" +
@@ -1101,19 +1101,19 @@
 		String col2 = 
 				"{@type=korap:reference, operation=operation:focus, classRef=[1], operands=[" +
 					"{@type=korap:group, operation=operation:sequence, operands=[" +
-						"{@type=korap:group, operation=operation:position, frame=frame:startswith, operands=[" +
+						"{@type=korap:group, operation=operation:position, frames=[startswith], sharedClasses=[includes], operands=[" +
 							"{@type=korap:span, key=s}," +
 							"{@type=korap:group, operation=operation:class, class=1, operands=[" +
 									"{@type=korap:token, wrap={@type=korap:term, key=Mann, layer=orth, match=match:eq}}" +
 							"]}" +
 						"]}," +
-						"{@type=korap:group, operation=operation:position, frame=frame:startswith, operands=[" +
+						"{@type=korap:group, operation=operation:position, frames=[startswith], sharedClasses=[includes], operands=[" +
 							"{@type=korap:span, key=p}," +
 							"{@type=korap:group, operation=operation:class, class=2, operands=[" +
 									"{@type=korap:token, wrap={@type=korap:term, key=Mann, layer=orth, match=match:eq}}" +
 							"]}" +
 						"], exclude=true}," +
-						"{@type=korap:group, operation=operation:position, frame=frame:endswith, operands=[" +
+						"{@type=korap:group, operation=operation:position, frames=[endswith], sharedClasses=[includes], operands=[" +
 							"{@type=korap:span, key=t}," +
 							"{@type=korap:group, operation=operation:class, class=3, operands=[" +
 									"{@type=korap:token, wrap={@type=korap:term, key=Mann, layer=orth, match=match:eq}}" +
diff --git a/src/test/java/PoliqarpPlusTreeTest.java b/src/test/java/PoliqarpPlusTreeTest.java
index 046c374..6cbd2a2 100644
--- a/src/test/java/PoliqarpPlusTreeTest.java
+++ b/src/test/java/PoliqarpPlusTreeTest.java
@@ -386,7 +386,7 @@
 				"{@type=korap:group, operation=operation:sequence, " +
 				"operands=[" +
 					"{@type=korap:token, wrap={@type=korap:term, layer=lemma, key=der, match=match:eq}}," +
-					"{@type=korap:group, operation=operation:position, frame=frame:contains, operands=[" +
+					"{@type=korap:group, operation=operation:position, frames=[],sharedClasses=[includes], operands=[" +
 					  "{@type=korap:span, key=s}," +
 					  "{@type=korap:span, key=np}" +
 					"]}" +
@@ -403,7 +403,7 @@
 	public void testLeadingTrailingEmptyTokens() throws QueryException {
 		// startswith(<s>, [][base=Mann]
 		String et1 = 
-			"{@type=korap:group, operation=operation:position, frame=frame:startswith, operands=[" +	
+			"{@type=korap:group, operation=operation:position, frames=[startswith],sharedClasses=[includes], operands=[" +	
 				"{@type=korap:span, key=s}," +
 				"{@type=korap:group, operation=operation:sequence, operands=[" +
 					"{@type=korap:token}," +
@@ -469,7 +469,7 @@
 					"{@type=korap:group, operation=operation:repetition, operands=[" +
 						"{@type=korap:token}" +
 					"], boundary={@type=korap:boundary, min=1}, min=1}," +
-					"{@type=korap:group, operation=operation:position, frame=frame:contains, operands=[" +
+					"{@type=korap:group, operation=operation:position, frames=[],sharedClasses=[includes], operands=[" +
 					  "{@type=korap:span, key=s}," +
 					  "{@type=korap:span, key=np}" +
 					"]}," +
@@ -909,21 +909,21 @@
 	@Test
 	public void testPositions() throws QueryException {
 		// contains(<s>,<np>)
-		String pos1 = "{@type=korap:group, operation=operation:position, frame=frame:contains, operands=[" +
+		String pos1 = "{@type=korap:group, operation=operation:position, frames=[],sharedClasses=[includes], operands=[" +
 				  "{@type=korap:span, key=s}," +
 				  "{@type=korap:span, key=np}" +
 				"]}";
 		assertTrue(equalsQueryContent(pos1, "contains(<s>,<np>)"));
 		
 		// contains(<s>,[base=Mann])
-		String pos2 = "{@type=korap:group, operation=operation:position, frame=frame:contains, operands=[" +
+		String pos2 = "{@type=korap:group, operation=operation:position, frames=[],sharedClasses=[includes], operands=[" +
 				  "{@type=korap:span, key=s}," +
 				  "{@type=korap:token, wrap= {@type=korap:term, layer=lemma, key=Mann, match=match:eq}}" +
 				"]}";
 		assertTrue(equalsQueryContent(pos2, "contains(<s>,[base=Mann])"));
 		
 		// contains(<s>,[orth=der][orth=Mann])
-		String pos3 = "{@type=korap:group, operation=operation:position, frame=frame:contains, operands=[" +
+		String pos3 = "{@type=korap:group, operation=operation:position, frames=[],sharedClasses=[includes], operands=[" +
 				  	"{@type=korap:span, key=s}," +
 				  	"{@type=korap:group, operation=operation:sequence, operands=[" +
 				  		"{@type=korap:token, wrap={@type=korap:term, layer=orth, key=der, match=match:eq}}," +
@@ -938,7 +938,7 @@
 		String pos4 = 
 				"{@type=korap:group, operation=operation:sequence, operands=[" +
 					"{@type=korap:token, wrap={@type=korap:term, layer=lemma, key=Auto, match=match:eq}}," +
-					"{@type=korap:group, operation=operation:position, frame=frame:contains, operands=[" +
+					"{@type=korap:group, operation=operation:position, frames=[],sharedClasses=[includes], operands=[" +
 				  		"{@type=korap:span, key=s}," +
 				  		"{@type=korap:token, wrap={@type=korap:term, layer=lemma, key=Mann, match=match:eq}}" +
 				  	"]}" +
@@ -949,7 +949,7 @@
 		
 		// contains(<s>,[pos=N]*)
 		String pos5 = 
-					"{@type=korap:group, operation=operation:position, frame=frame:contains, operands=[" +
+					"{@type=korap:group, operation=operation:position, frames=[],sharedClasses=[includes], operands=[" +
 				  		"{@type=korap:span, key=s}," +
 				  		"{@type=korap:group, operation=operation:repetition, " +
 				  			"operands=[{@type=korap:token, wrap={@type=korap:term, layer=pos, key=N, match=match:eq}}" +
@@ -964,7 +964,7 @@
 		String pos6 = 
 				"{@type=korap:group, operation=operation:sequence, operands=[" +
 					"{@type=korap:token, wrap={@type=korap:term, layer=lemma, key=Auto, match=match:eq}}," +
-					"{@type=korap:group, operation=operation:position, frame=frame:contains, operands=[" +
+					"{@type=korap:group, operation=operation:position, frames=[],sharedClasses=[includes], operands=[" +
 				  		"{@type=korap:span, key=s}," +
 				  		"{@type=korap:group, operation=operation:repetition, " +
 				  			"operands=[{@type=korap:token, wrap={@type=korap:term, layer=pos, key=N, match=match:eq}}" +
@@ -981,9 +981,9 @@
 	public void testNestedPositions() throws QueryException {
 		// contains(<s>,startswith(<np>,[orth=Der]))
 		String npos1 = 
-			"{@type=korap:group, operation=operation:position, frame=frame:contains, operands=[" +
+			"{@type=korap:group, operation=operation:position, frames=[],sharedClasses=[includes], operands=[" +
 				"{@type=korap:span, key=s}," +
-				"{@type=korap:group, operation=operation:position, frame=frame:startswith, operands=[" +
+				"{@type=korap:group, operation=operation:position, frames=[startswith],sharedClasses=[includes], operands=[" +
 					"{@type=korap:span, key=np}," +
 					"{@type=korap:token, wrap={@type=korap:term, layer=orth, key=Der, match=match:eq}}" +
 				"]}" +
@@ -1046,7 +1046,7 @@
 		// focus(1:startswith(<s>,{1:<np>}))
 		String shr4 = 
 			"{@type=korap:reference, operation=operation:focus, classRef=[1], operands=[" +
-				"{@type=korap:group, operation=operation:position, frame=frame:startswith, operands=[" +
+				"{@type=korap:group, operation=operation:position, frames=[startswith],sharedClasses=[includes], operands=[" +
 					"{@type=korap:span, key=s}," +
 					"{@type=korap:group, operation=operation:class, class=1, operands=[" +
 						"{@type=korap:span, key=np}" +
@@ -1060,7 +1060,7 @@
 		// focus(3: startswith(<s>, {3:[base=der]{1:[mate/p=ADJA]{2:[tt/p=NN]}}})) 
 		String shr5 = 
 			"{@type=korap:reference, operation=operation:focus, classRef=[3], operands=[" +
-				"{@type=korap:group, operation=operation:position, frame=frame:startswith, operands=[" +
+				"{@type=korap:group, operation=operation:position, frames=[startswith],sharedClasses=[includes], operands=[" +
 					"{@type=korap:span, key=s}," +
 					"{@type=korap:group, operation=operation:class, class=3, operands=[" +
 						"{@type=korap:group, operation=operation:sequence, operands=[" +
@@ -1084,7 +1084,7 @@
 		// split(3: startswith(<s>, {3:[base=der]{1:[mate/p=ADJA]{2:[tt/p=NN]}}})) 
 		String shr6 = 
 			"{@type=korap:reference, operation=operation:split, classRef=[3], operands=[" +
-				"{@type=korap:group, operation=operation:position, frame=frame:startswith, operands=[" +
+				"{@type=korap:group, operation=operation:position, frames=[startswith],sharedClasses=[includes], operands=[" +
 					"{@type=korap:span, key=s}," +
 					"{@type=korap:group, operation=operation:class, class=3, operands=[" +
 						"{@type=korap:group, operation=operation:sequence, operands=[" +
@@ -1108,7 +1108,7 @@
 		// split(2|3: startswith(<s>, {3:[base=der]{1:[mate/p=ADJA]{2:[tt/p=NN]}}})) 
 		String shr7 = 
 			"{@type=korap:reference, operation=operation:split, classRef=[2, 3], classRefOp=classRefOp:intersection, operands=[" +
-				"{@type=korap:group, operation=operation:position, frame=frame:startswith, operands=[" +
+				"{@type=korap:group, operation=operation:position, frames=[startswith],sharedClasses=[includes], operands=[" +
 					"{@type=korap:span, key=s}," +
 					"{@type=korap:group, operation=operation:class, class=3, operands=[" +
 						"{@type=korap:group, operation=operation:sequence, operands=[" +
@@ -1172,7 +1172,7 @@
 		query = "submatch(1,4:contains(<s>,[base=Haus]))";
 		expected = 
 			"{@type=korap:reference, operation=operation:focus, operands=[" +
-				"{@type=korap:group, operation=operation:position, frame=frame:contains, operands=[" +
+				"{@type=korap:group, operation=operation:position, frames=[],sharedClasses=[includes], operands=[" +
 					"{@type=korap:span, key=s}," +
 					"{@type=korap:token, wrap= {@type=korap:term, layer=lemma, key=Haus, match=match:eq}}" +
 				"]}" +