diff --git a/src/main/java/info/textgrid/services/aggregator/AbstractExporter.java b/src/main/java/info/textgrid/services/aggregator/AbstractExporter.java
index 9052ded94ec4cda1e53aa5632b022a21c8a09238..ded89fc1aeb794caf9ea70033517450f16654a9e 100644
--- a/src/main/java/info/textgrid/services/aggregator/AbstractExporter.java
+++ b/src/main/java/info/textgrid/services/aggregator/AbstractExporter.java
@@ -67,9 +67,21 @@
  */
 public abstract class AbstractExporter implements StreamingOutput {
 
-	protected static final Logger logger = Logger
+	private static final Logger logger = Logger
 			.getLogger(AbstractExporter.class.getCanonicalName());
-	protected Optional<String> sid = Optional.absent();
+	private Optional<String> sid = Optional.absent();
+
+	protected Optional<String> getSid() {
+		return sid;
+	}
+
+	public SourceType getSourceType() {
+		return sourceType;
+	}
+
+	public URI[] getRootURIs() {
+		return rootURIs;
+	}
 
 	// detected and extracted
 	protected enum SourceType {
diff --git a/src/main/java/info/textgrid/services/aggregator/CorpusBasedExporter.java b/src/main/java/info/textgrid/services/aggregator/CorpusBasedExporter.java
index 77231c7b465b953e466a4fde621310945fcba0cb..5b6d1ff683f25e4a07bab4095a58b92c99192975 100644
--- a/src/main/java/info/textgrid/services/aggregator/CorpusBasedExporter.java
+++ b/src/main/java/info/textgrid/services/aggregator/CorpusBasedExporter.java
@@ -12,6 +12,7 @@
 import java.io.InputStream;
 import java.text.MessageFormat;
 import java.util.logging.Level;
+import java.util.logging.Logger;
 
 import javax.ws.rs.WebApplicationException;
 import javax.ws.rs.core.Request;
@@ -25,6 +26,7 @@
 
 public abstract class CorpusBasedExporter extends AbstractExporter {
 
+	private static final Logger logger = Logger.getLogger(CorpusBasedExporter.class.getCanonicalName());
 	protected boolean readStylesheetPI = false;
 	private InputSupplier<InputStream> sourceBuffer = null;
 
@@ -80,7 +82,7 @@ protected Source loadSource(final boolean bufferRequired)
 		if (sourceType == SourceType.AGGREGATION
 				|| sourceType == SourceType.BASKET) {
 			final TEICorpusSerializer corpusSerializer =
-					new TEICorpusSerializer(getRootObjects(), false, sid.orNull());
+					new TEICorpusSerializer(getRootObjects(), false, getSid().orNull());
 			final FileBackedOutputStream corpusBuffer = new FileBackedOutputStream(
 					1024 * 1024, true);
 			corpusSerializer.write(corpusBuffer);
diff --git a/src/main/java/info/textgrid/services/aggregator/html/HTMLWriter.java b/src/main/java/info/textgrid/services/aggregator/html/HTMLWriter.java
index aa3fc0d25f44239172d6ac391f010ddc62518116..b407b456a627bacd5ef92e0438832407d855b3c6 100644
--- a/src/main/java/info/textgrid/services/aggregator/html/HTMLWriter.java
+++ b/src/main/java/info/textgrid/services/aggregator/html/HTMLWriter.java
@@ -18,6 +18,7 @@
 import java.text.MessageFormat;
 import java.util.Properties;
 import java.util.logging.Level;
+import java.util.logging.Logger;
 
 import javax.ws.rs.WebApplicationException;
 import javax.ws.rs.core.MediaType;
@@ -94,6 +95,7 @@ public class HTMLWriter extends CorpusBasedExporter implements StreamingOutput {
 
 	private Source source;
 	private StylesheetManager stylesheetManager;
+	private static final Logger logger = Logger.getLogger(HTMLWriter.class.getCanonicalName());
 
 
 
@@ -120,6 +122,7 @@ public HTMLWriter(final ITextGridRep repository, final StylesheetManager stylesh
 		this.refreshStylesheet = refreshStylesheet;
 		this.readStylesheetPI = readStylesheetPI;
 		this.embedded = embedded;
+
 		this.css = Optional.fromNullable(css);
 		this.sid(sid);
 		this.requestedMediaType = Optional.fromNullable(mediaType);
@@ -169,15 +172,15 @@ private XsltExecutable getStylesheet() throws SaxonApiException,
 			IOException {
 		if (explicitStylesheetURI.isPresent()) {
 			actualStylesheetLabel = explicitStylesheetURI.get().toString() + " (explicit)";
-			return stylesheetManager.getStylesheet(explicitStylesheetURI.get(), sid,
+			return stylesheetManager.getStylesheet(explicitStylesheetURI.get(), getSid(),
 					refreshStylesheet, false);
 		} else if (associatedStylesheetURI.isPresent()) {
 			actualStylesheetLabel = associatedStylesheetURI.get().toString() + " (associated)";
-			return stylesheetManager.getStylesheet(associatedStylesheetURI.get(), sid,
+			return stylesheetManager.getStylesheet(associatedStylesheetURI.get(), getSid(),
 					refreshStylesheet, false);
 		} else {
 			actualStylesheetLabel = "(internal)";
-			return stylesheetManager.getStylesheet(TO_HTML_XSL, sid, false, true);
+			return stylesheetManager.getStylesheet(TO_HTML_XSL, getSid(), false, true);
 		}
 	}
 
@@ -197,14 +200,13 @@ public XsltTransformer getTransformer() throws SaxonApiException, IOException {
 			return transformer;
 
 		final XsltTransformer transformer = getStylesheet().load();
-		if (sid.isPresent()) {
-			transformer.setURIResolver(new TGUriResolver(repository, sid));
+		if (getSid().isPresent()) {
+			transformer.setURIResolver(new TGUriResolver(repository, getSid()));
 		}
 		transformer.setParameter(new QName("graphicsURLPattern"),
 				new XdmAtomicValue(repository.getCRUDRestEndpoint()
 						+ "/@URI@/data"
-						+ ((sid == null || "".equals(sid)) ? ""
-								: ("?sessionId=" + sid))));
+						+ (getSid().isPresent()? "?sessionId=" + getSid().get() : "")));
 		if (css.isPresent()) {
 			transformer.setParameter(new QName("cssFile"), new XdmAtomicValue(
 					css.get()));
@@ -231,7 +233,7 @@ public void write(final OutputStream out) throws IOException,
 			logger.log(Level.INFO, MessageFormat.format("Ready for transformation of {0} after {1}", rootURIs, stopwatch.toString()));
 			final Serializer serializer = stylesheetManager.xsltProcessor.newSerializer(out);
 			if (embedded) {
-				final XsltTransformer extractBody = stylesheetManager.getStylesheet(EXTRACT_BODY_XSL, sid, false, true).load();
+				final XsltTransformer extractBody = stylesheetManager.getStylesheet(EXTRACT_BODY_XSL, getSid(), false, true).load();
 				extractBody.setDestination(serializer);
 				getTransformer().setDestination(extractBody);
 			} else {