diff --git a/src/main/java/kieker/analysis/stage/tracediagnosis/TraceAggregationComposite.java b/src/main/java/kieker/analysis/stage/tracediagnosis/TraceAggregationComposite.java
index 7cf2656b5b47026abb089690cd79433f16a844d4..72dd5d48b839bb4e6ad95c6265eff7c222492bbb 100644
--- a/src/main/java/kieker/analysis/stage/tracediagnosis/TraceAggregationComposite.java
+++ b/src/main/java/kieker/analysis/stage/tracediagnosis/TraceAggregationComposite.java
@@ -51,6 +51,7 @@ public final class TraceAggregationComposite extends AbstractCompositeStage {
 		// super.connectPorts(this.statisticsDecorator.getOutputPort(), this.tracesCollector.getInputPort());
 
 		// TODO New from Sören
+		// TODO Move to own composite
 
 		String graphFilesOutputDir = "example/event monitoring log/output"; // TODO Temp hard coded
 
diff --git a/src/main/java/kieker/analysis/stage/tracediagnosis/TraceReconstructionComposite.java b/src/main/java/kieker/analysis/stage/tracediagnosis/TraceReconstructionComposite.java
index 985fef20ce49d2209cd38fb155101e337ee8ed60..cb5d9462a3fc53144d0717370f23dbc3c1d0115e 100644
--- a/src/main/java/kieker/analysis/stage/tracediagnosis/TraceReconstructionComposite.java
+++ b/src/main/java/kieker/analysis/stage/tracediagnosis/TraceReconstructionComposite.java
@@ -18,6 +18,10 @@ package kieker.analysis.stage.tracediagnosis;
 
 import java.util.List;
 
+import kieker.analysis.trace.graphoutput.DotGraphWriter;
+import kieker.analysis.trace.graphoutput.GraphMLWriter;
+import kieker.analysis.trace.traversal.NamedGraph;
+import kieker.analysis.trace.traversal.TraceTraverserStage;
 import kieker.analysis.traceanalysisdomain.Trace;
 import kieker.common.record.IMonitoringRecord;
 import kieker.common.record.controlflow.OperationExecutionRecord;
@@ -65,6 +69,22 @@ public final class TraceReconstructionComposite extends AbstractCompositeStage {
 		super.connectPorts(merger.getOutputPort(), distributor.getInputPort());
 		super.connectPorts(distributor.getNewOutputPort(), this.tracesCollector.getInputPort());
 		super.connectPorts(distributor.getNewOutputPort(), this.statisticsDecorator.getInputPort());
+
+		// TODO New from Sören
+		// TODO move to own composite
+
+		String graphFilesOutputDir = "example/event monitoring log/output"; // TODO Temp hard coded
+
+		TraceTraverserStage traceTraverserStage = new TraceTraverserStage();
+		final Distributor<NamedGraph> graphDistributor = new Distributor<>(new CopyByReferenceStrategy());
+		GraphMLWriter graphMLWriter = new GraphMLWriter(graphFilesOutputDir);
+		DotGraphWriter dotGraphWriter = new DotGraphWriter(graphFilesOutputDir);
+
+		super.connectPorts(distributor.getNewOutputPort(), traceTraverserStage.getInputPort());
+		super.connectPorts(traceTraverserStage.getOutputPort(), graphDistributor.getInputPort());
+		super.connectPorts(graphDistributor.getNewOutputPort(), graphMLWriter.getInputPort());
+		super.connectPorts(graphDistributor.getNewOutputPort(), dotGraphWriter.getInputPort());
+
 	}
 
 	public int countIncompleteTraces() {