diff --git a/src/main/java/de/ids_mannheim/korap/query/SimpleSpanQuery.java b/src/main/java/de/ids_mannheim/korap/query/SimpleSpanQuery.java
index d0ffdba..d7dcc02 100644
--- a/src/main/java/de/ids_mannheim/korap/query/SimpleSpanQuery.java
+++ b/src/main/java/de/ids_mannheim/korap/query/SimpleSpanQuery.java
@@ -15,11 +15,13 @@
  * */
 public abstract class SimpleSpanQuery extends SpanQuery implements Cloneable{		
 	
-	private SpanQuery firstClause, secondClause;
+	protected SpanQuery firstClause, secondClause;
 	private String field;
 	private String spanName;
+	protected boolean collectPayloads;
     
-    public SimpleSpanQuery(SpanQuery firstClause, SpanQuery secondClause, String spanName) {
+    public SimpleSpanQuery(SpanQuery firstClause, SpanQuery secondClause, 
+    		String spanName, boolean collectPayloads) {
     	this.field = secondClause.getField();
     	if (!firstClause.getField().equals(field)){
     		throw new IllegalArgumentException("Clauses must have the same field.");
@@ -27,6 +29,7 @@
     	this.setFirstClause(firstClause);
     	this.setSecondClause(secondClause);    	
     	this.spanName=spanName;
+    	this.collectPayloads = collectPayloads;
 	}  
     	
 	@Override
@@ -61,10 +64,17 @@
 
 	public void setSecondClause(SpanQuery secondClause) {
 		this.secondClause = secondClause;
+	}	
+		
+	public boolean isCollectPayloads() {
+		return collectPayloads;
 	}
-	
+
+	public void setCollectPayloads(boolean collectPayloads) {
+		this.collectPayloads = collectPayloads;
+	}
+
 	// For rewriting fuzzy searches like wildcard and regex
-	
 	@Override
     public void extractTerms(Set<Term> terms) {
 		firstClause.extractTerms(terms);
diff --git a/src/main/java/de/ids_mannheim/korap/query/SpanDistanceQuery.java b/src/main/java/de/ids_mannheim/korap/query/SpanDistanceQuery.java
index e219818..1915336 100644
--- a/src/main/java/de/ids_mannheim/korap/query/SpanDistanceQuery.java
+++ b/src/main/java/de/ids_mannheim/korap/query/SpanDistanceQuery.java
@@ -23,33 +23,26 @@
  * */
 public class SpanDistanceQuery extends SimpleSpanQuery {
 	
-	protected int minDistance, maxDistance;
-	public boolean isOrdered, collectPayloads;
-	protected SpanQuery firstClause, secondClause; 
+	public boolean isOrdered;
+	protected int minDistance, maxDistance;	
 	private SpanQuery elementQuery; // element distance unit
 
 	public SpanDistanceQuery(SpanQuery firstClause, SpanQuery secondClause, 
 			int minDistance, int maxDistance, boolean isOrdered, 
 			boolean collectPayloads) {		
-		super(firstClause, secondClause, "spanDistance"); 
-    	this.firstClause=firstClause;
-    	this.secondClause=secondClause;
+		super(firstClause, secondClause, "spanDistance",collectPayloads); 
     	this.minDistance =minDistance;
 		this.maxDistance = maxDistance;
 		this.isOrdered = isOrdered;
-		this.collectPayloads = collectPayloads;
 	}
 	
 	public SpanDistanceQuery(SpanQuery elementQuery, SpanQuery firstClause, 
 			SpanQuery secondClause, int minDistance, int maxDistance, 
 			boolean isOrdered, boolean collectPayloads) {
-		super(firstClause, secondClause, "spanElementDistance");
-		this.firstClause=firstClause;
-    	this.secondClause=secondClause;
+		super(firstClause, secondClause, "spanElementDistance",collectPayloads);
     	this.minDistance =minDistance;
 		this.maxDistance = maxDistance;
 		this.isOrdered = isOrdered;
-		this.collectPayloads = collectPayloads;
 		this.elementQuery = elementQuery;
 	}
 
@@ -103,14 +96,6 @@
 	public void setMaxDistance(int maxDistance) {
 		this.maxDistance = maxDistance;
 	}
-
-	public boolean isCollectPayloads() {
-		return collectPayloads;
-	}
-
-	public void setCollectPayloads(boolean collectPayloads) {
-		this.collectPayloads = collectPayloads;
-	}
 	
 	public SpanQuery getElementQuery() {
 		return elementQuery;
diff --git a/src/main/java/de/ids_mannheim/korap/query/SpanMultipleDistanceQuery.java b/src/main/java/de/ids_mannheim/korap/query/SpanMultipleDistanceQuery.java
index 4fac9e6..60e9a2c 100644
--- a/src/main/java/de/ids_mannheim/korap/query/SpanMultipleDistanceQuery.java
+++ b/src/main/java/de/ids_mannheim/korap/query/SpanMultipleDistanceQuery.java
@@ -21,20 +21,15 @@
  * */
 public class SpanMultipleDistanceQuery extends SimpleSpanQuery{
 	
-	private SpanQuery firstClause, secondClause;	 
 	private List<DistanceConstraint> constraints;  
 	private boolean isOrdered;
-	private boolean collectPayloads;	
 			
 	public SpanMultipleDistanceQuery(SpanQuery firstClause, SpanQuery secondClause,
 			List<DistanceConstraint> constraints, boolean isOrdered, 
 			boolean collectPayloads) {
-		super(firstClause, secondClause, "spanMultipleDistance");
+		super(firstClause, secondClause, "spanMultipleDistance",collectPayloads);
 		this.constraints = constraints;
-    	this.firstClause=firstClause;
-    	this.secondClause=secondClause;
 		this.isOrdered = isOrdered;
-		this.collectPayloads = collectPayloads;
 	}
 
 	@Override
@@ -44,7 +39,7 @@
 		    (SpanQuery) secondClause.clone(),
 		    this.constraints,
 		    this.isOrdered,
-		    this.collectPayloads
+		    collectPayloads
         );		
 		
 		query.setBoost(getBoost());
diff --git a/src/main/java/de/ids_mannheim/korap/query/SpanNextQuery.java b/src/main/java/de/ids_mannheim/korap/query/SpanNextQuery.java
index f7a9e19..68d35f8 100644
--- a/src/main/java/de/ids_mannheim/korap/query/SpanNextQuery.java
+++ b/src/main/java/de/ids_mannheim/korap/query/SpanNextQuery.java
@@ -22,9 +22,6 @@
  * 	This is identical to a phrase query with exactly two clauses. 
  */
 public class SpanNextQuery extends SimpleSpanQuery implements Cloneable {
-    private SpanQuery firstClause;
-    private SpanQuery secondClause;    
-    private boolean collectPayloads;
 
     // Constructor
     public SpanNextQuery(SpanQuery firstClause, SpanQuery secondClause) {
@@ -34,10 +31,7 @@
     // Constructor  
     public SpanNextQuery(SpanQuery firstClause, SpanQuery secondClause,
 		boolean collectPayloads) {   
-    	super(firstClause, secondClause, "spanNext");
-		this.collectPayloads = collectPayloads;
-		this.firstClause = firstClause;
-		this.secondClause = secondClause;
+    	super(firstClause, secondClause, "spanNext",collectPayloads);
     };
 
 
@@ -53,7 +47,7 @@
 	SpanNextQuery spanNextQuery = new SpanNextQuery(
 	    (SpanQuery) firstClause.clone(),
 	    (SpanQuery) secondClause.clone(),
-	    this.collectPayloads
+	    collectPayloads
         );
 	spanNextQuery.setBoost(getBoost());
 	return spanNextQuery;
diff --git a/src/main/java/de/ids_mannheim/korap/query/SpanSegmentQuery.java b/src/main/java/de/ids_mannheim/korap/query/SpanSegmentQuery.java
index 3f7e487..632c6f6 100644
--- a/src/main/java/de/ids_mannheim/korap/query/SpanSegmentQuery.java
+++ b/src/main/java/de/ids_mannheim/korap/query/SpanSegmentQuery.java
@@ -19,19 +19,13 @@
  * */
 public class SpanSegmentQuery extends SimpleSpanQuery{
 	
-	private boolean collectPayloads;
-	private SpanQuery firstClause, secondClause;
-	
 	public SpanSegmentQuery(SpanQuery firstClause, SpanQuery secondClause) {
 		this(firstClause,secondClause,true);
 	}
 	
 	public SpanSegmentQuery(SpanQuery firstClause, SpanQuery secondClause, 
 			boolean collectPayloads) { 
-    	super(firstClause,secondClause,"spanSegment");
-    	this.collectPayloads = collectPayloads;
-    	this.firstClause=firstClause;
-    	this.secondClause=secondClause;
+    	super(firstClause,secondClause,"spanSegment",collectPayloads);
 	}
 	
 	@Override
@@ -46,7 +40,7 @@
 		SpanSegmentQuery spanSegmentQuery = new SpanSegmentQuery(
 			    (SpanQuery) firstClause.clone(),
 			    (SpanQuery) secondClause.clone(),
-			    this.collectPayloads
+			    collectPayloads
 		        );
 		spanSegmentQuery.setBoost(getBoost());
 		return spanSegmentQuery;		
diff --git a/src/main/java/de/ids_mannheim/korap/query/spans/DistanceSpans.java b/src/main/java/de/ids_mannheim/korap/query/spans/DistanceSpans.java
index aedd6c1..b2f923e 100644
--- a/src/main/java/de/ids_mannheim/korap/query/spans/DistanceSpans.java
+++ b/src/main/java/de/ids_mannheim/korap/query/spans/DistanceSpans.java
@@ -1,8 +1,6 @@
 package de.ids_mannheim.korap.query.spans;
 
 import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
 import java.util.Map;
 
 import org.apache.lucene.index.AtomicReaderContext;
@@ -14,7 +12,6 @@
 import org.slf4j.LoggerFactory;
 
 import de.ids_mannheim.korap.query.SimpleSpanQuery;
-import de.ids_mannheim.korap.query.SpanDistanceQuery;
 
 /** DistanceSpan is a base class for enumeration of span matches, 
  * 	whose two child spans have a specific range of distance (within 
