diff --git a/src/main/java/experiment/Experiment1.java b/src/main/java/experiment/Experiment1.java
index e663f5831a133ded68f0d6845418ac7a18a19079..ef49b2c03a9f1d1149834397b8d7bf30c10b1804 100644
--- a/src/main/java/experiment/Experiment1.java
+++ b/src/main/java/experiment/Experiment1.java
@@ -24,15 +24,15 @@ import java.util.List;
 import java.util.Map;
 import java.util.concurrent.Callable;
 
-import teetime.framework.concurrent.StageTerminationPolicy;
-import teetime.framework.concurrent.WorkerThread;
-import teetime.framework.core.Analysis;
-import teetime.framework.core.IStage;
-import teetime.framework.core.Pipeline;
-import teetime.framework.sequential.MethodCallPipe;
-import teetime.framework.sequential.QueuePipe;
-import teetime.stage.NoopFilter;
 import teetime.util.StatisticsUtil;
+import teetime.variant.explicitScheduling.framework.concurrent.StageTerminationPolicy;
+import teetime.variant.explicitScheduling.framework.concurrent.WorkerThread;
+import teetime.variant.explicitScheduling.framework.core.Analysis;
+import teetime.variant.explicitScheduling.framework.core.IStage;
+import teetime.variant.explicitScheduling.framework.core.Pipeline;
+import teetime.variant.explicitScheduling.framework.sequential.MethodCallPipe;
+import teetime.variant.explicitScheduling.framework.sequential.QueuePipe;
+import teetime.variant.explicitScheduling.stage.NoopFilter;
 
 import kieker.analysis.AnalysisController;
 import kieker.analysis.IAnalysisController;
@@ -138,7 +138,7 @@ public class Experiment1 {
 			@SuppressWarnings("unchecked")
 			final NoopFilter<Object>[] noopFilters = new NoopFilter[numberOfFilters];
 			// create stages
-			final teetime.stage.basic.ObjectProducer<Object> objectProducer = new teetime.stage.basic.ObjectProducer<Object>(
+			final teetime.variant.explicitScheduling.stage.basic.ObjectProducer<Object> objectProducer = new teetime.variant.explicitScheduling.stage.basic.ObjectProducer<Object>(
 					numberOfObjectsToSend, new Callable<Object>() {
 						@Override
 						public Object call() throws Exception {
@@ -206,7 +206,7 @@ public class Experiment1 {
 			@SuppressWarnings("unchecked")
 			final NoopFilter<Object>[] noopFilters = new NoopFilter[numberOfFilters];
 			// create stages
-			final teetime.stage.basic.ObjectProducer<Object> objectProducer = new teetime.stage.basic.ObjectProducer<Object>(
+			final teetime.variant.explicitScheduling.stage.basic.ObjectProducer<Object> objectProducer = new teetime.variant.explicitScheduling.stage.basic.ObjectProducer<Object>(
 					numberOfObjectsToSend, new Callable<Object>() {
 						@Override
 						public Object call() throws Exception {
diff --git a/src/main/java/experiment/Experiment2.java b/src/main/java/experiment/Experiment2.java
index 9b8a7962f714e64ae3ebfab1f424dcded2cad4d3..13c08fc89a9eef1b063c63ef1c394362557a544a 100644
--- a/src/main/java/experiment/Experiment2.java
+++ b/src/main/java/experiment/Experiment2.java
@@ -33,15 +33,16 @@ import kieker.analysis.stage.ObjectProducer;
 import kieker.analysis.stage.StartTimestampFilter;
 import kieker.analysis.stage.StopTimestampFilter;
 import kieker.common.configuration.Configuration;
-import teetime.examples.throughput.TimestampObject;
-import teetime.framework.concurrent.WorkerThread;
-import teetime.framework.core.Analysis;
-import teetime.framework.core.IStage;
-import teetime.framework.core.Pipeline;
-import teetime.framework.sequential.MethodCallPipe;
-import teetime.framework.sequential.QueuePipe;
-import teetime.stage.NoopFilter;
+
 import teetime.util.StatisticsUtil;
+import teetime.variant.explicitScheduling.examples.throughput.TimestampObject;
+import teetime.variant.explicitScheduling.framework.concurrent.WorkerThread;
+import teetime.variant.explicitScheduling.framework.core.Analysis;
+import teetime.variant.explicitScheduling.framework.core.IStage;
+import teetime.variant.explicitScheduling.framework.core.Pipeline;
+import teetime.variant.explicitScheduling.framework.sequential.MethodCallPipe;
+import teetime.variant.explicitScheduling.framework.sequential.QueuePipe;
+import teetime.variant.explicitScheduling.stage.NoopFilter;
 
 /**
  * @author Nils Christian Ehmke
@@ -146,19 +147,19 @@ public class Experiment2 {
 			@SuppressWarnings("unchecked")
 			final NoopFilter<TimestampObject>[] noopFilters = new NoopFilter[numberOfFilters];
 			// create stages
-			final teetime.stage.basic.ObjectProducer<TimestampObject> objectProducer = new teetime.stage.basic.ObjectProducer<TimestampObject>(
+			final teetime.variant.explicitScheduling.stage.basic.ObjectProducer<TimestampObject> objectProducer = new teetime.variant.explicitScheduling.stage.basic.ObjectProducer<TimestampObject>(
 					numberOfObjectsToSend, new Callable<TimestampObject>() {
 						@Override
 						public TimestampObject call() throws Exception {
 							return new TimestampObject();
 						}
 					});
-			final teetime.stage.StartTimestampFilter startTimestampFilter = new teetime.stage.StartTimestampFilter();
+			final teetime.variant.explicitScheduling.stage.StartTimestampFilter startTimestampFilter = new teetime.variant.explicitScheduling.stage.StartTimestampFilter();
 			for (int i = 0; i < noopFilters.length; i++) {
 				noopFilters[i] = new NoopFilter<TimestampObject>();
 			}
-			final teetime.stage.StopTimestampFilter stopTimestampFilter = new teetime.stage.StopTimestampFilter();
-			final teetime.stage.CollectorSink<TimestampObject> collectorSink = new teetime.stage.CollectorSink<TimestampObject>(
+			final teetime.variant.explicitScheduling.stage.StopTimestampFilter stopTimestampFilter = new teetime.variant.explicitScheduling.stage.StopTimestampFilter();
+			final teetime.variant.explicitScheduling.stage.CollectorSink<TimestampObject> collectorSink = new teetime.variant.explicitScheduling.stage.CollectorSink<TimestampObject>(
 					this.timestampObjects);
 
 			// add each stage to a stage list
diff --git a/src/main/java/kieker/analysis/examples/ThroughputTimestampAnalysis.java b/src/main/java/kieker/analysis/examples/ThroughputTimestampAnalysis.java
index 483957ad91c928e269a19478dded2bcb52a9f72b..83924f8ce3c8955f511fc822a393112b9bcb691f 100644
--- a/src/main/java/kieker/analysis/examples/ThroughputTimestampAnalysis.java
+++ b/src/main/java/kieker/analysis/examples/ThroughputTimestampAnalysis.java
@@ -27,7 +27,8 @@ import kieker.analysis.stage.ObjectProducer;
 import kieker.analysis.stage.StartTimestampFilter;
 import kieker.analysis.stage.StopTimestampFilter;
 import kieker.common.configuration.Configuration;
-import teetime.examples.throughput.TimestampObject;
+
+import teetime.variant.explicitScheduling.examples.throughput.TimestampObject;
 
 /**
  * @author Nils Christian Ehmke
diff --git a/src/main/java/kieker/analysis/stage/MappingFileParser.java b/src/main/java/kieker/analysis/stage/MappingFileParser.java
index 149c93f8d0b80f5c8f3cb9f9fe5f11a1d60f8cb8..882ffbdd7dc01374fe143a181a790922d02bcb7d 100644
--- a/src/main/java/kieker/analysis/stage/MappingFileParser.java
+++ b/src/main/java/kieker/analysis/stage/MappingFileParser.java
@@ -25,7 +25,8 @@ import java.util.Map;
 
 import kieker.common.logging.Log;
 import kieker.common.util.filesystem.FSUtil;
-import teetime.stage.kieker.className.ClassNameRegistry;
+
+import teetime.variant.explicitScheduling.stage.kieker.className.ClassNameRegistry;
 
 
 /**
diff --git a/src/main/java/kieker/analysis/stage/RecordFromBinaryFileCreator.java b/src/main/java/kieker/analysis/stage/RecordFromBinaryFileCreator.java
index e86bf1e0aee660f7d3692ccbc931a72b321f9cbf..31598c301740b3bd9362431c6693f90b30f5859c 100644
--- a/src/main/java/kieker/analysis/stage/RecordFromBinaryFileCreator.java
+++ b/src/main/java/kieker/analysis/stage/RecordFromBinaryFileCreator.java
@@ -20,8 +20,8 @@ import java.io.EOFException;
 import java.io.File;
 import java.io.IOException;
 
-import teetime.stage.kieker.className.ClassNameRegistry;
-import teetime.stage.kieker.className.ClassNameRegistryRepository;
+import teetime.variant.explicitScheduling.stage.kieker.className.ClassNameRegistry;
+import teetime.variant.explicitScheduling.stage.kieker.className.ClassNameRegistryRepository;
 
 import kieker.common.exception.MonitoringRecordException;
 import kieker.common.logging.Log;
diff --git a/src/main/java/kieker/analysis/stage/RecordFromTextLineCreator.java b/src/main/java/kieker/analysis/stage/RecordFromTextLineCreator.java
index 61f9d20f757857b4bdafca9fe162314445cd533a..e428980cfd32b661b397a112ee5a5d054d43409d 100644
--- a/src/main/java/kieker/analysis/stage/RecordFromTextLineCreator.java
+++ b/src/main/java/kieker/analysis/stage/RecordFromTextLineCreator.java
@@ -23,9 +23,10 @@ import kieker.common.exception.UnknownRecordTypeException;
 import kieker.common.record.AbstractMonitoringRecord;
 import kieker.common.record.IMonitoringRecord;
 import kieker.common.record.controlflow.OperationExecutionRecord;
-import teetime.stage.MappingException;
-import teetime.stage.kieker.className.ClassNameRegistry;
-import teetime.stage.kieker.className.ClassNameRegistryRepository;
+
+import teetime.variant.explicitScheduling.stage.MappingException;
+import teetime.variant.explicitScheduling.stage.kieker.className.ClassNameRegistry;
+import teetime.variant.explicitScheduling.stage.kieker.className.ClassNameRegistryRepository;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/kieker/analysis/stage/StartTimestampFilter.java b/src/main/java/kieker/analysis/stage/StartTimestampFilter.java
index f3b61b05e083378edc8d511512513a42c0417f9d..0daf1ad56a72d3b9669bf2d0435fd3501cd72e9b 100644
--- a/src/main/java/kieker/analysis/stage/StartTimestampFilter.java
+++ b/src/main/java/kieker/analysis/stage/StartTimestampFilter.java
@@ -21,7 +21,8 @@ import kieker.analysis.plugin.annotation.OutputPort;
 import kieker.analysis.plugin.annotation.Plugin;
 import kieker.analysis.plugin.filter.AbstractFilterPlugin;
 import kieker.common.configuration.Configuration;
-import teetime.examples.throughput.TimestampObject;
+
+import teetime.variant.explicitScheduling.examples.throughput.TimestampObject;
 
 @Plugin(outputPorts = @OutputPort(name = StartTimestampFilter.OUTPUT_PORT_NAME))
 public class StartTimestampFilter extends AbstractFilterPlugin {
diff --git a/src/main/java/kieker/analysis/stage/StopTimestampFilter.java b/src/main/java/kieker/analysis/stage/StopTimestampFilter.java
index eac2426d99ccbde189c77371366ad0f67bec26cd..db723d7b5aa9b916bacb6373f64efaa3507d1522 100644
--- a/src/main/java/kieker/analysis/stage/StopTimestampFilter.java
+++ b/src/main/java/kieker/analysis/stage/StopTimestampFilter.java
@@ -21,7 +21,8 @@ import kieker.analysis.plugin.annotation.OutputPort;
 import kieker.analysis.plugin.annotation.Plugin;
 import kieker.analysis.plugin.filter.AbstractFilterPlugin;
 import kieker.common.configuration.Configuration;
-import teetime.examples.throughput.TimestampObject;
+
+import teetime.variant.explicitScheduling.examples.throughput.TimestampObject;
 
 @Plugin(outputPorts = @OutputPort(name = StopTimestampFilter.OUTPUT_PORT_NAME))
 public class StopTimestampFilter extends AbstractFilterPlugin {
diff --git a/src/main/java/teetime/framework/core/ReservableContext.java b/src/main/java/teetime/framework/core/ReservableContext.java
deleted file mode 100644
index 26eda806de48c9cef856a5a9bfe1500915ecce16..0000000000000000000000000000000000000000
--- a/src/main/java/teetime/framework/core/ReservableContext.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package teetime.framework.core;
-
-public class ReservableContext {
-
-}
diff --git a/src/test/java/teetime/examples/throughput/methodcall/ArrayWrapper.java b/src/main/java/teetime/util/ArrayWrapper.java
similarity index 91%
rename from src/test/java/teetime/examples/throughput/methodcall/ArrayWrapper.java
rename to src/main/java/teetime/util/ArrayWrapper.java
index 7cb232b25d40c21738714667c9855ea66cdad9ae..96e17fb56c51fe01b1b4a172d29a25ec59beab77 100644
--- a/src/test/java/teetime/examples/throughput/methodcall/ArrayWrapper.java
+++ b/src/main/java/teetime/util/ArrayWrapper.java
@@ -1,4 +1,4 @@
-package teetime.examples.throughput.methodcall;
+package teetime.util;
 
 public final class ArrayWrapper<T> {
 
diff --git a/src/test/java/teetime/examples/throughput/methodcall/ConstructorClosure.java b/src/main/java/teetime/util/ConstructorClosure.java
similarity index 60%
rename from src/test/java/teetime/examples/throughput/methodcall/ConstructorClosure.java
rename to src/main/java/teetime/util/ConstructorClosure.java
index 9577fef609efeeb52f3b61e8683d6b5c0af7abeb..4fefbf487c0337164c3732632c4f99c5c5f1c15b 100644
--- a/src/test/java/teetime/examples/throughput/methodcall/ConstructorClosure.java
+++ b/src/main/java/teetime/util/ConstructorClosure.java
@@ -1,4 +1,4 @@
-package teetime.examples.throughput.methodcall;
+package teetime.util;
 
 public interface ConstructorClosure<O> {
 
diff --git a/src/main/java/teetime/util/StatisticsUtil.java b/src/main/java/teetime/util/StatisticsUtil.java
index 5690d1ceabde332d354a1ec0147559fac2741a25..e1dd1fff410f3cc99bb16862ecc297cfd91abf60 100644
--- a/src/main/java/teetime/util/StatisticsUtil.java
+++ b/src/main/java/teetime/util/StatisticsUtil.java
@@ -23,7 +23,7 @@ import java.util.Map;
 import java.util.Map.Entry;
 import java.util.concurrent.TimeUnit;
 
-import teetime.examples.throughput.TimestampObject;
+import teetime.variant.explicitScheduling.examples.throughput.TimestampObject;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/examples/countWords/ConcurrentCountWordsAnalysis.java b/src/main/java/teetime/variant/explicitScheduling/examples/countWords/ConcurrentCountWordsAnalysis.java
similarity index 87%
rename from src/main/java/teetime/examples/countWords/ConcurrentCountWordsAnalysis.java
rename to src/main/java/teetime/variant/explicitScheduling/examples/countWords/ConcurrentCountWordsAnalysis.java
index 26d7ecc99523404ff133864fd10bbcab1de1d78d..5ebe8aff7d5e6f2651d73adcb7c165705ed310ea 100644
--- a/src/main/java/teetime/examples/countWords/ConcurrentCountWordsAnalysis.java
+++ b/src/main/java/teetime/variant/explicitScheduling/examples/countWords/ConcurrentCountWordsAnalysis.java
@@ -14,32 +14,32 @@
  * limitations under the License.
  ***************************************************************************/
 
-package teetime.examples.countWords;
+package teetime.variant.explicitScheduling.examples.countWords;
 
 import java.io.File;
 import java.util.LinkedList;
 import java.util.List;
 
-import teetime.framework.concurrent.ConcurrentWorkStealingPipe;
-import teetime.framework.concurrent.ConcurrentWorkStealingPipeFactory;
-import teetime.framework.concurrent.SingleProducerSingleConsumerPipe;
-import teetime.framework.concurrent.StageTerminationPolicy;
-import teetime.framework.concurrent.WorkerThread;
-import teetime.framework.core.Analysis;
-import teetime.framework.core.IInputPort;
-import teetime.framework.core.IInputPort.PortState;
-import teetime.framework.core.IOutputPort;
-import teetime.framework.core.IPipeline;
-import teetime.framework.core.ISink;
-import teetime.framework.core.ISource;
-import teetime.framework.core.IStage;
-import teetime.framework.core.Pipeline;
-import teetime.framework.sequential.MethodCallPipe;
-import teetime.framework.sequential.QueuePipe;
-import teetime.stage.basic.RepeaterSource;
-import teetime.stage.basic.distributor.Distributor;
-import teetime.stage.basic.merger.Merger;
 import teetime.util.Pair;
+import teetime.variant.explicitScheduling.framework.concurrent.ConcurrentWorkStealingPipe;
+import teetime.variant.explicitScheduling.framework.concurrent.ConcurrentWorkStealingPipeFactory;
+import teetime.variant.explicitScheduling.framework.concurrent.SingleProducerSingleConsumerPipe;
+import teetime.variant.explicitScheduling.framework.concurrent.StageTerminationPolicy;
+import teetime.variant.explicitScheduling.framework.concurrent.WorkerThread;
+import teetime.variant.explicitScheduling.framework.core.Analysis;
+import teetime.variant.explicitScheduling.framework.core.IInputPort;
+import teetime.variant.explicitScheduling.framework.core.IOutputPort;
+import teetime.variant.explicitScheduling.framework.core.IPipeline;
+import teetime.variant.explicitScheduling.framework.core.ISink;
+import teetime.variant.explicitScheduling.framework.core.ISource;
+import teetime.variant.explicitScheduling.framework.core.IStage;
+import teetime.variant.explicitScheduling.framework.core.Pipeline;
+import teetime.variant.explicitScheduling.framework.core.IInputPort.PortState;
+import teetime.variant.explicitScheduling.framework.sequential.MethodCallPipe;
+import teetime.variant.explicitScheduling.framework.sequential.QueuePipe;
+import teetime.variant.explicitScheduling.stage.basic.RepeaterSource;
+import teetime.variant.explicitScheduling.stage.basic.distributor.Distributor;
+import teetime.variant.explicitScheduling.stage.basic.merger.Merger;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/examples/countWords/CountWordsAnalysis.java b/src/main/java/teetime/variant/explicitScheduling/examples/countWords/CountWordsAnalysis.java
similarity index 85%
rename from src/main/java/teetime/examples/countWords/CountWordsAnalysis.java
rename to src/main/java/teetime/variant/explicitScheduling/examples/countWords/CountWordsAnalysis.java
index 1760d8addd25bc1090f8d11526680b9f1a8bd125..feba3ab0419dfcd64cba613fd1677d678977265c 100644
--- a/src/main/java/teetime/examples/countWords/CountWordsAnalysis.java
+++ b/src/main/java/teetime/variant/explicitScheduling/examples/countWords/CountWordsAnalysis.java
@@ -14,23 +14,23 @@
  * limitations under the License.
  ***************************************************************************/
 
-package teetime.examples.countWords;
+package teetime.variant.explicitScheduling.examples.countWords;
 
 import java.io.File;
 import java.util.LinkedList;
 import java.util.List;
 
-import teetime.framework.core.AbstractFilter;
-import teetime.framework.core.Analysis;
-import teetime.framework.core.IInputPort.PortState;
-import teetime.framework.core.IPipeline;
-import teetime.framework.core.IStage;
-import teetime.framework.core.Pipeline;
-import teetime.framework.sequential.MethodCallPipe;
-import teetime.stage.basic.RepeaterSource;
-import teetime.stage.basic.distributor.Distributor;
-import teetime.stage.basic.merger.Merger;
 import teetime.util.Pair;
+import teetime.variant.explicitScheduling.framework.core.AbstractFilter;
+import teetime.variant.explicitScheduling.framework.core.Analysis;
+import teetime.variant.explicitScheduling.framework.core.IPipeline;
+import teetime.variant.explicitScheduling.framework.core.IStage;
+import teetime.variant.explicitScheduling.framework.core.Pipeline;
+import teetime.variant.explicitScheduling.framework.core.IInputPort.PortState;
+import teetime.variant.explicitScheduling.framework.sequential.MethodCallPipe;
+import teetime.variant.explicitScheduling.stage.basic.RepeaterSource;
+import teetime.variant.explicitScheduling.stage.basic.distributor.Distributor;
+import teetime.variant.explicitScheduling.stage.basic.merger.Merger;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/examples/countWords/CountWordsStage.java b/src/main/java/teetime/variant/explicitScheduling/examples/countWords/CountWordsStage.java
similarity index 87%
rename from src/main/java/teetime/examples/countWords/CountWordsStage.java
rename to src/main/java/teetime/variant/explicitScheduling/examples/countWords/CountWordsStage.java
index 08839930c14ef69349eb192696c85ea1111083a9..33e8f9c28ebe685781b3f08059a779356e3c0263 100644
--- a/src/main/java/teetime/examples/countWords/CountWordsStage.java
+++ b/src/main/java/teetime/variant/explicitScheduling/examples/countWords/CountWordsStage.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  ***************************************************************************/
 
-package teetime.examples.countWords;
+package teetime.variant.explicitScheduling.examples.countWords;
 
 import java.io.BufferedReader;
 import java.io.File;
@@ -24,11 +24,11 @@ import java.io.IOException;
 import java.io.InputStreamReader;
 import java.util.regex.Pattern;
 
-import teetime.framework.core.AbstractFilter;
-import teetime.framework.core.Context;
-import teetime.framework.core.IInputPort;
-import teetime.framework.core.IOutputPort;
 import teetime.util.Pair;
+import teetime.variant.explicitScheduling.framework.core.AbstractFilter;
+import teetime.variant.explicitScheduling.framework.core.Context;
+import teetime.variant.explicitScheduling.framework.core.IInputPort;
+import teetime.variant.explicitScheduling.framework.core.IOutputPort;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/examples/countWords/DirectoryName2Files.java b/src/main/java/teetime/variant/explicitScheduling/examples/countWords/DirectoryName2Files.java
similarity index 83%
rename from src/main/java/teetime/examples/countWords/DirectoryName2Files.java
rename to src/main/java/teetime/variant/explicitScheduling/examples/countWords/DirectoryName2Files.java
index 5c99f80cb84fa0c63c704e87c3d1869d784203db..54f422be913072e6c340362934d4360e451af231 100644
--- a/src/main/java/teetime/examples/countWords/DirectoryName2Files.java
+++ b/src/main/java/teetime/variant/explicitScheduling/examples/countWords/DirectoryName2Files.java
@@ -14,14 +14,14 @@
  * limitations under the License.
  ***************************************************************************/
 
-package teetime.examples.countWords;
+package teetime.variant.explicitScheduling.examples.countWords;
 
 import java.io.File;
 
-import teetime.framework.core.AbstractFilter;
-import teetime.framework.core.Context;
-import teetime.framework.core.IInputPort;
-import teetime.framework.core.IOutputPort;
+import teetime.variant.explicitScheduling.framework.core.AbstractFilter;
+import teetime.variant.explicitScheduling.framework.core.Context;
+import teetime.variant.explicitScheduling.framework.core.IInputPort;
+import teetime.variant.explicitScheduling.framework.core.IOutputPort;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/examples/countWords/OutputWordsCountSink.java b/src/main/java/teetime/variant/explicitScheduling/examples/countWords/OutputWordsCountSink.java
similarity index 87%
rename from src/main/java/teetime/examples/countWords/OutputWordsCountSink.java
rename to src/main/java/teetime/variant/explicitScheduling/examples/countWords/OutputWordsCountSink.java
index 4e9b54a5d1431210d54ca03a04b35b16135456c3..8ac5dfe528480d2b3a214bf24472eff1ad1bcc07 100644
--- a/src/main/java/teetime/examples/countWords/OutputWordsCountSink.java
+++ b/src/main/java/teetime/variant/explicitScheduling/examples/countWords/OutputWordsCountSink.java
@@ -14,14 +14,14 @@
  * limitations under the License.
  ***************************************************************************/
 
-package teetime.examples.countWords;
+package teetime.variant.explicitScheduling.examples.countWords;
 
 import java.io.File;
 
-import teetime.framework.core.AbstractFilter;
-import teetime.framework.core.Context;
-import teetime.framework.core.IInputPort;
 import teetime.util.Pair;
+import teetime.variant.explicitScheduling.framework.core.AbstractFilter;
+import teetime.variant.explicitScheduling.framework.core.Context;
+import teetime.variant.explicitScheduling.framework.core.IInputPort;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/examples/countWords/QueuedCountWordsAnalysis.java b/src/main/java/teetime/variant/explicitScheduling/examples/countWords/QueuedCountWordsAnalysis.java
similarity index 82%
rename from src/main/java/teetime/examples/countWords/QueuedCountWordsAnalysis.java
rename to src/main/java/teetime/variant/explicitScheduling/examples/countWords/QueuedCountWordsAnalysis.java
index e686457e3526762656554ec32840b80305a4fc66..e77ac45fa005427665525078df7cb0a16b3e2b9b 100644
--- a/src/main/java/teetime/examples/countWords/QueuedCountWordsAnalysis.java
+++ b/src/main/java/teetime/variant/explicitScheduling/examples/countWords/QueuedCountWordsAnalysis.java
@@ -14,26 +14,26 @@
  * limitations under the License.
  ***************************************************************************/
 
-package teetime.examples.countWords;
+package teetime.variant.explicitScheduling.examples.countWords;
 
 import java.io.File;
 import java.util.LinkedList;
 import java.util.List;
 
-import teetime.framework.concurrent.StageTerminationPolicy;
-import teetime.framework.concurrent.WorkerThread;
-import teetime.framework.core.AbstractFilter;
-import teetime.framework.core.Analysis;
-import teetime.framework.core.IInputPort.PortState;
-import teetime.framework.core.IPipeline;
-import teetime.framework.core.IStage;
-import teetime.framework.core.Pipeline;
-import teetime.framework.sequential.MethodCallPipe;
-import teetime.framework.sequential.QueuePipe;
-import teetime.stage.basic.RepeaterSource;
-import teetime.stage.basic.distributor.Distributor;
-import teetime.stage.basic.merger.Merger;
 import teetime.util.Pair;
+import teetime.variant.explicitScheduling.framework.concurrent.StageTerminationPolicy;
+import teetime.variant.explicitScheduling.framework.concurrent.WorkerThread;
+import teetime.variant.explicitScheduling.framework.core.AbstractFilter;
+import teetime.variant.explicitScheduling.framework.core.Analysis;
+import teetime.variant.explicitScheduling.framework.core.IPipeline;
+import teetime.variant.explicitScheduling.framework.core.IStage;
+import teetime.variant.explicitScheduling.framework.core.Pipeline;
+import teetime.variant.explicitScheduling.framework.core.IInputPort.PortState;
+import teetime.variant.explicitScheduling.framework.sequential.MethodCallPipe;
+import teetime.variant.explicitScheduling.framework.sequential.QueuePipe;
+import teetime.variant.explicitScheduling.stage.basic.RepeaterSource;
+import teetime.variant.explicitScheduling.stage.basic.distributor.Distributor;
+import teetime.variant.explicitScheduling.stage.basic.merger.Merger;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/examples/countingObjects/CountingObjectsAnalysis.java b/src/main/java/teetime/variant/explicitScheduling/examples/countingObjects/CountingObjectsAnalysis.java
similarity index 84%
rename from src/main/java/teetime/examples/countingObjects/CountingObjectsAnalysis.java
rename to src/main/java/teetime/variant/explicitScheduling/examples/countingObjects/CountingObjectsAnalysis.java
index cee84c0b3525aac0fc6933713fe79e94216494ef..4e91a737a3e1dad476dfb1b9482bbeaea760c1ca 100644
--- a/src/main/java/teetime/examples/countingObjects/CountingObjectsAnalysis.java
+++ b/src/main/java/teetime/variant/explicitScheduling/examples/countingObjects/CountingObjectsAnalysis.java
@@ -14,22 +14,22 @@
  * limitations under the License.
  ***************************************************************************/
 
-package teetime.examples.countingObjects;
+package teetime.variant.explicitScheduling.examples.countingObjects;
 
 import java.io.File;
 import java.util.Arrays;
 import java.util.LinkedList;
 import java.util.List;
 
-import teetime.examples.countWords.DirectoryName2Files;
-import teetime.framework.core.AbstractFilter;
-import teetime.framework.core.Analysis;
-import teetime.framework.core.IPipeline;
-import teetime.framework.core.IStage;
-import teetime.framework.sequential.MethodCallPipe;
-import teetime.stage.TypeLoggerFilter;
-import teetime.stage.basic.RepeaterSource;
-import teetime.stage.composite.CycledCountingFilter;
+import teetime.variant.explicitScheduling.examples.countWords.DirectoryName2Files;
+import teetime.variant.explicitScheduling.framework.core.AbstractFilter;
+import teetime.variant.explicitScheduling.framework.core.Analysis;
+import teetime.variant.explicitScheduling.framework.core.IPipeline;
+import teetime.variant.explicitScheduling.framework.core.IStage;
+import teetime.variant.explicitScheduling.framework.sequential.MethodCallPipe;
+import teetime.variant.explicitScheduling.stage.TypeLoggerFilter;
+import teetime.variant.explicitScheduling.stage.basic.RepeaterSource;
+import teetime.variant.explicitScheduling.stage.composite.CycledCountingFilter;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/examples/recordReader/RecordReaderAnalysis.java b/src/main/java/teetime/variant/explicitScheduling/examples/recordReader/RecordReaderAnalysis.java
similarity index 78%
rename from src/main/java/teetime/examples/recordReader/RecordReaderAnalysis.java
rename to src/main/java/teetime/variant/explicitScheduling/examples/recordReader/RecordReaderAnalysis.java
index 360629b6a9a8e4db73d82d0e54f5a647deb19916..670aca5716ceb3935d2ea6688dd9378f44e0b18f 100644
--- a/src/main/java/teetime/examples/recordReader/RecordReaderAnalysis.java
+++ b/src/main/java/teetime/variant/explicitScheduling/examples/recordReader/RecordReaderAnalysis.java
@@ -13,29 +13,29 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.examples.recordReader;
+package teetime.variant.explicitScheduling.examples.recordReader;
 
 import java.io.File;
 import java.util.LinkedList;
 import java.util.List;
 
-import teetime.framework.concurrent.StageTerminationPolicy;
-import teetime.framework.concurrent.WorkerThread;
-import teetime.framework.core.AbstractFilter;
-import teetime.framework.core.Analysis;
-import teetime.framework.core.IInputPort;
-import teetime.framework.core.IOutputPort;
-import teetime.framework.core.IPipe;
-import teetime.framework.core.IPipeline;
-import teetime.framework.core.ISink;
-import teetime.framework.core.ISource;
-import teetime.framework.core.IStage;
-import teetime.framework.sequential.MethodCallPipe;
-import teetime.framework.sequential.QueuePipe;
-import teetime.framework.util.BaseStage2StageExtractor;
-import teetime.stage.CollectorSink;
-import teetime.stage.kieker.File2RecordFilter;
-import teetime.stage.kieker.className.ClassNameRegistryRepository;
+import teetime.variant.explicitScheduling.framework.concurrent.StageTerminationPolicy;
+import teetime.variant.explicitScheduling.framework.concurrent.WorkerThread;
+import teetime.variant.explicitScheduling.framework.core.AbstractFilter;
+import teetime.variant.explicitScheduling.framework.core.Analysis;
+import teetime.variant.explicitScheduling.framework.core.IInputPort;
+import teetime.variant.explicitScheduling.framework.core.IOutputPort;
+import teetime.variant.explicitScheduling.framework.core.IPipe;
+import teetime.variant.explicitScheduling.framework.core.IPipeline;
+import teetime.variant.explicitScheduling.framework.core.ISink;
+import teetime.variant.explicitScheduling.framework.core.ISource;
+import teetime.variant.explicitScheduling.framework.core.IStage;
+import teetime.variant.explicitScheduling.framework.sequential.MethodCallPipe;
+import teetime.variant.explicitScheduling.framework.sequential.QueuePipe;
+import teetime.variant.explicitScheduling.framework.util.BaseStage2StageExtractor;
+import teetime.variant.explicitScheduling.stage.CollectorSink;
+import teetime.variant.explicitScheduling.stage.kieker.File2RecordFilter;
+import teetime.variant.explicitScheduling.stage.kieker.className.ClassNameRegistryRepository;
 
 import kieker.common.record.IMonitoringRecord;
 
diff --git a/src/main/java/teetime/examples/throughput/ThroughputAnalysis.java b/src/main/java/teetime/variant/explicitScheduling/examples/throughput/ThroughputAnalysis.java
similarity index 81%
rename from src/main/java/teetime/examples/throughput/ThroughputAnalysis.java
rename to src/main/java/teetime/variant/explicitScheduling/examples/throughput/ThroughputAnalysis.java
index 65dfa7fdac77bd7a27f7c001c60f38b82a518055..796ba92d330a2cc3c9f4b367530f9cab19607455 100644
--- a/src/main/java/teetime/examples/throughput/ThroughputAnalysis.java
+++ b/src/main/java/teetime/variant/explicitScheduling/examples/throughput/ThroughputAnalysis.java
@@ -13,22 +13,22 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.examples.throughput;
+package teetime.variant.explicitScheduling.examples.throughput;
 
 import java.util.Arrays;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.concurrent.Callable;
 
-import teetime.framework.concurrent.StageTerminationPolicy;
-import teetime.framework.concurrent.WorkerThread;
-import teetime.framework.core.Analysis;
-import teetime.framework.core.IPipeline;
-import teetime.framework.core.IStage;
-import teetime.framework.core.Pipeline;
-import teetime.framework.sequential.QueuePipe;
-import teetime.stage.NoopFilter;
-import teetime.stage.basic.ObjectProducer;
+import teetime.variant.explicitScheduling.framework.concurrent.StageTerminationPolicy;
+import teetime.variant.explicitScheduling.framework.concurrent.WorkerThread;
+import teetime.variant.explicitScheduling.framework.core.Analysis;
+import teetime.variant.explicitScheduling.framework.core.IPipeline;
+import teetime.variant.explicitScheduling.framework.core.IStage;
+import teetime.variant.explicitScheduling.framework.core.Pipeline;
+import teetime.variant.explicitScheduling.framework.sequential.QueuePipe;
+import teetime.variant.explicitScheduling.stage.NoopFilter;
+import teetime.variant.explicitScheduling.stage.basic.ObjectProducer;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/examples/throughput/ThroughputTimestampAnalysis.java b/src/main/java/teetime/variant/explicitScheduling/examples/throughput/ThroughputTimestampAnalysis.java
similarity index 86%
rename from src/main/java/teetime/examples/throughput/ThroughputTimestampAnalysis.java
rename to src/main/java/teetime/variant/explicitScheduling/examples/throughput/ThroughputTimestampAnalysis.java
index 30faf7b8746e8a1f0b8c6eb1e0470164d2e6d10d..ff70703f5d6c32896808bc2162bea928653e4bbf 100644
--- a/src/main/java/teetime/examples/throughput/ThroughputTimestampAnalysis.java
+++ b/src/main/java/teetime/variant/explicitScheduling/examples/throughput/ThroughputTimestampAnalysis.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.examples.throughput;
+package teetime.variant.explicitScheduling.examples.throughput;
 
 import java.util.Arrays;
 import java.util.Collection;
@@ -22,19 +22,19 @@ import java.util.List;
 import java.util.concurrent.Callable;
 import java.util.concurrent.TimeUnit;
 
-import teetime.framework.concurrent.StageTerminationPolicy;
-import teetime.framework.concurrent.WorkerThread;
-import teetime.framework.core.Analysis;
-import teetime.framework.core.IPipeline;
-import teetime.framework.core.IStage;
-import teetime.framework.core.Pipeline;
-import teetime.framework.sequential.MethodCallPipe;
-import teetime.framework.sequential.ReservableQueuePipe;
-import teetime.stage.CollectorSink;
-import teetime.stage.NoopFilter;
-import teetime.stage.StartTimestampFilter;
-import teetime.stage.StopTimestampFilter;
-import teetime.stage.basic.ObjectProducer;
+import teetime.variant.explicitScheduling.framework.concurrent.StageTerminationPolicy;
+import teetime.variant.explicitScheduling.framework.concurrent.WorkerThread;
+import teetime.variant.explicitScheduling.framework.core.Analysis;
+import teetime.variant.explicitScheduling.framework.core.IPipeline;
+import teetime.variant.explicitScheduling.framework.core.IStage;
+import teetime.variant.explicitScheduling.framework.core.Pipeline;
+import teetime.variant.explicitScheduling.framework.sequential.MethodCallPipe;
+import teetime.variant.explicitScheduling.framework.sequential.ReservableQueuePipe;
+import teetime.variant.explicitScheduling.stage.CollectorSink;
+import teetime.variant.explicitScheduling.stage.NoopFilter;
+import teetime.variant.explicitScheduling.stage.StartTimestampFilter;
+import teetime.variant.explicitScheduling.stage.StopTimestampFilter;
+import teetime.variant.explicitScheduling.stage.basic.ObjectProducer;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/examples/throughput/TimestampObject.java b/src/main/java/teetime/variant/explicitScheduling/examples/throughput/TimestampObject.java
similarity index 96%
rename from src/main/java/teetime/examples/throughput/TimestampObject.java
rename to src/main/java/teetime/variant/explicitScheduling/examples/throughput/TimestampObject.java
index 9aa937919ec8199879f9c92ae806b0ab7b60730d..6e875bd9541ec86a9a65b811101a02bbf500f0ed 100644
--- a/src/main/java/teetime/examples/throughput/TimestampObject.java
+++ b/src/main/java/teetime/variant/explicitScheduling/examples/throughput/TimestampObject.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.examples.throughput;
+package teetime.variant.explicitScheduling.examples.throughput;
 
 /**
  * Object for performance evaluation
diff --git a/src/main/java/teetime/examples/traceReconstruction/TraceAnalysis.java b/src/main/java/teetime/variant/explicitScheduling/examples/traceReconstruction/TraceAnalysis.java
similarity index 91%
rename from src/main/java/teetime/examples/traceReconstruction/TraceAnalysis.java
rename to src/main/java/teetime/variant/explicitScheduling/examples/traceReconstruction/TraceAnalysis.java
index 29ce10a0aa82b1d8b85133f1c215425512b9d10b..c54039f79357e379d033adda9876770b4856845d 100644
--- a/src/main/java/teetime/examples/traceReconstruction/TraceAnalysis.java
+++ b/src/main/java/teetime/variant/explicitScheduling/examples/traceReconstruction/TraceAnalysis.java
@@ -13,11 +13,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.examples.traceReconstruction;
+package teetime.variant.explicitScheduling.examples.traceReconstruction;
 
 import kieker.common.util.filesystem.FSUtil;
-import teetime.framework.core.Analysis;
-import teetime.stage.predicate.FileExtensionPredicate;
+
+import teetime.variant.explicitScheduling.framework.core.Analysis;
+import teetime.variant.explicitScheduling.stage.predicate.FileExtensionPredicate;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/examples/traceReconstruction/TraceReconstructionAnalysis.java b/src/main/java/teetime/variant/explicitScheduling/examples/traceReconstruction/TraceReconstructionAnalysis.java
similarity index 75%
rename from src/main/java/teetime/examples/traceReconstruction/TraceReconstructionAnalysis.java
rename to src/main/java/teetime/variant/explicitScheduling/examples/traceReconstruction/TraceReconstructionAnalysis.java
index 94ed60cf77e40215a1a8c34dfff802797dda7837..bd24e17efce9f265dac680e9e5a5e8c2ff13aa2e 100644
--- a/src/main/java/teetime/examples/traceReconstruction/TraceReconstructionAnalysis.java
+++ b/src/main/java/teetime/variant/explicitScheduling/examples/traceReconstruction/TraceReconstructionAnalysis.java
@@ -13,22 +13,22 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.examples.traceReconstruction;
+package teetime.variant.explicitScheduling.examples.traceReconstruction;
 
 import java.util.LinkedList;
 import java.util.List;
 
-import teetime.framework.concurrent.StageTerminationPolicy;
-import teetime.framework.concurrent.WorkerThread;
-import teetime.framework.core.Analysis;
-import teetime.framework.core.IPipeline;
-import teetime.framework.core.IStage;
-import teetime.stage.FileExtensionFilter;
-import teetime.stage.io.File2TextLinesFilter;
-import teetime.stage.kieker.MonitoringLogDirectory2Files;
-import teetime.stage.kieker.className.ClassNameRegistryCreationFilter;
-import teetime.stage.kieker.className.ClassNameRegistryRepository;
-import teetime.stage.kieker.fileToRecord.textLine.TextLine2RecordFilter;
+import teetime.variant.explicitScheduling.framework.concurrent.StageTerminationPolicy;
+import teetime.variant.explicitScheduling.framework.concurrent.WorkerThread;
+import teetime.variant.explicitScheduling.framework.core.Analysis;
+import teetime.variant.explicitScheduling.framework.core.IPipeline;
+import teetime.variant.explicitScheduling.framework.core.IStage;
+import teetime.variant.explicitScheduling.stage.FileExtensionFilter;
+import teetime.variant.explicitScheduling.stage.io.File2TextLinesFilter;
+import teetime.variant.explicitScheduling.stage.kieker.MonitoringLogDirectory2Files;
+import teetime.variant.explicitScheduling.stage.kieker.className.ClassNameRegistryCreationFilter;
+import teetime.variant.explicitScheduling.stage.kieker.className.ClassNameRegistryRepository;
+import teetime.variant.explicitScheduling.stage.kieker.fileToRecord.textLine.TextLine2RecordFilter;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/examples/traceReconstruction/TraceReconstructionAnalysis2.java b/src/main/java/teetime/variant/explicitScheduling/examples/traceReconstruction/TraceReconstructionAnalysis2.java
similarity index 76%
rename from src/main/java/teetime/examples/traceReconstruction/TraceReconstructionAnalysis2.java
rename to src/main/java/teetime/variant/explicitScheduling/examples/traceReconstruction/TraceReconstructionAnalysis2.java
index 7f2d41db47394b7829efb3817cf9401ee4653782..8ae9a9ef6b3b58b11b60bd0df1a3d2cd92880cad 100644
--- a/src/main/java/teetime/examples/traceReconstruction/TraceReconstructionAnalysis2.java
+++ b/src/main/java/teetime/variant/explicitScheduling/examples/traceReconstruction/TraceReconstructionAnalysis2.java
@@ -13,34 +13,34 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.examples.traceReconstruction;
+package teetime.variant.explicitScheduling.examples.traceReconstruction;
 
 import java.util.LinkedList;
 import java.util.List;
 
-import teetime.framework.concurrent.StageTerminationPolicy;
-import teetime.framework.concurrent.WorkerThread;
-import teetime.framework.core.Analysis;
-import teetime.framework.core.IPipeline;
-import teetime.framework.core.IStage;
-import teetime.framework.core.Pipeline;
-import teetime.framework.sequential.QueuePipe;
-import teetime.stage.Cache;
-import teetime.stage.CountingFilter;
-import teetime.stage.InstanceOfFilter;
-import teetime.stage.io.File2TextLinesFilter;
-import teetime.stage.kieker.MonitoringLogDirectory2Files;
-import teetime.stage.kieker.className.ClassNameRegistryCreationFilter;
-import teetime.stage.kieker.className.ClassNameRegistryRepository;
-import teetime.stage.kieker.fileToRecord.textLine.TextLine2RecordFilter;
-import teetime.stage.kieker.traceReconstruction.TraceReconstructionFilter;
-import teetime.stage.predicate.IsIMonitoringRecordInRange;
-import teetime.stage.predicate.IsOperationExecutionRecordTraceIdPredicate;
-import teetime.stage.predicate.PredicateFilter;
-import teetime.stage.stringBuffer.StringBufferFilter;
-import teetime.stage.stringBuffer.handler.IMonitoringRecordHandler;
-import teetime.stage.stringBuffer.handler.StringHandler;
-import teetime.stage.util.TextLine;
+import teetime.variant.explicitScheduling.framework.concurrent.StageTerminationPolicy;
+import teetime.variant.explicitScheduling.framework.concurrent.WorkerThread;
+import teetime.variant.explicitScheduling.framework.core.Analysis;
+import teetime.variant.explicitScheduling.framework.core.IPipeline;
+import teetime.variant.explicitScheduling.framework.core.IStage;
+import teetime.variant.explicitScheduling.framework.core.Pipeline;
+import teetime.variant.explicitScheduling.framework.sequential.QueuePipe;
+import teetime.variant.explicitScheduling.stage.Cache;
+import teetime.variant.explicitScheduling.stage.CountingFilter;
+import teetime.variant.explicitScheduling.stage.InstanceOfFilter;
+import teetime.variant.explicitScheduling.stage.io.File2TextLinesFilter;
+import teetime.variant.explicitScheduling.stage.kieker.MonitoringLogDirectory2Files;
+import teetime.variant.explicitScheduling.stage.kieker.className.ClassNameRegistryCreationFilter;
+import teetime.variant.explicitScheduling.stage.kieker.className.ClassNameRegistryRepository;
+import teetime.variant.explicitScheduling.stage.kieker.fileToRecord.textLine.TextLine2RecordFilter;
+import teetime.variant.explicitScheduling.stage.kieker.traceReconstruction.TraceReconstructionFilter;
+import teetime.variant.explicitScheduling.stage.predicate.IsIMonitoringRecordInRange;
+import teetime.variant.explicitScheduling.stage.predicate.IsOperationExecutionRecordTraceIdPredicate;
+import teetime.variant.explicitScheduling.stage.predicate.PredicateFilter;
+import teetime.variant.explicitScheduling.stage.stringBuffer.StringBufferFilter;
+import teetime.variant.explicitScheduling.stage.stringBuffer.handler.IMonitoringRecordHandler;
+import teetime.variant.explicitScheduling.stage.stringBuffer.handler.StringHandler;
+import teetime.variant.explicitScheduling.stage.util.TextLine;
 
 import kieker.analysis.plugin.filter.flow.TraceEventRecords;
 import kieker.common.record.IMonitoringRecord;
diff --git a/src/main/java/teetime/framework/concurrent/ConcurrentPipeline.java.todo b/src/main/java/teetime/variant/explicitScheduling/framework/concurrent/ConcurrentPipeline.java.todo
similarity index 100%
rename from src/main/java/teetime/framework/concurrent/ConcurrentPipeline.java.todo
rename to src/main/java/teetime/variant/explicitScheduling/framework/concurrent/ConcurrentPipeline.java.todo
diff --git a/src/main/java/teetime/framework/concurrent/ConcurrentWorkStealingPipe.java b/src/main/java/teetime/variant/explicitScheduling/framework/concurrent/ConcurrentWorkStealingPipe.java
similarity index 89%
rename from src/main/java/teetime/framework/concurrent/ConcurrentWorkStealingPipe.java
rename to src/main/java/teetime/variant/explicitScheduling/framework/concurrent/ConcurrentWorkStealingPipe.java
index fcffbda770c58d775f64f006320c002bb8bd4a4c..587d2990254f6c2b9af9a319120cf2ca29f45432 100644
--- a/src/main/java/teetime/framework/concurrent/ConcurrentWorkStealingPipe.java
+++ b/src/main/java/teetime/variant/explicitScheduling/framework/concurrent/ConcurrentWorkStealingPipe.java
@@ -14,18 +14,18 @@
  * limitations under the License.
  ***************************************************************************/
 
-package teetime.framework.concurrent;
+package teetime.variant.explicitScheduling.framework.concurrent;
 
 import java.util.LinkedList;
 import java.util.List;
 
-import teetime.framework.concurrent.steal.IStealStrategy;
-import teetime.framework.core.AbstractPipe;
-import teetime.framework.core.IInputPort;
-import teetime.framework.core.IOutputPort;
-import teetime.framework.core.ISink;
-import teetime.framework.core.ISource;
 import teetime.util.concurrent.workstealing.CircularWorkStealingDeque;
+import teetime.variant.explicitScheduling.framework.concurrent.steal.IStealStrategy;
+import teetime.variant.explicitScheduling.framework.core.AbstractPipe;
+import teetime.variant.explicitScheduling.framework.core.IInputPort;
+import teetime.variant.explicitScheduling.framework.core.IOutputPort;
+import teetime.variant.explicitScheduling.framework.core.ISink;
+import teetime.variant.explicitScheduling.framework.core.ISource;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/framework/concurrent/ConcurrentWorkStealingPipeFactory.java b/src/main/java/teetime/variant/explicitScheduling/framework/concurrent/ConcurrentWorkStealingPipeFactory.java
similarity index 85%
rename from src/main/java/teetime/framework/concurrent/ConcurrentWorkStealingPipeFactory.java
rename to src/main/java/teetime/variant/explicitScheduling/framework/concurrent/ConcurrentWorkStealingPipeFactory.java
index c05668c3fbb465dff3e8b02c7f7f54088343eefc..8251942c427a8d9629d0b5441fcc98344f346a6d 100644
--- a/src/main/java/teetime/framework/concurrent/ConcurrentWorkStealingPipeFactory.java
+++ b/src/main/java/teetime/variant/explicitScheduling/framework/concurrent/ConcurrentWorkStealingPipeFactory.java
@@ -13,13 +13,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.framework.concurrent;
+package teetime.variant.explicitScheduling.framework.concurrent;
 
 import java.util.LinkedList;
 import java.util.List;
 
-import teetime.framework.concurrent.steal.IStealStrategy;
-import teetime.framework.concurrent.steal.StealIfEmptyStrategy;
+import teetime.variant.explicitScheduling.framework.concurrent.steal.IStealStrategy;
+import teetime.variant.explicitScheduling.framework.concurrent.steal.StealIfEmptyStrategy;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/framework/concurrent/IStageScheduler.java b/src/main/java/teetime/variant/explicitScheduling/framework/concurrent/IStageScheduler.java
similarity index 89%
rename from src/main/java/teetime/framework/concurrent/IStageScheduler.java
rename to src/main/java/teetime/variant/explicitScheduling/framework/concurrent/IStageScheduler.java
index c798ddb59f0e87c3645650bbca1528354f00f66c..cfbb5e809d6bf26c4e4f105ab0f9958cebdc2c17 100644
--- a/src/main/java/teetime/framework/concurrent/IStageScheduler.java
+++ b/src/main/java/teetime/variant/explicitScheduling/framework/concurrent/IStageScheduler.java
@@ -13,9 +13,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.framework.concurrent;
+package teetime.variant.explicitScheduling.framework.concurrent;
 
-import teetime.framework.core.IStage;
+import teetime.variant.explicitScheduling.framework.core.IStage;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/framework/concurrent/IStageWorkList.java b/src/main/java/teetime/variant/explicitScheduling/framework/concurrent/IStageWorkList.java
similarity index 85%
rename from src/main/java/teetime/framework/concurrent/IStageWorkList.java
rename to src/main/java/teetime/variant/explicitScheduling/framework/concurrent/IStageWorkList.java
index ee3073b97ff91d9ebe71cb09701191ee90340303..d0d1fc1e868d08aea48665e23e868c264200e813 100644
--- a/src/main/java/teetime/framework/concurrent/IStageWorkList.java
+++ b/src/main/java/teetime/variant/explicitScheduling/framework/concurrent/IStageWorkList.java
@@ -13,12 +13,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.framework.concurrent;
+package teetime.variant.explicitScheduling.framework.concurrent;
 
 import java.util.Collection;
 
-import teetime.framework.core.IOutputPort;
-import teetime.framework.core.IStage;
+import teetime.variant.explicitScheduling.framework.core.IOutputPort;
+import teetime.variant.explicitScheduling.framework.core.IStage;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/framework/concurrent/SingleProducerSingleConsumerPipe.java b/src/main/java/teetime/variant/explicitScheduling/framework/concurrent/SingleProducerSingleConsumerPipe.java
similarity index 83%
rename from src/main/java/teetime/framework/concurrent/SingleProducerSingleConsumerPipe.java
rename to src/main/java/teetime/variant/explicitScheduling/framework/concurrent/SingleProducerSingleConsumerPipe.java
index 40e065db3b4b6c73ba49d1a3b6dfd5cc09f6ad3a..b3a43f381ca969372480b428bed0bff9f7f38f24 100644
--- a/src/main/java/teetime/framework/concurrent/SingleProducerSingleConsumerPipe.java
+++ b/src/main/java/teetime/variant/explicitScheduling/framework/concurrent/SingleProducerSingleConsumerPipe.java
@@ -1,16 +1,16 @@
-package teetime.framework.concurrent;
+package teetime.variant.explicitScheduling.framework.concurrent;
 
 import java.util.List;
 import java.util.concurrent.BlockingQueue;
 import java.util.concurrent.Callable;
 import java.util.concurrent.LinkedBlockingDeque;
 
-import teetime.framework.core.AbstractPipe;
-import teetime.framework.core.IInputPort;
-import teetime.framework.core.IOutputPort;
-import teetime.framework.core.ISink;
-import teetime.framework.core.ISource;
 import teetime.util.concurrent.workstealing.CircularWorkStealingDeque;
+import teetime.variant.explicitScheduling.framework.core.AbstractPipe;
+import teetime.variant.explicitScheduling.framework.core.IInputPort;
+import teetime.variant.explicitScheduling.framework.core.IOutputPort;
+import teetime.variant.explicitScheduling.framework.core.ISink;
+import teetime.variant.explicitScheduling.framework.core.ISource;
 
 public class SingleProducerSingleConsumerPipe<T> extends AbstractPipe<T> {
 
diff --git a/src/main/java/teetime/framework/concurrent/StageTerminationPolicy.java b/src/main/java/teetime/variant/explicitScheduling/framework/concurrent/StageTerminationPolicy.java
similarity index 93%
rename from src/main/java/teetime/framework/concurrent/StageTerminationPolicy.java
rename to src/main/java/teetime/variant/explicitScheduling/framework/concurrent/StageTerminationPolicy.java
index 8eaec85e5da7ab3e35c48e983f6b3e0063759624..2a14fd8e60a950c0e058a477ca176c1814e998e5 100644
--- a/src/main/java/teetime/framework/concurrent/StageTerminationPolicy.java
+++ b/src/main/java/teetime/variant/explicitScheduling/framework/concurrent/StageTerminationPolicy.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  ***************************************************************************/
 
-package teetime.framework.concurrent;
+package teetime.variant.explicitScheduling.framework.concurrent;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/framework/concurrent/StageWorkArrayList.java b/src/main/java/teetime/variant/explicitScheduling/framework/concurrent/StageWorkArrayList.java
similarity index 93%
rename from src/main/java/teetime/framework/concurrent/StageWorkArrayList.java
rename to src/main/java/teetime/variant/explicitScheduling/framework/concurrent/StageWorkArrayList.java
index a9df41eb9e8a107a4546cb0c28820bdd240100db..a8b48e2ae457c63c49a97cc65fbb3dfc2f0468fd 100644
--- a/src/main/java/teetime/framework/concurrent/StageWorkArrayList.java
+++ b/src/main/java/teetime/variant/explicitScheduling/framework/concurrent/StageWorkArrayList.java
@@ -13,13 +13,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.framework.concurrent;
+package teetime.variant.explicitScheduling.framework.concurrent;
 
 import java.util.Collection;
 
-import teetime.framework.core.IOutputPort;
-import teetime.framework.core.IPipeline;
-import teetime.framework.core.IStage;
+import teetime.variant.explicitScheduling.framework.core.IOutputPort;
+import teetime.variant.explicitScheduling.framework.core.IPipeline;
+import teetime.variant.explicitScheduling.framework.core.IStage;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/framework/concurrent/StageWorkList.java b/src/main/java/teetime/variant/explicitScheduling/framework/concurrent/StageWorkList.java
similarity index 91%
rename from src/main/java/teetime/framework/concurrent/StageWorkList.java
rename to src/main/java/teetime/variant/explicitScheduling/framework/concurrent/StageWorkList.java
index 92f1c268a1f3fb9aec28e367cd6d02b373fbf84b..34d461975ca43f81e4aff920e1b033a08b7219a5 100644
--- a/src/main/java/teetime/framework/concurrent/StageWorkList.java
+++ b/src/main/java/teetime/variant/explicitScheduling/framework/concurrent/StageWorkList.java
@@ -1,11 +1,11 @@
-package teetime.framework.concurrent;
+package teetime.variant.explicitScheduling.framework.concurrent;
 
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 
-import teetime.framework.core.IOutputPort;
-import teetime.framework.core.IStage;
+import teetime.variant.explicitScheduling.framework.core.IOutputPort;
+import teetime.variant.explicitScheduling.framework.core.IStage;
 
 @Deprecated
 public class StageWorkList implements IStageWorkList {
diff --git a/src/main/java/teetime/framework/concurrent/TokenBundle.java b/src/main/java/teetime/variant/explicitScheduling/framework/concurrent/TokenBundle.java
similarity index 76%
rename from src/main/java/teetime/framework/concurrent/TokenBundle.java
rename to src/main/java/teetime/variant/explicitScheduling/framework/concurrent/TokenBundle.java
index dd035cc03722959e77e2da6e44db483f398c4184..160145983457900df50655defeb600235de9e4c7 100644
--- a/src/main/java/teetime/framework/concurrent/TokenBundle.java
+++ b/src/main/java/teetime/variant/explicitScheduling/framework/concurrent/TokenBundle.java
@@ -1,4 +1,4 @@
-package teetime.framework.concurrent;
+package teetime.variant.explicitScheduling.framework.concurrent;
 
 import java.util.List;
 
diff --git a/src/main/java/teetime/framework/concurrent/WorkerThread.java b/src/main/java/teetime/variant/explicitScheduling/framework/concurrent/WorkerThread.java
similarity index 92%
rename from src/main/java/teetime/framework/concurrent/WorkerThread.java
rename to src/main/java/teetime/variant/explicitScheduling/framework/concurrent/WorkerThread.java
index e45b3ed829501f7e48ebdd73a21f1614735b24d9..5686013208333861d5b7a9b84985bc10e38fd812 100644
--- a/src/main/java/teetime/framework/concurrent/WorkerThread.java
+++ b/src/main/java/teetime/variant/explicitScheduling/framework/concurrent/WorkerThread.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  ***************************************************************************/
 
-package teetime.framework.concurrent;
+package teetime.variant.explicitScheduling.framework.concurrent;
 
 import java.util.ArrayList;
 import java.util.Collections;
@@ -22,15 +22,15 @@ import java.util.Comparator;
 import java.util.LinkedList;
 import java.util.List;
 
-import teetime.framework.core.IInputPort;
-import teetime.framework.core.IInputPort.PortState;
-import teetime.framework.core.IPipe;
-import teetime.framework.core.IPipeCommand;
-import teetime.framework.core.IPipeline;
-import teetime.framework.core.IStage;
-import teetime.framework.scheduling.NextStageScheduler;
-import teetime.framework.scheduling.StageStateManager;
 import teetime.util.StopWatch;
+import teetime.variant.explicitScheduling.framework.core.IInputPort;
+import teetime.variant.explicitScheduling.framework.core.IPipe;
+import teetime.variant.explicitScheduling.framework.core.IPipeCommand;
+import teetime.variant.explicitScheduling.framework.core.IPipeline;
+import teetime.variant.explicitScheduling.framework.core.IStage;
+import teetime.variant.explicitScheduling.framework.core.IInputPort.PortState;
+import teetime.variant.explicitScheduling.framework.scheduling.NextStageScheduler;
+import teetime.variant.explicitScheduling.framework.scheduling.StageStateManager;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/framework/concurrent/steal/IStealStrategy.java b/src/main/java/teetime/variant/explicitScheduling/framework/concurrent/steal/IStealStrategy.java
similarity index 77%
rename from src/main/java/teetime/framework/concurrent/steal/IStealStrategy.java
rename to src/main/java/teetime/variant/explicitScheduling/framework/concurrent/steal/IStealStrategy.java
index cd38a19511ba5f3c840779faba5f374ca19bda52..378b693f6fc1086caed68c1c180d775d31ca39c2 100644
--- a/src/main/java/teetime/framework/concurrent/steal/IStealStrategy.java
+++ b/src/main/java/teetime/variant/explicitScheduling/framework/concurrent/steal/IStealStrategy.java
@@ -13,13 +13,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.framework.concurrent.steal;
+package teetime.variant.explicitScheduling.framework.concurrent.steal;
 
 import java.util.Collection;
 
-import teetime.framework.concurrent.ConcurrentWorkStealingPipe;
-import teetime.framework.core.IInputPort;
-import teetime.framework.core.IStage;
+import teetime.variant.explicitScheduling.framework.concurrent.ConcurrentWorkStealingPipe;
+import teetime.variant.explicitScheduling.framework.core.IInputPort;
+import teetime.variant.explicitScheduling.framework.core.IStage;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/framework/concurrent/steal/StealIfEmptyStrategy.java b/src/main/java/teetime/variant/explicitScheduling/framework/concurrent/steal/StealIfEmptyStrategy.java
similarity index 82%
rename from src/main/java/teetime/framework/concurrent/steal/StealIfEmptyStrategy.java
rename to src/main/java/teetime/variant/explicitScheduling/framework/concurrent/steal/StealIfEmptyStrategy.java
index a042054e192b0ec0aa86b3a782eedc1e1cfddd9d..adc15630168a00bd37c2101da6d8f1a4731ba5d1 100644
--- a/src/main/java/teetime/framework/concurrent/steal/StealIfEmptyStrategy.java
+++ b/src/main/java/teetime/variant/explicitScheduling/framework/concurrent/steal/StealIfEmptyStrategy.java
@@ -13,13 +13,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.framework.concurrent.steal;
+package teetime.variant.explicitScheduling.framework.concurrent.steal;
 
 import java.util.Collection;
 
-import teetime.framework.concurrent.ConcurrentWorkStealingPipe;
-import teetime.framework.core.IInputPort;
-import teetime.framework.core.IStage;
+import teetime.variant.explicitScheduling.framework.concurrent.ConcurrentWorkStealingPipe;
+import teetime.variant.explicitScheduling.framework.core.IInputPort;
+import teetime.variant.explicitScheduling.framework.core.IStage;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/framework/core/AbstractFilter.java b/src/main/java/teetime/variant/explicitScheduling/framework/core/AbstractFilter.java
similarity index 99%
rename from src/main/java/teetime/framework/core/AbstractFilter.java
rename to src/main/java/teetime/variant/explicitScheduling/framework/core/AbstractFilter.java
index 916a8985ff10d345c1d5c03296a5cd6419b67eb8..27b78d51550c025e3e8b50c1a1a0ab5db2d8c162 100644
--- a/src/main/java/teetime/framework/core/AbstractFilter.java
+++ b/src/main/java/teetime/variant/explicitScheduling/framework/core/AbstractFilter.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  ***************************************************************************/
 
-package teetime.framework.core;
+package teetime.variant.explicitScheduling.framework.core;
 
 import java.util.ArrayList;
 import java.util.Collection;
diff --git a/src/main/java/teetime/framework/core/AbstractMultiPort.java b/src/main/java/teetime/variant/explicitScheduling/framework/core/AbstractMultiPort.java
similarity index 96%
rename from src/main/java/teetime/framework/core/AbstractMultiPort.java
rename to src/main/java/teetime/variant/explicitScheduling/framework/core/AbstractMultiPort.java
index b40b0910709deba02860400130324a3c4dae32b3..06930008566439131101bec09c2add9df89269d1 100644
--- a/src/main/java/teetime/framework/core/AbstractMultiPort.java
+++ b/src/main/java/teetime/variant/explicitScheduling/framework/core/AbstractMultiPort.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.framework.core;
+package teetime.variant.explicitScheduling.framework.core;
 
 import java.util.Collections;
 import java.util.HashSet;
diff --git a/src/main/java/teetime/framework/core/AbstractPipe.java b/src/main/java/teetime/variant/explicitScheduling/framework/core/AbstractPipe.java
similarity index 98%
rename from src/main/java/teetime/framework/core/AbstractPipe.java
rename to src/main/java/teetime/variant/explicitScheduling/framework/core/AbstractPipe.java
index 214e014ac2440fcd0c4b51402744641fa5bdaa60..262e23e6e001d0965b9ef657c8633d60378f6ac2 100644
--- a/src/main/java/teetime/framework/core/AbstractPipe.java
+++ b/src/main/java/teetime/variant/explicitScheduling/framework/core/AbstractPipe.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  ***************************************************************************/
 
-package teetime.framework.core;
+package teetime.variant.explicitScheduling.framework.core;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/framework/core/AbstractPort.java b/src/main/java/teetime/variant/explicitScheduling/framework/core/AbstractPort.java
similarity index 92%
rename from src/main/java/teetime/framework/core/AbstractPort.java
rename to src/main/java/teetime/variant/explicitScheduling/framework/core/AbstractPort.java
index 4bcf752ef6d4049ec2e84447ee26fe9d60124fad..834e3b201250497d0826873ecdc498b079706b2f 100644
--- a/src/main/java/teetime/framework/core/AbstractPort.java
+++ b/src/main/java/teetime/variant/explicitScheduling/framework/core/AbstractPort.java
@@ -1,4 +1,4 @@
-package teetime.framework.core;
+package teetime.variant.explicitScheduling.framework.core;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/framework/core/AbstractStage.java b/src/main/java/teetime/variant/explicitScheduling/framework/core/AbstractStage.java
similarity index 97%
rename from src/main/java/teetime/framework/core/AbstractStage.java
rename to src/main/java/teetime/variant/explicitScheduling/framework/core/AbstractStage.java
index 46f5e789dc12fc5ee62b35e087aff68186cb46b9..9fb4c027107dd54a1b0d0cda162e48a8458b173e 100644
--- a/src/main/java/teetime/framework/core/AbstractStage.java
+++ b/src/main/java/teetime/variant/explicitScheduling/framework/core/AbstractStage.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  ***************************************************************************/
 
-package teetime.framework.core;
+package teetime.variant.explicitScheduling.framework.core;
 
 import java.util.UUID;
 
diff --git a/src/main/java/teetime/framework/core/Analysis.java b/src/main/java/teetime/variant/explicitScheduling/framework/core/Analysis.java
similarity index 94%
rename from src/main/java/teetime/framework/core/Analysis.java
rename to src/main/java/teetime/variant/explicitScheduling/framework/core/Analysis.java
index da54823a29f38f25610dd96703001e28c3738a72..42719a29fbdc42cc8b7682434e4288989368b6e0 100644
--- a/src/main/java/teetime/framework/core/Analysis.java
+++ b/src/main/java/teetime/variant/explicitScheduling/framework/core/Analysis.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  ***************************************************************************/
 
-package teetime.framework.core;
+package teetime.variant.explicitScheduling.framework.core;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/framework/core/CompositeFilter.java b/src/main/java/teetime/variant/explicitScheduling/framework/core/CompositeFilter.java
similarity index 96%
rename from src/main/java/teetime/framework/core/CompositeFilter.java
rename to src/main/java/teetime/variant/explicitScheduling/framework/core/CompositeFilter.java
index 113befe4f3e63b48d66560568080eacf0a2c0b3d..262d124a249e1ccaaffe5128ef7fc927fa61ccdf 100644
--- a/src/main/java/teetime/framework/core/CompositeFilter.java
+++ b/src/main/java/teetime/variant/explicitScheduling/framework/core/CompositeFilter.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.framework.core;
+package teetime.variant.explicitScheduling.framework.core;
 
 import java.util.ArrayList;
 import java.util.HashMap;
diff --git a/src/main/java/teetime/framework/core/Context.java b/src/main/java/teetime/variant/explicitScheduling/framework/core/Context.java
similarity index 98%
rename from src/main/java/teetime/framework/core/Context.java
rename to src/main/java/teetime/variant/explicitScheduling/framework/core/Context.java
index 5a6e40fa39de6f79e17e1b539d4d729121078efb..3935b16205739864f08400668b3666ef4faa7439 100644
--- a/src/main/java/teetime/framework/core/Context.java
+++ b/src/main/java/teetime/variant/explicitScheduling/framework/core/Context.java
@@ -1,4 +1,4 @@
-package teetime.framework.core;
+package teetime.variant.explicitScheduling.framework.core;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/src/main/java/teetime/framework/core/Description.java b/src/main/java/teetime/variant/explicitScheduling/framework/core/Description.java
similarity index 95%
rename from src/main/java/teetime/framework/core/Description.java
rename to src/main/java/teetime/variant/explicitScheduling/framework/core/Description.java
index fda9e0896772c175ce05d182219d3acfb90b7e94..ade2e1668ade35c471652c4e4c520d75df1c20d3 100644
--- a/src/main/java/teetime/framework/core/Description.java
+++ b/src/main/java/teetime/variant/explicitScheduling/framework/core/Description.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.framework.core;
+package teetime.variant.explicitScheduling.framework.core;
 
 import java.lang.annotation.ElementType;
 import java.lang.annotation.Retention;
diff --git a/src/main/java/teetime/framework/core/IBaseStage.java b/src/main/java/teetime/variant/explicitScheduling/framework/core/IBaseStage.java
similarity index 93%
rename from src/main/java/teetime/framework/core/IBaseStage.java
rename to src/main/java/teetime/variant/explicitScheduling/framework/core/IBaseStage.java
index 99c037456395c6a42d707c7e60423d3b587b3d4d..965793c48fcd1807b66fbd973196107763a71cb1 100644
--- a/src/main/java/teetime/framework/core/IBaseStage.java
+++ b/src/main/java/teetime/variant/explicitScheduling/framework/core/IBaseStage.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.framework.core;
+package teetime.variant.explicitScheduling.framework.core;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/framework/core/IInputPort.java b/src/main/java/teetime/variant/explicitScheduling/framework/core/IInputPort.java
similarity index 91%
rename from src/main/java/teetime/framework/core/IInputPort.java
rename to src/main/java/teetime/variant/explicitScheduling/framework/core/IInputPort.java
index d463e0749562c2d216c0b1083cad34e1a1e2d407..254d262828cd93182cbaf140b51fb8c92894a44f 100644
--- a/src/main/java/teetime/framework/core/IInputPort.java
+++ b/src/main/java/teetime/variant/explicitScheduling/framework/core/IInputPort.java
@@ -1,4 +1,4 @@
-package teetime.framework.core;
+package teetime.variant.explicitScheduling.framework.core;
 
 /**
  *
diff --git a/src/main/java/teetime/framework/core/IOutputPort.java b/src/main/java/teetime/variant/explicitScheduling/framework/core/IOutputPort.java
similarity index 80%
rename from src/main/java/teetime/framework/core/IOutputPort.java
rename to src/main/java/teetime/variant/explicitScheduling/framework/core/IOutputPort.java
index 3d8b8c060d4376c5c1dcf72fba7c9ee0fafdbcaa..c06718279f58b63e06fba55d413094dcdf2fde18 100644
--- a/src/main/java/teetime/framework/core/IOutputPort.java
+++ b/src/main/java/teetime/variant/explicitScheduling/framework/core/IOutputPort.java
@@ -1,4 +1,4 @@
-package teetime.framework.core;
+package teetime.variant.explicitScheduling.framework.core;
 
 /**
  * 
diff --git a/src/main/java/teetime/framework/core/IPipe.java b/src/main/java/teetime/variant/explicitScheduling/framework/core/IPipe.java
similarity index 98%
rename from src/main/java/teetime/framework/core/IPipe.java
rename to src/main/java/teetime/variant/explicitScheduling/framework/core/IPipe.java
index a4f9534732f3c5822872be422df61474369b958a..a14ba0c1fa2fdb91af2ec139da2008f6b6010bd1 100644
--- a/src/main/java/teetime/framework/core/IPipe.java
+++ b/src/main/java/teetime/variant/explicitScheduling/framework/core/IPipe.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  ***************************************************************************/
 
-package teetime.framework.core;
+package teetime.variant.explicitScheduling.framework.core;
 
 import java.util.List;
 
diff --git a/src/main/java/teetime/framework/core/IPipeCommand.java b/src/main/java/teetime/variant/explicitScheduling/framework/core/IPipeCommand.java
similarity index 93%
rename from src/main/java/teetime/framework/core/IPipeCommand.java
rename to src/main/java/teetime/variant/explicitScheduling/framework/core/IPipeCommand.java
index 6f06d7a22fee16378d80e59914f04c4be7daaf86..e6eb0bc7d3d47038c03d270a38b128c12440c0a4 100644
--- a/src/main/java/teetime/framework/core/IPipeCommand.java
+++ b/src/main/java/teetime/variant/explicitScheduling/framework/core/IPipeCommand.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.framework.core;
+package teetime.variant.explicitScheduling.framework.core;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/framework/core/IPipeline.java b/src/main/java/teetime/variant/explicitScheduling/framework/core/IPipeline.java
similarity index 94%
rename from src/main/java/teetime/framework/core/IPipeline.java
rename to src/main/java/teetime/variant/explicitScheduling/framework/core/IPipeline.java
index 21372d7ebd450bec03e2e75b11171294a0b89d2f..0b0d86b6d26fe14dc382d3242bbf8cd9b05e9b66 100644
--- a/src/main/java/teetime/framework/core/IPipeline.java
+++ b/src/main/java/teetime/variant/explicitScheduling/framework/core/IPipeline.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.framework.core;
+package teetime.variant.explicitScheduling.framework.core;
 
 import java.util.List;
 
diff --git a/src/main/java/teetime/framework/core/IPort.java b/src/main/java/teetime/variant/explicitScheduling/framework/core/IPort.java
similarity index 84%
rename from src/main/java/teetime/framework/core/IPort.java
rename to src/main/java/teetime/variant/explicitScheduling/framework/core/IPort.java
index 3f9d501fd15ea8c288e4e21aaf3be694f5bc13dd..0e6432ed827ee35c8f32e04c9dfde0495bbe6c6f 100644
--- a/src/main/java/teetime/framework/core/IPort.java
+++ b/src/main/java/teetime/variant/explicitScheduling/framework/core/IPort.java
@@ -1,4 +1,4 @@
-package teetime.framework.core;
+package teetime.variant.explicitScheduling.framework.core;
 
 /**
  * 
diff --git a/src/main/java/teetime/framework/core/IPortListener.java b/src/main/java/teetime/variant/explicitScheduling/framework/core/IPortListener.java
similarity index 93%
rename from src/main/java/teetime/framework/core/IPortListener.java
rename to src/main/java/teetime/variant/explicitScheduling/framework/core/IPortListener.java
index b7783c325a70f551f07dc8246497790ebcfc1030..23e66be6c1934b31bb7ae429043118637c255d5d 100644
--- a/src/main/java/teetime/framework/core/IPortListener.java
+++ b/src/main/java/teetime/variant/explicitScheduling/framework/core/IPortListener.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.framework.core;
+package teetime.variant.explicitScheduling.framework.core;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/framework/core/IReservablePipe.java b/src/main/java/teetime/variant/explicitScheduling/framework/core/IReservablePipe.java
similarity index 67%
rename from src/main/java/teetime/framework/core/IReservablePipe.java
rename to src/main/java/teetime/variant/explicitScheduling/framework/core/IReservablePipe.java
index 27c22ebdbba3a967c2af854d8a8cb11aa30b2777..3c1ef86e60f77c5e53d0c5fc675591c6b8e40429 100644
--- a/src/main/java/teetime/framework/core/IReservablePipe.java
+++ b/src/main/java/teetime/variant/explicitScheduling/framework/core/IReservablePipe.java
@@ -1,4 +1,4 @@
-package teetime.framework.core;
+package teetime.variant.explicitScheduling.framework.core;
 
 public interface IReservablePipe<T> extends IPipe<T> {
 
diff --git a/src/main/java/teetime/framework/core/ISink.java b/src/main/java/teetime/variant/explicitScheduling/framework/core/ISink.java
similarity index 94%
rename from src/main/java/teetime/framework/core/ISink.java
rename to src/main/java/teetime/variant/explicitScheduling/framework/core/ISink.java
index 4eaab24096c9fd7d12279fafd879c8800d48a3e1..9e33b6bcdfd4a18d76a1757d96c4811de02ec869 100644
--- a/src/main/java/teetime/framework/core/ISink.java
+++ b/src/main/java/teetime/variant/explicitScheduling/framework/core/ISink.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  ***************************************************************************/
 
-package teetime.framework.core;
+package teetime.variant.explicitScheduling.framework.core;
 
 /**
  * 
diff --git a/src/main/java/teetime/framework/core/ISource.java b/src/main/java/teetime/variant/explicitScheduling/framework/core/ISource.java
similarity index 93%
rename from src/main/java/teetime/framework/core/ISource.java
rename to src/main/java/teetime/variant/explicitScheduling/framework/core/ISource.java
index 77985e872789bd65188224216cd91f8dcc3fe58a..75e3ca48b4f51f736eae099ef01b7087cf6bd87c 100644
--- a/src/main/java/teetime/framework/core/ISource.java
+++ b/src/main/java/teetime/variant/explicitScheduling/framework/core/ISource.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  ***************************************************************************/
 
-package teetime.framework.core;
+package teetime.variant.explicitScheduling.framework.core;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/framework/core/IStage.java b/src/main/java/teetime/variant/explicitScheduling/framework/core/IStage.java
similarity index 98%
rename from src/main/java/teetime/framework/core/IStage.java
rename to src/main/java/teetime/variant/explicitScheduling/framework/core/IStage.java
index 5d7aba44ec7ed199399213342239835d81d25969..bcadf66d90518e00e75c0e8836b51c6546a5a2c4 100644
--- a/src/main/java/teetime/framework/core/IStage.java
+++ b/src/main/java/teetime/variant/explicitScheduling/framework/core/IStage.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  ***************************************************************************/
 
-package teetime.framework.core;
+package teetime.variant.explicitScheduling.framework.core;
 
 import java.util.Collection;
 import java.util.List;
diff --git a/src/main/java/teetime/framework/core/InputPortImpl.java b/src/main/java/teetime/variant/explicitScheduling/framework/core/InputPortImpl.java
similarity index 96%
rename from src/main/java/teetime/framework/core/InputPortImpl.java
rename to src/main/java/teetime/variant/explicitScheduling/framework/core/InputPortImpl.java
index 021ab567ba56b8f25553a21ac288b0f8583d27f6..2a61afff01235c415f2f57e89b48bba878e13c6a 100644
--- a/src/main/java/teetime/framework/core/InputPortImpl.java
+++ b/src/main/java/teetime/variant/explicitScheduling/framework/core/InputPortImpl.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  ***************************************************************************/
 
-package teetime.framework.core;
+package teetime.variant.explicitScheduling.framework.core;
 
 class InputPortImpl<S extends IStage, T> extends AbstractPort<S, T> implements IInputPort<S, T> {
 
diff --git a/src/main/java/teetime/framework/core/OutputPortImpl.java b/src/main/java/teetime/variant/explicitScheduling/framework/core/OutputPortImpl.java
similarity index 77%
rename from src/main/java/teetime/framework/core/OutputPortImpl.java
rename to src/main/java/teetime/variant/explicitScheduling/framework/core/OutputPortImpl.java
index e3c0e42d618eb3b7cef075d95312bb61b12359f9..946b2ec300dbb1011c92a6550de5fcc4ccdaa781 100644
--- a/src/main/java/teetime/framework/core/OutputPortImpl.java
+++ b/src/main/java/teetime/variant/explicitScheduling/framework/core/OutputPortImpl.java
@@ -1,4 +1,4 @@
-package teetime.framework.core;
+package teetime.variant.explicitScheduling.framework.core;
 
 
 public class OutputPortImpl<S extends IStage, T> extends AbstractPort<S, T> implements IOutputPort<S, T> {
diff --git a/src/main/java/teetime/framework/core/Pipeline.java b/src/main/java/teetime/variant/explicitScheduling/framework/core/Pipeline.java
similarity index 96%
rename from src/main/java/teetime/framework/core/Pipeline.java
rename to src/main/java/teetime/variant/explicitScheduling/framework/core/Pipeline.java
index 7848fa0cdd3cbd9f36fe52cc7aa4447f00d8aec4..5526b9b987cc49fe832d56bc8cca245b24abadbd 100644
--- a/src/main/java/teetime/framework/core/Pipeline.java
+++ b/src/main/java/teetime/variant/explicitScheduling/framework/core/Pipeline.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.framework.core;
+package teetime.variant.explicitScheduling.framework.core;
 
 import java.util.List;
 
diff --git a/src/main/java/teetime/variant/explicitScheduling/framework/core/ReservableContext.java b/src/main/java/teetime/variant/explicitScheduling/framework/core/ReservableContext.java
new file mode 100644
index 0000000000000000000000000000000000000000..37b8f5270a7cdf42eff953f8a544a4fcbb924fba
--- /dev/null
+++ b/src/main/java/teetime/variant/explicitScheduling/framework/core/ReservableContext.java
@@ -0,0 +1,5 @@
+package teetime.variant.explicitScheduling.framework.core;
+
+public class ReservableContext {
+
+}
diff --git a/src/main/java/teetime/framework/scheduling/NextStageScheduler.java b/src/main/java/teetime/variant/explicitScheduling/framework/scheduling/NextStageScheduler.java
similarity index 86%
rename from src/main/java/teetime/framework/scheduling/NextStageScheduler.java
rename to src/main/java/teetime/variant/explicitScheduling/framework/scheduling/NextStageScheduler.java
index db71c1a5cc8f1a71e5d9097c0972f0d995aa857a..becf818087350cbaec1f42c69e562603ad527f15 100644
--- a/src/main/java/teetime/framework/scheduling/NextStageScheduler.java
+++ b/src/main/java/teetime/variant/explicitScheduling/framework/scheduling/NextStageScheduler.java
@@ -14,17 +14,17 @@
  * limitations under the License.
  ***************************************************************************/
 
-package teetime.framework.scheduling;
+package teetime.variant.explicitScheduling.framework.scheduling;
 
 import java.util.LinkedHashSet;
 import java.util.Set;
 
-import teetime.framework.concurrent.IStageScheduler;
-import teetime.framework.concurrent.IStageWorkList;
-import teetime.framework.concurrent.StageWorkArrayList;
-import teetime.framework.core.IOutputPort;
-import teetime.framework.core.IPipeline;
-import teetime.framework.core.IStage;
+import teetime.variant.explicitScheduling.framework.concurrent.IStageScheduler;
+import teetime.variant.explicitScheduling.framework.concurrent.IStageWorkList;
+import teetime.variant.explicitScheduling.framework.concurrent.StageWorkArrayList;
+import teetime.variant.explicitScheduling.framework.core.IOutputPort;
+import teetime.variant.explicitScheduling.framework.core.IPipeline;
+import teetime.variant.explicitScheduling.framework.core.IStage;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/framework/scheduling/StageStateContainer.java b/src/main/java/teetime/variant/explicitScheduling/framework/scheduling/StageStateContainer.java
similarity index 80%
rename from src/main/java/teetime/framework/scheduling/StageStateContainer.java
rename to src/main/java/teetime/variant/explicitScheduling/framework/scheduling/StageStateContainer.java
index 667d639d9c3ba6b0c2862751f4c9cdb1fd56e7d9..fdc8241c5fe8877007ea02995dd694028a2b3a76 100644
--- a/src/main/java/teetime/framework/scheduling/StageStateContainer.java
+++ b/src/main/java/teetime/variant/explicitScheduling/framework/scheduling/StageStateContainer.java
@@ -1,6 +1,6 @@
-package teetime.framework.scheduling;
+package teetime.variant.explicitScheduling.framework.scheduling;
 
-import teetime.framework.core.IStage;
+import teetime.variant.explicitScheduling.framework.core.IStage;
 
 public abstract class StageStateContainer {
 
diff --git a/src/main/java/teetime/framework/scheduling/StageStateManager.java b/src/main/java/teetime/variant/explicitScheduling/framework/scheduling/StageStateManager.java
similarity index 87%
rename from src/main/java/teetime/framework/scheduling/StageStateManager.java
rename to src/main/java/teetime/variant/explicitScheduling/framework/scheduling/StageStateManager.java
index 6412ae9bb04c0201a826859bb81a13ec0b82d37f..04b0d51a19e2173a0f0f62e8946422cc9382f0f2 100644
--- a/src/main/java/teetime/framework/scheduling/StageStateManager.java
+++ b/src/main/java/teetime/variant/explicitScheduling/framework/scheduling/StageStateManager.java
@@ -1,12 +1,12 @@
-package teetime.framework.scheduling;
+package teetime.variant.explicitScheduling.framework.scheduling;
 
 import java.util.Arrays;
 
-import teetime.framework.core.IInputPort;
-import teetime.framework.core.IPipeline;
-import teetime.framework.core.IPortListener;
-import teetime.framework.core.IStage;
-import teetime.framework.scheduling.StageStateContainer.StageState;
+import teetime.variant.explicitScheduling.framework.core.IInputPort;
+import teetime.variant.explicitScheduling.framework.core.IPipeline;
+import teetime.variant.explicitScheduling.framework.core.IPortListener;
+import teetime.variant.explicitScheduling.framework.core.IStage;
+import teetime.variant.explicitScheduling.framework.scheduling.StageStateContainer.StageState;
 
 public final class StageStateManager implements IPortListener {
 
diff --git a/src/main/java/teetime/framework/scheduling/SynchronizedStageStateContainer.java b/src/main/java/teetime/variant/explicitScheduling/framework/scheduling/SynchronizedStageStateContainer.java
similarity index 77%
rename from src/main/java/teetime/framework/scheduling/SynchronizedStageStateContainer.java
rename to src/main/java/teetime/variant/explicitScheduling/framework/scheduling/SynchronizedStageStateContainer.java
index 9b70846a2dcf535d5e554d6c1cafa8e23b301b13..9dd69e3a0140fd531811e5ba1dda799d216ef33f 100644
--- a/src/main/java/teetime/framework/scheduling/SynchronizedStageStateContainer.java
+++ b/src/main/java/teetime/variant/explicitScheduling/framework/scheduling/SynchronizedStageStateContainer.java
@@ -1,8 +1,8 @@
-package teetime.framework.scheduling;
+package teetime.variant.explicitScheduling.framework.scheduling;
 
 import java.util.concurrent.atomic.AtomicInteger;
 
-import teetime.framework.core.IStage;
+import teetime.variant.explicitScheduling.framework.core.IStage;
 
 public final class SynchronizedStageStateContainer extends StageStateContainer {
 
diff --git a/src/main/java/teetime/framework/scheduling/UnsynchronizedStageStateContainer.java b/src/main/java/teetime/variant/explicitScheduling/framework/scheduling/UnsynchronizedStageStateContainer.java
similarity index 73%
rename from src/main/java/teetime/framework/scheduling/UnsynchronizedStageStateContainer.java
rename to src/main/java/teetime/variant/explicitScheduling/framework/scheduling/UnsynchronizedStageStateContainer.java
index 46556e99deee76345c389915bd4ecf9367ae7c6a..f425d2bab675ab577b5b0ba3fc3e9271365c7aea 100644
--- a/src/main/java/teetime/framework/scheduling/UnsynchronizedStageStateContainer.java
+++ b/src/main/java/teetime/variant/explicitScheduling/framework/scheduling/UnsynchronizedStageStateContainer.java
@@ -1,6 +1,6 @@
-package teetime.framework.scheduling;
+package teetime.variant.explicitScheduling.framework.scheduling;
 
-import teetime.framework.core.IStage;
+import teetime.variant.explicitScheduling.framework.core.IStage;
 
 public final class UnsynchronizedStageStateContainer extends StageStateContainer {
 
diff --git a/src/main/java/teetime/framework/sequential/MethodCallPipe.java b/src/main/java/teetime/variant/explicitScheduling/framework/sequential/MethodCallPipe.java
similarity index 84%
rename from src/main/java/teetime/framework/sequential/MethodCallPipe.java
rename to src/main/java/teetime/variant/explicitScheduling/framework/sequential/MethodCallPipe.java
index 2a18cc0d7d0119581c11824a223f870fc1ce36a9..820fb6dc5efd4e2b8546244d394e927c155a92fd 100644
--- a/src/main/java/teetime/framework/sequential/MethodCallPipe.java
+++ b/src/main/java/teetime/variant/explicitScheduling/framework/sequential/MethodCallPipe.java
@@ -14,16 +14,16 @@
  * limitations under the License.
  ***************************************************************************/
 
-package teetime.framework.sequential;
+package teetime.variant.explicitScheduling.framework.sequential;
 
 import java.util.List;
 
-import teetime.framework.core.AbstractPipe;
-import teetime.framework.core.IInputPort;
-import teetime.framework.core.IOutputPort;
-import teetime.framework.core.IReservablePipe;
-import teetime.framework.core.ISink;
-import teetime.framework.core.ISource;
+import teetime.variant.explicitScheduling.framework.core.AbstractPipe;
+import teetime.variant.explicitScheduling.framework.core.IInputPort;
+import teetime.variant.explicitScheduling.framework.core.IOutputPort;
+import teetime.variant.explicitScheduling.framework.core.IReservablePipe;
+import teetime.variant.explicitScheduling.framework.core.ISink;
+import teetime.variant.explicitScheduling.framework.core.ISource;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/framework/sequential/Pipeline.java.todo b/src/main/java/teetime/variant/explicitScheduling/framework/sequential/Pipeline.java.todo
similarity index 100%
rename from src/main/java/teetime/framework/sequential/Pipeline.java.todo
rename to src/main/java/teetime/variant/explicitScheduling/framework/sequential/Pipeline.java.todo
diff --git a/src/main/java/teetime/framework/sequential/QueuePipe.java b/src/main/java/teetime/variant/explicitScheduling/framework/sequential/QueuePipe.java
similarity index 85%
rename from src/main/java/teetime/framework/sequential/QueuePipe.java
rename to src/main/java/teetime/variant/explicitScheduling/framework/sequential/QueuePipe.java
index b78284662eed868e3aedb136d616bfd771427531..1a5178477ef9f5396c6b071bbc703caaf8293349 100644
--- a/src/main/java/teetime/framework/sequential/QueuePipe.java
+++ b/src/main/java/teetime/variant/explicitScheduling/framework/sequential/QueuePipe.java
@@ -13,19 +13,19 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.framework.sequential;
+package teetime.variant.explicitScheduling.framework.sequential;
 
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Queue;
 
-import teetime.framework.core.AbstractPipe;
-import teetime.framework.core.IInputPort;
-import teetime.framework.core.IOutputPort;
-import teetime.framework.core.IReservablePipe;
-import teetime.framework.core.ISink;
-import teetime.framework.core.ISource;
 import teetime.util.concurrent.workstealing.CircularWorkStealingDeque;
+import teetime.variant.explicitScheduling.framework.core.AbstractPipe;
+import teetime.variant.explicitScheduling.framework.core.IInputPort;
+import teetime.variant.explicitScheduling.framework.core.IOutputPort;
+import teetime.variant.explicitScheduling.framework.core.IReservablePipe;
+import teetime.variant.explicitScheduling.framework.core.ISink;
+import teetime.variant.explicitScheduling.framework.core.ISource;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/framework/sequential/ReservableQueuePipe.java b/src/main/java/teetime/variant/explicitScheduling/framework/sequential/ReservableQueuePipe.java
similarity index 76%
rename from src/main/java/teetime/framework/sequential/ReservableQueuePipe.java
rename to src/main/java/teetime/variant/explicitScheduling/framework/sequential/ReservableQueuePipe.java
index 9cce059cbcf2ea1340f1bdcab5ad8448cb1f4e12..3ed9a10d38a30b2e10c7493b7cdf227c225e7268 100644
--- a/src/main/java/teetime/framework/sequential/ReservableQueuePipe.java
+++ b/src/main/java/teetime/variant/explicitScheduling/framework/sequential/ReservableQueuePipe.java
@@ -1,14 +1,14 @@
-package teetime.framework.sequential;
+package teetime.variant.explicitScheduling.framework.sequential;
 
 import java.util.List;
 
-import teetime.framework.core.IInputPort;
-import teetime.framework.core.IOutputPort;
-import teetime.framework.core.IReservablePipe;
-import teetime.framework.core.ISink;
-import teetime.framework.core.ISource;
 import teetime.util.list.CommittableQueue;
 import teetime.util.list.CommittableResizableArrayQueue;
+import teetime.variant.explicitScheduling.framework.core.IInputPort;
+import teetime.variant.explicitScheduling.framework.core.IOutputPort;
+import teetime.variant.explicitScheduling.framework.core.IReservablePipe;
+import teetime.variant.explicitScheduling.framework.core.ISink;
+import teetime.variant.explicitScheduling.framework.core.ISource;
 
 public class ReservableQueuePipe<T> extends QueuePipe<T> implements IReservablePipe<T> {
 
diff --git a/src/main/java/teetime/framework/util/BaseStage2StageExtractor.java b/src/main/java/teetime/variant/explicitScheduling/framework/util/BaseStage2StageExtractor.java
similarity index 85%
rename from src/main/java/teetime/framework/util/BaseStage2StageExtractor.java
rename to src/main/java/teetime/variant/explicitScheduling/framework/util/BaseStage2StageExtractor.java
index 819de27425b06e3de16fc3bd6c3c9913220c8217..5db91639ec236ab5ebe199485011c547a7d9b21a 100644
--- a/src/main/java/teetime/framework/util/BaseStage2StageExtractor.java
+++ b/src/main/java/teetime/variant/explicitScheduling/framework/util/BaseStage2StageExtractor.java
@@ -13,14 +13,14 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.framework.util;
+package teetime.variant.explicitScheduling.framework.util;
 
 import java.util.LinkedList;
 import java.util.List;
 
-import teetime.framework.core.CompositeFilter;
-import teetime.framework.core.IBaseStage;
-import teetime.framework.core.IStage;
+import teetime.variant.explicitScheduling.framework.core.CompositeFilter;
+import teetime.variant.explicitScheduling.framework.core.IBaseStage;
+import teetime.variant.explicitScheduling.framework.core.IStage;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/framework/util/Cloner.java b/src/main/java/teetime/variant/explicitScheduling/framework/util/Cloner.java
similarity index 98%
rename from src/main/java/teetime/framework/util/Cloner.java
rename to src/main/java/teetime/variant/explicitScheduling/framework/util/Cloner.java
index d8463dbe069039f3f865cdf0b4c4303f25d24cbd..2fb8acdd34fa84485edf5a2acac6a4e3fd9cd0c6 100644
--- a/src/main/java/teetime/framework/util/Cloner.java
+++ b/src/main/java/teetime/variant/explicitScheduling/framework/util/Cloner.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.framework.util;
+package teetime.variant.explicitScheduling.framework.util;
 
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
diff --git a/src/main/java/teetime/stage/Cache.java b/src/main/java/teetime/variant/explicitScheduling/stage/Cache.java
similarity index 87%
rename from src/main/java/teetime/stage/Cache.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/Cache.java
index 723f8cd90a9dc50be04f556d3d66354451193ffc..3b5e9d75f7697984cc4c56e3a63fca5932b8f994 100644
--- a/src/main/java/teetime/stage/Cache.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/Cache.java
@@ -13,15 +13,15 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.stage;
+package teetime.variant.explicitScheduling.stage;
 
 import java.util.LinkedList;
 import java.util.List;
 
-import teetime.framework.core.AbstractFilter;
-import teetime.framework.core.Context;
-import teetime.framework.core.IInputPort;
-import teetime.framework.core.IOutputPort;
+import teetime.variant.explicitScheduling.framework.core.AbstractFilter;
+import teetime.variant.explicitScheduling.framework.core.Context;
+import teetime.variant.explicitScheduling.framework.core.IInputPort;
+import teetime.variant.explicitScheduling.framework.core.IOutputPort;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/stage/CollectorSink.java b/src/main/java/teetime/variant/explicitScheduling/stage/CollectorSink.java
similarity index 86%
rename from src/main/java/teetime/stage/CollectorSink.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/CollectorSink.java
index b2a135c4914402e76276fe5bfc7092144caf2f2b..2ab57eb30162c41a4ffc525a07dfe2f0bd0f6a19 100644
--- a/src/main/java/teetime/stage/CollectorSink.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/CollectorSink.java
@@ -13,13 +13,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.stage;
+package teetime.variant.explicitScheduling.stage;
 
 import java.util.Collection;
 
-import teetime.framework.core.AbstractFilter;
-import teetime.framework.core.Context;
-import teetime.framework.core.IInputPort;
+import teetime.variant.explicitScheduling.framework.core.AbstractFilter;
+import teetime.variant.explicitScheduling.framework.core.Context;
+import teetime.variant.explicitScheduling.framework.core.IInputPort;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/stage/CountingFilter.java b/src/main/java/teetime/variant/explicitScheduling/stage/CountingFilter.java
similarity index 85%
rename from src/main/java/teetime/stage/CountingFilter.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/CountingFilter.java
index 018227accc244f3b36f4229ef211b052d45397c8..4cd0b278d9f1e05508d5de69ca9821902bb096fd 100644
--- a/src/main/java/teetime/stage/CountingFilter.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/CountingFilter.java
@@ -14,12 +14,12 @@
  * limitations under the License.
  ***************************************************************************/
 
-package teetime.stage;
+package teetime.variant.explicitScheduling.stage;
 
-import teetime.framework.core.AbstractFilter;
-import teetime.framework.core.Context;
-import teetime.framework.core.IInputPort;
-import teetime.framework.core.IOutputPort;
+import teetime.variant.explicitScheduling.framework.core.AbstractFilter;
+import teetime.variant.explicitScheduling.framework.core.Context;
+import teetime.variant.explicitScheduling.framework.core.IInputPort;
+import teetime.variant.explicitScheduling.framework.core.IOutputPort;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/stage/FileExtensionFilter.java b/src/main/java/teetime/variant/explicitScheduling/stage/FileExtensionFilter.java
similarity index 88%
rename from src/main/java/teetime/stage/FileExtensionFilter.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/FileExtensionFilter.java
index 329c3e72cdb74e03b514179ff199c7047144cb1b..6e058aa40cfe6c8538b394191a59045bc29e6135 100644
--- a/src/main/java/teetime/stage/FileExtensionFilter.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/FileExtensionFilter.java
@@ -13,16 +13,16 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.stage;
+package teetime.variant.explicitScheduling.stage;
 
 import java.io.File;
 import java.util.HashMap;
 import java.util.regex.Pattern;
 
-import teetime.framework.core.AbstractFilter;
-import teetime.framework.core.Context;
-import teetime.framework.core.IInputPort;
-import teetime.framework.core.IOutputPort;
+import teetime.variant.explicitScheduling.framework.core.AbstractFilter;
+import teetime.variant.explicitScheduling.framework.core.Context;
+import teetime.variant.explicitScheduling.framework.core.IInputPort;
+import teetime.variant.explicitScheduling.framework.core.IOutputPort;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/stage/InstanceOfFilter.java b/src/main/java/teetime/variant/explicitScheduling/stage/InstanceOfFilter.java
similarity index 77%
rename from src/main/java/teetime/stage/InstanceOfFilter.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/InstanceOfFilter.java
index 1fdb4f13196eb8f3c9fe92e88c82762d14fd6692..aca2e55ec0beb752bb827b136d34a3d7c5385122 100644
--- a/src/main/java/teetime/stage/InstanceOfFilter.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/InstanceOfFilter.java
@@ -1,9 +1,9 @@
-package teetime.stage;
+package teetime.variant.explicitScheduling.stage;
 
-import teetime.framework.core.AbstractFilter;
-import teetime.framework.core.Context;
-import teetime.framework.core.IInputPort;
-import teetime.framework.core.IOutputPort;
+import teetime.variant.explicitScheduling.framework.core.AbstractFilter;
+import teetime.variant.explicitScheduling.framework.core.Context;
+import teetime.variant.explicitScheduling.framework.core.IInputPort;
+import teetime.variant.explicitScheduling.framework.core.IOutputPort;
 
 /**
  * @author Jan Waller, Nils Christian Ehmke, Christian Wulf
diff --git a/src/main/java/teetime/stage/MappingException.java b/src/main/java/teetime/variant/explicitScheduling/stage/MappingException.java
similarity index 95%
rename from src/main/java/teetime/stage/MappingException.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/MappingException.java
index 49fd0fc3931185ad5d7ec073a4059ecb24923197..a718972aa5ed1c1db024ee77b0ceed899fb56f5c 100644
--- a/src/main/java/teetime/stage/MappingException.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/MappingException.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  ***************************************************************************/
 
-package teetime.stage;
+package teetime.variant.explicitScheduling.stage;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/stage/NoopFilter.java b/src/main/java/teetime/variant/explicitScheduling/stage/NoopFilter.java
similarity index 80%
rename from src/main/java/teetime/stage/NoopFilter.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/NoopFilter.java
index de1b31b445bbb1d646f3b8f1b64b95c1510bd351..5aebff555f20d684fb464809d35a53e4e78529b5 100644
--- a/src/main/java/teetime/stage/NoopFilter.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/NoopFilter.java
@@ -13,12 +13,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.stage;
+package teetime.variant.explicitScheduling.stage;
 
-import teetime.framework.core.AbstractFilter;
-import teetime.framework.core.Context;
-import teetime.framework.core.IInputPort;
-import teetime.framework.core.IOutputPort;
+import teetime.variant.explicitScheduling.framework.core.AbstractFilter;
+import teetime.variant.explicitScheduling.framework.core.Context;
+import teetime.variant.explicitScheduling.framework.core.IInputPort;
+import teetime.variant.explicitScheduling.framework.core.IOutputPort;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/stage/StartTimestampFilter.java b/src/main/java/teetime/variant/explicitScheduling/stage/StartTimestampFilter.java
similarity index 78%
rename from src/main/java/teetime/stage/StartTimestampFilter.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/StartTimestampFilter.java
index 327e5e19af0f43f7d782e0050212d1bb90e76228..447ca3746b32322a3b1e972796cbce53addd9512 100644
--- a/src/main/java/teetime/stage/StartTimestampFilter.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/StartTimestampFilter.java
@@ -13,13 +13,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.stage;
+package teetime.variant.explicitScheduling.stage;
 
-import teetime.examples.throughput.TimestampObject;
-import teetime.framework.core.AbstractFilter;
-import teetime.framework.core.Context;
-import teetime.framework.core.IInputPort;
-import teetime.framework.core.IOutputPort;
+import teetime.variant.explicitScheduling.examples.throughput.TimestampObject;
+import teetime.variant.explicitScheduling.framework.core.AbstractFilter;
+import teetime.variant.explicitScheduling.framework.core.Context;
+import teetime.variant.explicitScheduling.framework.core.IInputPort;
+import teetime.variant.explicitScheduling.framework.core.IOutputPort;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/stage/StopTimestampFilter.java b/src/main/java/teetime/variant/explicitScheduling/stage/StopTimestampFilter.java
similarity index 77%
rename from src/main/java/teetime/stage/StopTimestampFilter.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/StopTimestampFilter.java
index fc65ca63eb57ef2c0756ff27c904c962f0c0850e..de80acde66c3bde2be494f888ad46106132c3762 100644
--- a/src/main/java/teetime/stage/StopTimestampFilter.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/StopTimestampFilter.java
@@ -13,13 +13,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.stage;
+package teetime.variant.explicitScheduling.stage;
 
-import teetime.examples.throughput.TimestampObject;
-import teetime.framework.core.AbstractFilter;
-import teetime.framework.core.Context;
-import teetime.framework.core.IInputPort;
-import teetime.framework.core.IOutputPort;
+import teetime.variant.explicitScheduling.examples.throughput.TimestampObject;
+import teetime.variant.explicitScheduling.framework.core.AbstractFilter;
+import teetime.variant.explicitScheduling.framework.core.Context;
+import teetime.variant.explicitScheduling.framework.core.IInputPort;
+import teetime.variant.explicitScheduling.framework.core.IOutputPort;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/stage/SuperTypeFilter.java b/src/main/java/teetime/variant/explicitScheduling/stage/SuperTypeFilter.java
similarity index 61%
rename from src/main/java/teetime/stage/SuperTypeFilter.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/SuperTypeFilter.java
index 8482233c262af42148d2ab4c54cca3d80e7ced45..6b3b109a0607d48b12a6b49142838d05e13e578c 100644
--- a/src/main/java/teetime/stage/SuperTypeFilter.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/SuperTypeFilter.java
@@ -1,9 +1,9 @@
-package teetime.stage;
+package teetime.variant.explicitScheduling.stage;
 
 import java.util.Collection;
 
-import teetime.stage.predicate.IsSuperTypePredicate;
-import teetime.stage.predicate.PredicateFilter;
+import teetime.variant.explicitScheduling.stage.predicate.IsSuperTypePredicate;
+import teetime.variant.explicitScheduling.stage.predicate.PredicateFilter;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/stage/TypeLoggerFilter.java b/src/main/java/teetime/variant/explicitScheduling/stage/TypeLoggerFilter.java
similarity index 85%
rename from src/main/java/teetime/stage/TypeLoggerFilter.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/TypeLoggerFilter.java
index 304579a52300a3b1d17eca69f9792f7ce517850a..2624e5a6c6cd1944a13295b52f18fe788aab748e 100644
--- a/src/main/java/teetime/stage/TypeLoggerFilter.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/TypeLoggerFilter.java
@@ -14,14 +14,14 @@
  * limitations under the License.
  ***************************************************************************/
 
-package teetime.stage;
+package teetime.variant.explicitScheduling.stage;
 
 import java.io.PrintStream;
 
-import teetime.framework.core.AbstractFilter;
-import teetime.framework.core.Context;
-import teetime.framework.core.IInputPort;
-import teetime.framework.core.IOutputPort;
+import teetime.variant.explicitScheduling.framework.core.AbstractFilter;
+import teetime.variant.explicitScheduling.framework.core.Context;
+import teetime.variant.explicitScheduling.framework.core.IInputPort;
+import teetime.variant.explicitScheduling.framework.core.IOutputPort;
 
 /**
  * @author Matthias Rohr, Jan Waller, Nils Christian Ehmke, Christian Wulf
diff --git a/src/main/java/teetime/stage/basic/Clock.java b/src/main/java/teetime/variant/explicitScheduling/stage/basic/Clock.java
similarity index 86%
rename from src/main/java/teetime/stage/basic/Clock.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/basic/Clock.java
index 014de3ec290489805e7f5bf4ef320a696b3d94b9..d6f7910ab5816ccb71d452d8bc35d7b619cfdfab 100644
--- a/src/main/java/teetime/stage/basic/Clock.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/basic/Clock.java
@@ -1,8 +1,8 @@
-package teetime.stage.basic;
+package teetime.variant.explicitScheduling.stage.basic;
 
-import teetime.framework.core.AbstractFilter;
-import teetime.framework.core.Context;
-import teetime.framework.core.IOutputPort;
+import teetime.variant.explicitScheduling.framework.core.AbstractFilter;
+import teetime.variant.explicitScheduling.framework.core.Context;
+import teetime.variant.explicitScheduling.framework.core.IOutputPort;
 
 /**
  *
diff --git a/src/main/java/teetime/stage/basic/Delay.java b/src/main/java/teetime/variant/explicitScheduling/stage/basic/Delay.java
similarity index 65%
rename from src/main/java/teetime/stage/basic/Delay.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/basic/Delay.java
index ab58b22ec01c85af85a6c33945fb09481b0aaab6..22fd17c211125741e4c9513be36f61af3f1cbcbc 100644
--- a/src/main/java/teetime/stage/basic/Delay.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/basic/Delay.java
@@ -1,9 +1,9 @@
-package teetime.stage.basic;
+package teetime.variant.explicitScheduling.stage.basic;
 
-import teetime.framework.core.AbstractFilter;
-import teetime.framework.core.Context;
-import teetime.framework.core.IInputPort;
-import teetime.framework.core.IOutputPort;
+import teetime.variant.explicitScheduling.framework.core.AbstractFilter;
+import teetime.variant.explicitScheduling.framework.core.Context;
+import teetime.variant.explicitScheduling.framework.core.IInputPort;
+import teetime.variant.explicitScheduling.framework.core.IOutputPort;
 
 public class Delay<T> extends AbstractFilter<Delay<T>> {
 
diff --git a/src/main/java/teetime/stage/basic/ObjectProducer.java b/src/main/java/teetime/variant/explicitScheduling/stage/basic/ObjectProducer.java
similarity index 88%
rename from src/main/java/teetime/stage/basic/ObjectProducer.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/basic/ObjectProducer.java
index 0c39313de2f73d3194d8ff05b20cf44eeb141eff..710ee6710cf352c38389542d3681316a4fc1be2b 100644
--- a/src/main/java/teetime/stage/basic/ObjectProducer.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/basic/ObjectProducer.java
@@ -13,13 +13,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.stage.basic;
+package teetime.variant.explicitScheduling.stage.basic;
 
 import java.util.concurrent.Callable;
 
-import teetime.framework.core.AbstractFilter;
-import teetime.framework.core.Context;
-import teetime.framework.core.IOutputPort;
+import teetime.variant.explicitScheduling.framework.core.AbstractFilter;
+import teetime.variant.explicitScheduling.framework.core.Context;
+import teetime.variant.explicitScheduling.framework.core.IOutputPort;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/stage/basic/RepeaterSource.java b/src/main/java/teetime/variant/explicitScheduling/stage/basic/RepeaterSource.java
similarity index 85%
rename from src/main/java/teetime/stage/basic/RepeaterSource.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/basic/RepeaterSource.java
index 495befe81504a91aa18ec5e53794fff1725ce852..28e6783d28f3eab53c7812c42a1b4a482b696ca7 100644
--- a/src/main/java/teetime/stage/basic/RepeaterSource.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/basic/RepeaterSource.java
@@ -14,12 +14,12 @@
  * limitations under the License.
  ***************************************************************************/
 
-package teetime.stage.basic;
+package teetime.variant.explicitScheduling.stage.basic;
 
-import teetime.framework.core.AbstractFilter;
-import teetime.framework.core.Context;
-import teetime.framework.core.IInputPort;
-import teetime.framework.core.IOutputPort;
+import teetime.variant.explicitScheduling.framework.core.AbstractFilter;
+import teetime.variant.explicitScheduling.framework.core.Context;
+import teetime.variant.explicitScheduling.framework.core.IInputPort;
+import teetime.variant.explicitScheduling.framework.core.IOutputPort;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/stage/basic/distributor/CloneStrategy.java b/src/main/java/teetime/variant/explicitScheduling/stage/basic/distributor/CloneStrategy.java
similarity index 84%
rename from src/main/java/teetime/stage/basic/distributor/CloneStrategy.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/basic/distributor/CloneStrategy.java
index e1687a071c77682a8d40397e18be889fefe66b32..92b3228b3874d78dd8beb1b84931e5fdca91a281 100644
--- a/src/main/java/teetime/stage/basic/distributor/CloneStrategy.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/basic/distributor/CloneStrategy.java
@@ -13,12 +13,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.stage.basic.distributor;
+package teetime.variant.explicitScheduling.stage.basic.distributor;
 
 import java.util.List;
 
-import teetime.framework.core.Context;
-import teetime.framework.core.IOutputPort;
+import teetime.variant.explicitScheduling.framework.core.Context;
+import teetime.variant.explicitScheduling.framework.core.IOutputPort;
 
 /**
  * @author Nils Christian Ehmke
diff --git a/src/main/java/teetime/stage/basic/distributor/CopyByReferenceStrategy.java b/src/main/java/teetime/variant/explicitScheduling/stage/basic/distributor/CopyByReferenceStrategy.java
similarity index 85%
rename from src/main/java/teetime/stage/basic/distributor/CopyByReferenceStrategy.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/basic/distributor/CopyByReferenceStrategy.java
index 928f99f759a46b74ec03f6fc56f23a4eebfae005..c6e0b8e2cd652275fe68b941e55983f5b91eb894 100644
--- a/src/main/java/teetime/stage/basic/distributor/CopyByReferenceStrategy.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/basic/distributor/CopyByReferenceStrategy.java
@@ -13,12 +13,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.stage.basic.distributor;
+package teetime.variant.explicitScheduling.stage.basic.distributor;
 
 import java.util.List;
 
-import teetime.framework.core.Context;
-import teetime.framework.core.IOutputPort;
+import teetime.variant.explicitScheduling.framework.core.Context;
+import teetime.variant.explicitScheduling.framework.core.IOutputPort;
 
 /**
  * @author Nils Christian Ehmke
diff --git a/src/main/java/teetime/stage/basic/distributor/Distributor.java b/src/main/java/teetime/variant/explicitScheduling/stage/basic/distributor/Distributor.java
similarity index 83%
rename from src/main/java/teetime/stage/basic/distributor/Distributor.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/basic/distributor/Distributor.java
index 5b0a8ea74aaec0cdce7596a24ac72bc786b274be..2fceaae65b7726beeb022d064590d0e3f2b0909d 100644
--- a/src/main/java/teetime/stage/basic/distributor/Distributor.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/basic/distributor/Distributor.java
@@ -14,12 +14,12 @@
  * limitations under the License.
  ***************************************************************************/
 
-package teetime.stage.basic.distributor;
+package teetime.variant.explicitScheduling.stage.basic.distributor;
 
-import teetime.framework.core.AbstractFilter;
-import teetime.framework.core.Context;
-import teetime.framework.core.IInputPort;
-import teetime.framework.core.IOutputPort;
+import teetime.variant.explicitScheduling.framework.core.AbstractFilter;
+import teetime.variant.explicitScheduling.framework.core.Context;
+import teetime.variant.explicitScheduling.framework.core.IInputPort;
+import teetime.variant.explicitScheduling.framework.core.IOutputPort;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/stage/basic/distributor/IDistributorStrategy.java b/src/main/java/teetime/variant/explicitScheduling/stage/basic/distributor/IDistributorStrategy.java
similarity index 83%
rename from src/main/java/teetime/stage/basic/distributor/IDistributorStrategy.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/basic/distributor/IDistributorStrategy.java
index cb35923582fef0822a1e403e120c52038d69cc45..fcf4fceddf948b95b12484fe1576ba833d6aca17 100644
--- a/src/main/java/teetime/stage/basic/distributor/IDistributorStrategy.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/basic/distributor/IDistributorStrategy.java
@@ -13,12 +13,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.stage.basic.distributor;
+package teetime.variant.explicitScheduling.stage.basic.distributor;
 
 import java.util.List;
 
-import teetime.framework.core.Context;
-import teetime.framework.core.IOutputPort;
+import teetime.variant.explicitScheduling.framework.core.Context;
+import teetime.variant.explicitScheduling.framework.core.IOutputPort;
 
 /**
  * @author Nils Christian Ehmke
diff --git a/src/main/java/teetime/stage/basic/distributor/RoundRobinStrategy.java b/src/main/java/teetime/variant/explicitScheduling/stage/basic/distributor/RoundRobinStrategy.java
similarity index 88%
rename from src/main/java/teetime/stage/basic/distributor/RoundRobinStrategy.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/basic/distributor/RoundRobinStrategy.java
index 028e4f82e4282c05100f51bd791686317d29c6fe..75ad77af4939245490d737f2ea326f5279c84f50 100644
--- a/src/main/java/teetime/stage/basic/distributor/RoundRobinStrategy.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/basic/distributor/RoundRobinStrategy.java
@@ -13,12 +13,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.stage.basic.distributor;
+package teetime.variant.explicitScheduling.stage.basic.distributor;
 
 import java.util.List;
 
-import teetime.framework.core.Context;
-import teetime.framework.core.IOutputPort;
+import teetime.variant.explicitScheduling.framework.core.Context;
+import teetime.variant.explicitScheduling.framework.core.IOutputPort;
 
 /**
  * @author Nils Christian Ehmke
diff --git a/src/main/java/teetime/stage/basic/merger/IMergerStrategy.java b/src/main/java/teetime/variant/explicitScheduling/stage/basic/merger/IMergerStrategy.java
similarity index 83%
rename from src/main/java/teetime/stage/basic/merger/IMergerStrategy.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/basic/merger/IMergerStrategy.java
index 390679b6b3d12abc76c7bd187c56c7f403daa5e6..000afaba54033f1116e60c098cb65d281b276248 100644
--- a/src/main/java/teetime/stage/basic/merger/IMergerStrategy.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/basic/merger/IMergerStrategy.java
@@ -13,12 +13,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.stage.basic.merger;
+package teetime.variant.explicitScheduling.stage.basic.merger;
 
 import java.util.List;
 
-import teetime.framework.core.Context;
-import teetime.framework.core.IInputPort;
+import teetime.variant.explicitScheduling.framework.core.Context;
+import teetime.variant.explicitScheduling.framework.core.IInputPort;
 
 /**
  * @author Nils Christian Ehmke
diff --git a/src/main/java/teetime/stage/basic/merger/Merger.java b/src/main/java/teetime/variant/explicitScheduling/stage/basic/merger/Merger.java
similarity index 81%
rename from src/main/java/teetime/stage/basic/merger/Merger.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/basic/merger/Merger.java
index 0a26fecb455117a657a606ec834a7c7875192be5..de1effc98f16265d0673cb6dfed00361970a165e 100644
--- a/src/main/java/teetime/stage/basic/merger/Merger.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/basic/merger/Merger.java
@@ -14,13 +14,13 @@
  * limitations under the License.
  ***************************************************************************/
 
-package teetime.stage.basic.merger;
+package teetime.variant.explicitScheduling.stage.basic.merger;
 
-import teetime.framework.core.AbstractFilter;
-import teetime.framework.core.Context;
-import teetime.framework.core.Description;
-import teetime.framework.core.IInputPort;
-import teetime.framework.core.IOutputPort;
+import teetime.variant.explicitScheduling.framework.core.AbstractFilter;
+import teetime.variant.explicitScheduling.framework.core.Context;
+import teetime.variant.explicitScheduling.framework.core.Description;
+import teetime.variant.explicitScheduling.framework.core.IInputPort;
+import teetime.variant.explicitScheduling.framework.core.IOutputPort;
 
 /**
  * 
diff --git a/src/main/java/teetime/stage/basic/merger/RoundRobinStrategy.java b/src/main/java/teetime/variant/explicitScheduling/stage/basic/merger/RoundRobinStrategy.java
similarity index 89%
rename from src/main/java/teetime/stage/basic/merger/RoundRobinStrategy.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/basic/merger/RoundRobinStrategy.java
index db8c674f0e27f2340bd57bafc0dd61ab4fa9b26f..bf61492d71b6b5ef137f8d48e1a67705416d2826 100644
--- a/src/main/java/teetime/stage/basic/merger/RoundRobinStrategy.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/basic/merger/RoundRobinStrategy.java
@@ -13,12 +13,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.stage.basic.merger;
+package teetime.variant.explicitScheduling.stage.basic.merger;
 
 import java.util.List;
 
-import teetime.framework.core.Context;
-import teetime.framework.core.IInputPort;
+import teetime.variant.explicitScheduling.framework.core.Context;
+import teetime.variant.explicitScheduling.framework.core.IInputPort;
 
 /**
  * @author Nils Christian Ehmke
diff --git a/src/main/java/teetime/stage/composite/CycledCountingFilter.java b/src/main/java/teetime/variant/explicitScheduling/stage/composite/CycledCountingFilter.java
similarity index 90%
rename from src/main/java/teetime/stage/composite/CycledCountingFilter.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/composite/CycledCountingFilter.java
index ab715eefa2437a3bc234455a66e77e68e3f44011..a3cea02390ae76bb1c6f2808bcb2622d7e165510 100644
--- a/src/main/java/teetime/stage/composite/CycledCountingFilter.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/composite/CycledCountingFilter.java
@@ -14,10 +14,10 @@
  * limitations under the License.
  ***************************************************************************/
 
-package teetime.stage.composite;
+package teetime.variant.explicitScheduling.stage.composite;
 
-import teetime.framework.core.IPipe;
-import teetime.stage.CountingFilter;
+import teetime.variant.explicitScheduling.framework.core.IPipe;
+import teetime.variant.explicitScheduling.stage.CountingFilter;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/stage/composite/ReadRecordFromCsvFileFilter.java b/src/main/java/teetime/variant/explicitScheduling/stage/composite/ReadRecordFromCsvFileFilter.java
similarity index 76%
rename from src/main/java/teetime/stage/composite/ReadRecordFromCsvFileFilter.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/composite/ReadRecordFromCsvFileFilter.java
index dc9e397ab56cef8978d5a6043d6ec105deebd597..5f8ebdfb775592834d94a700c65243468be48f85 100644
--- a/src/main/java/teetime/stage/composite/ReadRecordFromCsvFileFilter.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/composite/ReadRecordFromCsvFileFilter.java
@@ -14,15 +14,15 @@
  * limitations under the License.
  ***************************************************************************/
 
-package teetime.stage.composite;
+package teetime.variant.explicitScheduling.stage.composite;
 
-import teetime.framework.core.AbstractFilter;
-import teetime.framework.core.Context;
-import teetime.framework.core.IPipe;
-import teetime.stage.io.File2TextLinesFilter;
-import teetime.stage.kieker.className.ClassNameRegistryRepository;
-import teetime.stage.kieker.fileToRecord.textLine.TextLine2RecordFilter;
-import teetime.stage.util.TextLine;
+import teetime.variant.explicitScheduling.framework.core.AbstractFilter;
+import teetime.variant.explicitScheduling.framework.core.Context;
+import teetime.variant.explicitScheduling.framework.core.IPipe;
+import teetime.variant.explicitScheduling.stage.io.File2TextLinesFilter;
+import teetime.variant.explicitScheduling.stage.kieker.className.ClassNameRegistryRepository;
+import teetime.variant.explicitScheduling.stage.kieker.fileToRecord.textLine.TextLine2RecordFilter;
+import teetime.variant.explicitScheduling.stage.util.TextLine;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/stage/composite/TeeFilter.java b/src/main/java/teetime/variant/explicitScheduling/stage/composite/TeeFilter.java
similarity index 73%
rename from src/main/java/teetime/stage/composite/TeeFilter.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/composite/TeeFilter.java
index a249edec4ecd4b5e0ff4f0a540d9cc2ae531ff54..6daf7038a29a1247158853a811bd6a0e8e58f57d 100644
--- a/src/main/java/teetime/stage/composite/TeeFilter.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/composite/TeeFilter.java
@@ -14,15 +14,15 @@
  * limitations under the License.
  ***************************************************************************/
 
-package teetime.stage.composite;
-
-import teetime.framework.core.AbstractFilter;
-import teetime.framework.core.Context;
-import teetime.framework.core.IOutputPort;
-import teetime.framework.core.IPipe;
-import teetime.framework.sequential.MethodCallPipe;
-import teetime.stage.basic.distributor.Distributor;
-import teetime.stage.io.Printer;
+package teetime.variant.explicitScheduling.stage.composite;
+
+import teetime.variant.explicitScheduling.framework.core.AbstractFilter;
+import teetime.variant.explicitScheduling.framework.core.Context;
+import teetime.variant.explicitScheduling.framework.core.IOutputPort;
+import teetime.variant.explicitScheduling.framework.core.IPipe;
+import teetime.variant.explicitScheduling.framework.sequential.MethodCallPipe;
+import teetime.variant.explicitScheduling.stage.basic.distributor.Distributor;
+import teetime.variant.explicitScheduling.stage.io.Printer;
 
 /**
  * @author Nils Christian Ehmke
diff --git a/src/main/java/teetime/stage/io/DbReader.java b/src/main/java/teetime/variant/explicitScheduling/stage/io/DbReader.java
similarity index 94%
rename from src/main/java/teetime/stage/io/DbReader.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/io/DbReader.java
index 14847fa5b7dd5fd12cc2cea10ea20c77d1836d7e..60809bdb3f8b2b0b75358807d5a9349e0abe3d83 100644
--- a/src/main/java/teetime/stage/io/DbReader.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/io/DbReader.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  ***************************************************************************/
 
-package teetime.stage.io;
+package teetime.variant.explicitScheduling.stage.io;
 
 import java.sql.Connection;
 import java.sql.DriverManager;
@@ -25,10 +25,11 @@ import java.sql.Statement;
 import kieker.common.exception.MonitoringRecordException;
 import kieker.common.record.AbstractMonitoringRecord;
 import kieker.common.record.IMonitoringRecord;
-import teetime.framework.core.AbstractFilter;
-import teetime.framework.core.Context;
-import teetime.framework.core.Description;
-import teetime.framework.core.IOutputPort;
+
+import teetime.variant.explicitScheduling.framework.core.AbstractFilter;
+import teetime.variant.explicitScheduling.framework.core.Context;
+import teetime.variant.explicitScheduling.framework.core.Description;
+import teetime.variant.explicitScheduling.framework.core.IOutputPort;
 
 /**
  * A very simple database reader that probably only works for small data sets.
diff --git a/src/main/java/teetime/stage/io/Directory2FilesFilter.java b/src/main/java/teetime/variant/explicitScheduling/stage/io/Directory2FilesFilter.java
similarity index 89%
rename from src/main/java/teetime/stage/io/Directory2FilesFilter.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/io/Directory2FilesFilter.java
index d74fa6e18f4d703d91529bad27bb6e45b6ca36d4..7e781980c700321747371a9ff1e30236ea199d96 100644
--- a/src/main/java/teetime/stage/io/Directory2FilesFilter.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/io/Directory2FilesFilter.java
@@ -14,17 +14,17 @@
  * limitations under the License.
  ***************************************************************************/
 
-package teetime.stage.io;
+package teetime.variant.explicitScheduling.stage.io;
 
 import java.io.File;
 import java.io.FileFilter;
 import java.util.Arrays;
 import java.util.Comparator;
 
-import teetime.framework.core.AbstractFilter;
-import teetime.framework.core.Context;
-import teetime.framework.core.IInputPort;
-import teetime.framework.core.IOutputPort;
+import teetime.variant.explicitScheduling.framework.core.AbstractFilter;
+import teetime.variant.explicitScheduling.framework.core.Context;
+import teetime.variant.explicitScheduling.framework.core.IInputPort;
+import teetime.variant.explicitScheduling.framework.core.IOutputPort;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/stage/io/File2TextLinesFilter.java b/src/main/java/teetime/variant/explicitScheduling/stage/io/File2TextLinesFilter.java
similarity index 85%
rename from src/main/java/teetime/stage/io/File2TextLinesFilter.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/io/File2TextLinesFilter.java
index 114a6dcf2bc034f973622820ffa0dbc8dc548adc..08d479ca3125d7d42b4d8b1f83ca898fc835689b 100644
--- a/src/main/java/teetime/stage/io/File2TextLinesFilter.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/io/File2TextLinesFilter.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  ***************************************************************************/
 
-package teetime.stage.io;
+package teetime.variant.explicitScheduling.stage.io;
 
 import java.io.BufferedReader;
 import java.io.File;
@@ -23,11 +23,11 @@ import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.io.InputStreamReader;
 
-import teetime.framework.core.AbstractFilter;
-import teetime.framework.core.Context;
-import teetime.framework.core.IInputPort;
-import teetime.framework.core.IOutputPort;
-import teetime.stage.util.TextLine;
+import teetime.variant.explicitScheduling.framework.core.AbstractFilter;
+import teetime.variant.explicitScheduling.framework.core.Context;
+import teetime.variant.explicitScheduling.framework.core.IInputPort;
+import teetime.variant.explicitScheduling.framework.core.IOutputPort;
+import teetime.variant.explicitScheduling.stage.util.TextLine;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/stage/io/Printer.java b/src/main/java/teetime/variant/explicitScheduling/stage/io/Printer.java
similarity index 92%
rename from src/main/java/teetime/stage/io/Printer.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/io/Printer.java
index 538ad01c282e734485a5967f45ed450498033605..a47068af38bfc16c33faf6f6e8f757df8f3a21f6 100644
--- a/src/main/java/teetime/stage/io/Printer.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/io/Printer.java
@@ -13,17 +13,17 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.stage.io;
+package teetime.variant.explicitScheduling.stage.io;
 
 import java.io.FileNotFoundException;
 import java.io.FileOutputStream;
 import java.io.PrintStream;
 import java.io.UnsupportedEncodingException;
 
-import teetime.framework.core.AbstractFilter;
-import teetime.framework.core.Context;
-import teetime.framework.core.Description;
-import teetime.framework.core.IInputPort;
+import teetime.variant.explicitScheduling.framework.core.AbstractFilter;
+import teetime.variant.explicitScheduling.framework.core.Context;
+import teetime.variant.explicitScheduling.framework.core.Description;
+import teetime.variant.explicitScheduling.framework.core.IInputPort;
 
 /**
  * @author Matthias Rohr, Jan Waller, Nils Christian Ehmke
diff --git a/src/main/java/teetime/stage/io/TCPReader.java b/src/main/java/teetime/variant/explicitScheduling/stage/io/TCPReader.java
similarity index 95%
rename from src/main/java/teetime/stage/io/TCPReader.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/io/TCPReader.java
index ad773d9f26c85ab44b18b0ba2332731a5b0f7a5d..60dc9bcbde6bc2dfdd213e324be585e85e7e6169 100644
--- a/src/main/java/teetime/stage/io/TCPReader.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/io/TCPReader.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.stage.io;
+package teetime.variant.explicitScheduling.stage.io;
 
 import java.io.IOException;
 import java.net.InetSocketAddress;
@@ -30,9 +30,10 @@ import kieker.common.record.IMonitoringRecord;
 import kieker.common.record.misc.RegistryRecord;
 import kieker.common.util.registry.ILookup;
 import kieker.common.util.registry.Lookup;
-import teetime.framework.core.AbstractFilter;
-import teetime.framework.core.Context;
-import teetime.framework.core.IOutputPort;
+
+import teetime.variant.explicitScheduling.framework.core.AbstractFilter;
+import teetime.variant.explicitScheduling.framework.core.Context;
+import teetime.variant.explicitScheduling.framework.core.IOutputPort;
 
 /**
  * This is a reader which reads the records from a TCP port.
diff --git a/src/main/java/teetime/stage/kieker/File2RecordFilter.java b/src/main/java/teetime/variant/explicitScheduling/stage/kieker/File2RecordFilter.java
similarity index 85%
rename from src/main/java/teetime/stage/kieker/File2RecordFilter.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/kieker/File2RecordFilter.java
index 09e9a733277aea6bea89a073856eac0708d1943a..d2a2193daf3cae9e3196b1ef537282e9f6bb10af 100644
--- a/src/main/java/teetime/stage/kieker/File2RecordFilter.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/kieker/File2RecordFilter.java
@@ -13,24 +13,24 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.stage.kieker;
+package teetime.variant.explicitScheduling.stage.kieker;
 
 import java.io.File;
 
-import teetime.framework.concurrent.ConcurrentWorkStealingPipe;
-import teetime.framework.concurrent.ConcurrentWorkStealingPipeFactory;
-import teetime.framework.core.CompositeFilter;
-import teetime.framework.core.IInputPort;
-import teetime.framework.core.IOutputPort;
-import teetime.stage.FileExtensionFilter;
-import teetime.stage.basic.merger.Merger;
-import teetime.stage.kieker.className.ClassNameRegistryCreationFilter;
-import teetime.stage.kieker.className.ClassNameRegistryRepository;
-import teetime.stage.kieker.fileToRecord.BinaryFile2RecordFilter;
-import teetime.stage.kieker.fileToRecord.DatFile2RecordFilter;
-import teetime.stage.kieker.fileToRecord.ZipFile2RecordFilter;
-import teetime.stage.predicate.IsDirectoryPredicate;
-import teetime.stage.predicate.PredicateFilter;
+import teetime.variant.explicitScheduling.framework.concurrent.ConcurrentWorkStealingPipe;
+import teetime.variant.explicitScheduling.framework.concurrent.ConcurrentWorkStealingPipeFactory;
+import teetime.variant.explicitScheduling.framework.core.CompositeFilter;
+import teetime.variant.explicitScheduling.framework.core.IInputPort;
+import teetime.variant.explicitScheduling.framework.core.IOutputPort;
+import teetime.variant.explicitScheduling.stage.FileExtensionFilter;
+import teetime.variant.explicitScheduling.stage.basic.merger.Merger;
+import teetime.variant.explicitScheduling.stage.kieker.className.ClassNameRegistryCreationFilter;
+import teetime.variant.explicitScheduling.stage.kieker.className.ClassNameRegistryRepository;
+import teetime.variant.explicitScheduling.stage.kieker.fileToRecord.BinaryFile2RecordFilter;
+import teetime.variant.explicitScheduling.stage.kieker.fileToRecord.DatFile2RecordFilter;
+import teetime.variant.explicitScheduling.stage.kieker.fileToRecord.ZipFile2RecordFilter;
+import teetime.variant.explicitScheduling.stage.predicate.IsDirectoryPredicate;
+import teetime.variant.explicitScheduling.stage.predicate.PredicateFilter;
 
 import kieker.common.record.IMonitoringRecord;
 import kieker.common.util.filesystem.BinaryCompressionMethod;
diff --git a/src/main/java/teetime/stage/kieker/MonitoringLogDirectory2Files.java b/src/main/java/teetime/variant/explicitScheduling/stage/kieker/MonitoringLogDirectory2Files.java
similarity index 90%
rename from src/main/java/teetime/stage/kieker/MonitoringLogDirectory2Files.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/kieker/MonitoringLogDirectory2Files.java
index e65c258848b70d2049f4c3c47c512e98e25374e4..142be117ce3014e1d46a177a0e95008f075b8161 100644
--- a/src/main/java/teetime/stage/kieker/MonitoringLogDirectory2Files.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/kieker/MonitoringLogDirectory2Files.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.stage.kieker;
+package teetime.variant.explicitScheduling.stage.kieker;
 
 import java.io.File;
 import java.io.FileFilter;
@@ -21,9 +21,10 @@ import java.util.Comparator;
 
 import kieker.common.util.filesystem.BinaryCompressionMethod;
 import kieker.common.util.filesystem.FSUtil;
-import teetime.framework.core.Context;
-import teetime.framework.core.IInputPort;
-import teetime.stage.io.Directory2FilesFilter;
+
+import teetime.variant.explicitScheduling.framework.core.Context;
+import teetime.variant.explicitScheduling.framework.core.IInputPort;
+import teetime.variant.explicitScheduling.stage.io.Directory2FilesFilter;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/stage/kieker/className/ClassNameRegistry.java b/src/main/java/teetime/variant/explicitScheduling/stage/kieker/className/ClassNameRegistry.java
similarity index 93%
rename from src/main/java/teetime/stage/kieker/className/ClassNameRegistry.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/kieker/className/ClassNameRegistry.java
index 15e300ede691b9ff5d9a1c33d8b6ba15f7cd1daa..9a8f1656faadb58f8e5892fa8c146ac0bb7e6f19 100644
--- a/src/main/java/teetime/stage/kieker/className/ClassNameRegistry.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/kieker/className/ClassNameRegistry.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.stage.kieker.className;
+package teetime.variant.explicitScheduling.stage.kieker.className;
 
 import java.util.HashMap;
 
diff --git a/src/main/java/teetime/stage/kieker/className/ClassNameRegistryCreationFilter.java b/src/main/java/teetime/variant/explicitScheduling/stage/kieker/className/ClassNameRegistryCreationFilter.java
similarity index 89%
rename from src/main/java/teetime/stage/kieker/className/ClassNameRegistryCreationFilter.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/kieker/className/ClassNameRegistryCreationFilter.java
index 85c350f071d1d6f118070dcb8a8b62ea24547244..e789679ff108713a85678873bd261103955ba2d0 100644
--- a/src/main/java/teetime/stage/kieker/className/ClassNameRegistryCreationFilter.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/kieker/className/ClassNameRegistryCreationFilter.java
@@ -13,17 +13,18 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.stage.kieker.className;
+package teetime.variant.explicitScheduling.stage.kieker.className;
 
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
 
 import kieker.analysis.stage.MappingFileParser;
-import teetime.framework.core.AbstractFilter;
-import teetime.framework.core.Context;
-import teetime.framework.core.IInputPort;
-import teetime.framework.core.IOutputPort;
+
+import teetime.variant.explicitScheduling.framework.core.AbstractFilter;
+import teetime.variant.explicitScheduling.framework.core.Context;
+import teetime.variant.explicitScheduling.framework.core.IInputPort;
+import teetime.variant.explicitScheduling.framework.core.IOutputPort;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/stage/kieker/className/ClassNameRegistryRepository.java b/src/main/java/teetime/variant/explicitScheduling/stage/kieker/className/ClassNameRegistryRepository.java
similarity index 96%
rename from src/main/java/teetime/stage/kieker/className/ClassNameRegistryRepository.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/kieker/className/ClassNameRegistryRepository.java
index bbbd79117109f14dc6e59b2850a5f7a26cb9a3a1..fecda93ab01544e1344eac0e0ce1c678b190c20f 100644
--- a/src/main/java/teetime/stage/kieker/className/ClassNameRegistryRepository.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/kieker/className/ClassNameRegistryRepository.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.stage.kieker.className;
+package teetime.variant.explicitScheduling.stage.kieker.className;
 
 import java.io.File;
 import java.util.concurrent.ConcurrentHashMap;
diff --git a/src/main/java/teetime/stage/kieker/fileToRecord/BinaryFile2RecordFilter.java b/src/main/java/teetime/variant/explicitScheduling/stage/kieker/fileToRecord/BinaryFile2RecordFilter.java
similarity index 89%
rename from src/main/java/teetime/stage/kieker/fileToRecord/BinaryFile2RecordFilter.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/kieker/fileToRecord/BinaryFile2RecordFilter.java
index cba76138e4618e8ed28e4f861ec7d96ba48e2a27..ea1a5bf18c9326066efafbe9d79acbd8b5699de1 100644
--- a/src/main/java/teetime/stage/kieker/fileToRecord/BinaryFile2RecordFilter.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/kieker/fileToRecord/BinaryFile2RecordFilter.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.stage.kieker.fileToRecord;
+package teetime.variant.explicitScheduling.stage.kieker.fileToRecord;
 
 import java.io.DataInputStream;
 import java.io.File;
@@ -23,11 +23,12 @@ import kieker.analysis.stage.RecordFromBinaryFileCreator;
 import kieker.common.exception.MonitoringRecordException;
 import kieker.common.record.IMonitoringRecord;
 import kieker.common.util.filesystem.BinaryCompressionMethod;
-import teetime.framework.core.AbstractFilter;
-import teetime.framework.core.Context;
-import teetime.framework.core.IInputPort;
-import teetime.framework.core.IOutputPort;
-import teetime.stage.kieker.className.ClassNameRegistryRepository;
+
+import teetime.variant.explicitScheduling.framework.core.AbstractFilter;
+import teetime.variant.explicitScheduling.framework.core.Context;
+import teetime.variant.explicitScheduling.framework.core.IInputPort;
+import teetime.variant.explicitScheduling.framework.core.IOutputPort;
+import teetime.variant.explicitScheduling.stage.kieker.className.ClassNameRegistryRepository;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/stage/kieker/fileToRecord/DatFile2RecordFilter.java b/src/main/java/teetime/variant/explicitScheduling/stage/kieker/fileToRecord/DatFile2RecordFilter.java
similarity index 71%
rename from src/main/java/teetime/stage/kieker/fileToRecord/DatFile2RecordFilter.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/kieker/fileToRecord/DatFile2RecordFilter.java
index 04c7ef6f4b807563d704b07a0d1eccb14ca50389..db67b0131ee9c45103a5560fb70ecc51ba38da25 100644
--- a/src/main/java/teetime/stage/kieker/fileToRecord/DatFile2RecordFilter.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/kieker/fileToRecord/DatFile2RecordFilter.java
@@ -13,20 +13,21 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.stage.kieker.fileToRecord;
+package teetime.variant.explicitScheduling.stage.kieker.fileToRecord;
 
 import java.io.File;
 
 import kieker.common.record.IMonitoringRecord;
-import teetime.framework.concurrent.ConcurrentWorkStealingPipe;
-import teetime.framework.concurrent.ConcurrentWorkStealingPipeFactory;
-import teetime.framework.core.CompositeFilter;
-import teetime.framework.core.IInputPort;
-import teetime.framework.core.IOutputPort;
-import teetime.stage.io.File2TextLinesFilter;
-import teetime.stage.kieker.className.ClassNameRegistryRepository;
-import teetime.stage.kieker.fileToRecord.textLine.TextLine2RecordFilter;
-import teetime.stage.util.TextLine;
+
+import teetime.variant.explicitScheduling.framework.concurrent.ConcurrentWorkStealingPipe;
+import teetime.variant.explicitScheduling.framework.concurrent.ConcurrentWorkStealingPipeFactory;
+import teetime.variant.explicitScheduling.framework.core.CompositeFilter;
+import teetime.variant.explicitScheduling.framework.core.IInputPort;
+import teetime.variant.explicitScheduling.framework.core.IOutputPort;
+import teetime.variant.explicitScheduling.stage.io.File2TextLinesFilter;
+import teetime.variant.explicitScheduling.stage.kieker.className.ClassNameRegistryRepository;
+import teetime.variant.explicitScheduling.stage.kieker.fileToRecord.textLine.TextLine2RecordFilter;
+import teetime.variant.explicitScheduling.stage.util.TextLine;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/stage/kieker/fileToRecord/ZipFile2RecordFilter.java b/src/main/java/teetime/variant/explicitScheduling/stage/kieker/fileToRecord/ZipFile2RecordFilter.java
similarity index 90%
rename from src/main/java/teetime/stage/kieker/fileToRecord/ZipFile2RecordFilter.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/kieker/fileToRecord/ZipFile2RecordFilter.java
index e38b30fb5a18cceef5291f982035a9513bb4390c..4f086a903048c9d6a340774b672d8551a9b08f41 100644
--- a/src/main/java/teetime/stage/kieker/fileToRecord/ZipFile2RecordFilter.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/kieker/fileToRecord/ZipFile2RecordFilter.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.stage.kieker.fileToRecord;
+package teetime.variant.explicitScheduling.stage.kieker.fileToRecord;
 
 import java.io.BufferedInputStream;
 import java.io.BufferedReader;
@@ -31,11 +31,12 @@ import java.util.zip.ZipInputStream;
 import kieker.analysis.stage.MappingFileParser;
 import kieker.common.record.IMonitoringRecord;
 import kieker.common.util.filesystem.FSUtil;
-import teetime.framework.core.AbstractFilter;
-import teetime.framework.core.Context;
-import teetime.framework.core.IInputPort;
-import teetime.framework.core.IOutputPort;
-import teetime.stage.kieker.className.ClassNameRegistry;
+
+import teetime.variant.explicitScheduling.framework.core.AbstractFilter;
+import teetime.variant.explicitScheduling.framework.core.Context;
+import teetime.variant.explicitScheduling.framework.core.IInputPort;
+import teetime.variant.explicitScheduling.framework.core.IOutputPort;
+import teetime.variant.explicitScheduling.stage.kieker.className.ClassNameRegistry;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/stage/kieker/fileToRecord/textLine/TextLine2MappingRegistryFilter.java b/src/main/java/teetime/variant/explicitScheduling/stage/kieker/fileToRecord/textLine/TextLine2MappingRegistryFilter.java
similarity index 89%
rename from src/main/java/teetime/stage/kieker/fileToRecord/textLine/TextLine2MappingRegistryFilter.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/kieker/fileToRecord/textLine/TextLine2MappingRegistryFilter.java
index ba77bf916f9dee7b450ca29ea35fcd9d286a9c38..81f0fb3f0087d879208a1d0bdfc2f831a26003a0 100644
--- a/src/main/java/teetime/stage/kieker/fileToRecord/textLine/TextLine2MappingRegistryFilter.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/kieker/fileToRecord/textLine/TextLine2MappingRegistryFilter.java
@@ -14,14 +14,15 @@
  * limitations under the License.
  ***************************************************************************/
 
-package teetime.stage.kieker.fileToRecord.textLine;
+package teetime.variant.explicitScheduling.stage.kieker.fileToRecord.textLine;
 
 import java.util.Map;
 
 import kieker.common.util.filesystem.FSUtil;
-import teetime.framework.core.AbstractFilter;
-import teetime.framework.core.Context;
-import teetime.framework.core.IInputPort;
+
+import teetime.variant.explicitScheduling.framework.core.AbstractFilter;
+import teetime.variant.explicitScheduling.framework.core.Context;
+import teetime.variant.explicitScheduling.framework.core.IInputPort;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/stage/kieker/fileToRecord/textLine/TextLine2RecordFilter.java b/src/main/java/teetime/variant/explicitScheduling/stage/kieker/fileToRecord/textLine/TextLine2RecordFilter.java
similarity index 86%
rename from src/main/java/teetime/stage/kieker/fileToRecord/textLine/TextLine2RecordFilter.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/kieker/fileToRecord/textLine/TextLine2RecordFilter.java
index e0599e802df9b7b50b5d5dbe7e7c3110c35987ce..e066fe2319b8acfc21ebf2a720663c0f79b4dc7f 100644
--- a/src/main/java/teetime/stage/kieker/fileToRecord/textLine/TextLine2RecordFilter.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/kieker/fileToRecord/textLine/TextLine2RecordFilter.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  ***************************************************************************/
 
-package teetime.stage.kieker.fileToRecord.textLine;
+package teetime.variant.explicitScheduling.stage.kieker.fileToRecord.textLine;
 
 import java.util.HashSet;
 import java.util.Set;
@@ -24,13 +24,14 @@ import kieker.common.exception.IllegalRecordFormatException;
 import kieker.common.exception.MonitoringRecordException;
 import kieker.common.exception.UnknownRecordTypeException;
 import kieker.common.record.IMonitoringRecord;
-import teetime.framework.core.AbstractFilter;
-import teetime.framework.core.Context;
-import teetime.framework.core.IInputPort;
-import teetime.framework.core.IOutputPort;
-import teetime.stage.MappingException;
-import teetime.stage.kieker.className.ClassNameRegistryRepository;
-import teetime.stage.util.TextLine;
+
+import teetime.variant.explicitScheduling.framework.core.AbstractFilter;
+import teetime.variant.explicitScheduling.framework.core.Context;
+import teetime.variant.explicitScheduling.framework.core.IInputPort;
+import teetime.variant.explicitScheduling.framework.core.IOutputPort;
+import teetime.variant.explicitScheduling.stage.MappingException;
+import teetime.variant.explicitScheduling.stage.kieker.className.ClassNameRegistryRepository;
+import teetime.variant.explicitScheduling.stage.util.TextLine;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/stage/kieker/traceReconstruction/TraceReconstructionFilter.java b/src/main/java/teetime/variant/explicitScheduling/stage/kieker/traceReconstruction/TraceReconstructionFilter.java
similarity index 94%
rename from src/main/java/teetime/stage/kieker/traceReconstruction/TraceReconstructionFilter.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/kieker/traceReconstruction/TraceReconstructionFilter.java
index 96cfe3d4c4f1d7f23e26b7afa1f5b8ff7bd49f4a..daf352650b5d524963821a35e8699b88aa183ac7 100644
--- a/src/main/java/teetime/stage/kieker/traceReconstruction/TraceReconstructionFilter.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/kieker/traceReconstruction/TraceReconstructionFilter.java
@@ -13,19 +13,19 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.stage.kieker.traceReconstruction;
+package teetime.variant.explicitScheduling.stage.kieker.traceReconstruction;
 
 import java.util.Iterator;
 import java.util.Map;
 import java.util.Map.Entry;
 import java.util.concurrent.TimeUnit;
 
-import teetime.framework.core.AbstractFilter;
-import teetime.framework.core.Context;
-import teetime.framework.core.IInputPort;
-import teetime.framework.core.IOutputPort;
 import teetime.util.concurrent.hashmap.ConcurrentHashMapWithDefault;
 import teetime.util.concurrent.hashmap.TraceBuffer;
+import teetime.variant.explicitScheduling.framework.core.AbstractFilter;
+import teetime.variant.explicitScheduling.framework.core.Context;
+import teetime.variant.explicitScheduling.framework.core.IInputPort;
+import teetime.variant.explicitScheduling.framework.core.IOutputPort;
 
 import kieker.analysis.plugin.filter.flow.TraceEventRecords;
 import kieker.common.record.flow.IFlowRecord;
diff --git a/src/main/java/teetime/stage/predicate/FileExtensionPredicate.java b/src/main/java/teetime/variant/explicitScheduling/stage/predicate/FileExtensionPredicate.java
similarity index 95%
rename from src/main/java/teetime/stage/predicate/FileExtensionPredicate.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/predicate/FileExtensionPredicate.java
index c7f3bb87e1d768beebf23be33a2d7022adc20fb4..6ce007d3bd0d359a9fd2dd49ec1d1e9e27639b51 100644
--- a/src/main/java/teetime/stage/predicate/FileExtensionPredicate.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/predicate/FileExtensionPredicate.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.stage.predicate;
+package teetime.variant.explicitScheduling.stage.predicate;
 
 import java.io.File;
 
diff --git a/src/main/java/teetime/stage/predicate/IsDirectoryPredicate.java b/src/main/java/teetime/variant/explicitScheduling/stage/predicate/IsDirectoryPredicate.java
similarity index 94%
rename from src/main/java/teetime/stage/predicate/IsDirectoryPredicate.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/predicate/IsDirectoryPredicate.java
index 21b09576bde104c8350614d719e1674ac9899499..fbb7b8172cf2fa228a51382031afa657e8bd1e6b 100644
--- a/src/main/java/teetime/stage/predicate/IsDirectoryPredicate.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/predicate/IsDirectoryPredicate.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.stage.predicate;
+package teetime.variant.explicitScheduling.stage.predicate;
 
 import java.io.File;
 
diff --git a/src/main/java/teetime/stage/predicate/IsIMonitoringRecordInRange.java b/src/main/java/teetime/variant/explicitScheduling/stage/predicate/IsIMonitoringRecordInRange.java
similarity index 95%
rename from src/main/java/teetime/stage/predicate/IsIMonitoringRecordInRange.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/predicate/IsIMonitoringRecordInRange.java
index 8913146b0672b609d4eaa3079ea0b3b025a6419d..b7f6f4648768a3ee88764b4419aff5fa46a62cdc 100644
--- a/src/main/java/teetime/stage/predicate/IsIMonitoringRecordInRange.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/predicate/IsIMonitoringRecordInRange.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.stage.predicate;
+package teetime.variant.explicitScheduling.stage.predicate;
 
 import kieker.common.record.IMonitoringRecord;
 
diff --git a/src/main/java/teetime/stage/predicate/IsInstanceOfPredicate.java b/src/main/java/teetime/variant/explicitScheduling/stage/predicate/IsInstanceOfPredicate.java
similarity index 95%
rename from src/main/java/teetime/stage/predicate/IsInstanceOfPredicate.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/predicate/IsInstanceOfPredicate.java
index 3e0528ee7ef4af466f108430513ff8a8b49d55a2..828591d4e4c24201fb0a8a22b9e0c34666bb179d 100644
--- a/src/main/java/teetime/stage/predicate/IsInstanceOfPredicate.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/predicate/IsInstanceOfPredicate.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.stage.predicate;
+package teetime.variant.explicitScheduling.stage.predicate;
 
 import java.util.Collection;
 
diff --git a/src/main/java/teetime/stage/predicate/IsOperationExecutionRecordInRange.java b/src/main/java/teetime/variant/explicitScheduling/stage/predicate/IsOperationExecutionRecordInRange.java
similarity index 96%
rename from src/main/java/teetime/stage/predicate/IsOperationExecutionRecordInRange.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/predicate/IsOperationExecutionRecordInRange.java
index fcb6ed66e499db618a20980d030defc9773f362e..06d6a2b58edab9611dbe41292ac81568472e3222 100644
--- a/src/main/java/teetime/stage/predicate/IsOperationExecutionRecordInRange.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/predicate/IsOperationExecutionRecordInRange.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.stage.predicate;
+package teetime.variant.explicitScheduling.stage.predicate;
 
 import kieker.common.record.controlflow.OperationExecutionRecord;
 
diff --git a/src/main/java/teetime/stage/predicate/IsOperationExecutionRecordTraceIdPredicate.java b/src/main/java/teetime/variant/explicitScheduling/stage/predicate/IsOperationExecutionRecordTraceIdPredicate.java
similarity index 95%
rename from src/main/java/teetime/stage/predicate/IsOperationExecutionRecordTraceIdPredicate.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/predicate/IsOperationExecutionRecordTraceIdPredicate.java
index b59f5bcddb5c25327446a2b3d6e8c203cecbaae8..f2b60961a6bc87da6d3d8ce50b7072311729fa7a 100644
--- a/src/main/java/teetime/stage/predicate/IsOperationExecutionRecordTraceIdPredicate.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/predicate/IsOperationExecutionRecordTraceIdPredicate.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.stage.predicate;
+package teetime.variant.explicitScheduling.stage.predicate;
 
 import java.util.Set;
 
diff --git a/src/main/java/teetime/stage/predicate/IsSuperTypePredicate.java b/src/main/java/teetime/variant/explicitScheduling/stage/predicate/IsSuperTypePredicate.java
similarity index 95%
rename from src/main/java/teetime/stage/predicate/IsSuperTypePredicate.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/predicate/IsSuperTypePredicate.java
index 2c29775abb3bb18815ccd519ecb6beb76678c273..3be61c143466ab64adf9a850ffe48a93cea8303c 100644
--- a/src/main/java/teetime/stage/predicate/IsSuperTypePredicate.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/predicate/IsSuperTypePredicate.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.stage.predicate;
+package teetime.variant.explicitScheduling.stage.predicate;
 
 import java.util.Collection;
 
diff --git a/src/main/java/teetime/stage/predicate/IsTimestampInRange.java b/src/main/java/teetime/variant/explicitScheduling/stage/predicate/IsTimestampInRange.java
similarity index 95%
rename from src/main/java/teetime/stage/predicate/IsTimestampInRange.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/predicate/IsTimestampInRange.java
index 42ad92d5b45baf4d52ac40672e4b6652f1c71465..53d715adda571a6eaefc5e5535b3c10cc33b233c 100644
--- a/src/main/java/teetime/stage/predicate/IsTimestampInRange.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/predicate/IsTimestampInRange.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.stage.predicate;
+package teetime.variant.explicitScheduling.stage.predicate;
 
 import com.google.common.base.Predicate;
 
diff --git a/src/main/java/teetime/stage/predicate/IsTraceIdPredicate.java b/src/main/java/teetime/variant/explicitScheduling/stage/predicate/IsTraceIdPredicate.java
similarity index 95%
rename from src/main/java/teetime/stage/predicate/IsTraceIdPredicate.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/predicate/IsTraceIdPredicate.java
index e1d369b3bf976aa5903cfbc2187aac61b328de99..48f6f8c4f05a160a379db0ef9574e1e9718b4031 100644
--- a/src/main/java/teetime/stage/predicate/IsTraceIdPredicate.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/predicate/IsTraceIdPredicate.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.stage.predicate;
+package teetime.variant.explicitScheduling.stage.predicate;
 
 import java.util.Set;
 
diff --git a/src/main/java/teetime/stage/predicate/PredicateFilter.java b/src/main/java/teetime/variant/explicitScheduling/stage/predicate/PredicateFilter.java
similarity index 85%
rename from src/main/java/teetime/stage/predicate/PredicateFilter.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/predicate/PredicateFilter.java
index 9a672bfa5a8056099a0b3f188c36768562e2c595..370bdc24ff9ad19bf3c27c01cafd814a53469954 100644
--- a/src/main/java/teetime/stage/predicate/PredicateFilter.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/predicate/PredicateFilter.java
@@ -13,12 +13,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.stage.predicate;
+package teetime.variant.explicitScheduling.stage.predicate;
 
-import teetime.framework.core.AbstractFilter;
-import teetime.framework.core.Context;
-import teetime.framework.core.IInputPort;
-import teetime.framework.core.IOutputPort;
+import teetime.variant.explicitScheduling.framework.core.AbstractFilter;
+import teetime.variant.explicitScheduling.framework.core.Context;
+import teetime.variant.explicitScheduling.framework.core.IInputPort;
+import teetime.variant.explicitScheduling.framework.core.IOutputPort;
 
 import com.google.common.base.Predicate;
 
diff --git a/src/main/java/teetime/stage/stringBuffer/StringBufferFilter.java b/src/main/java/teetime/variant/explicitScheduling/stage/stringBuffer/StringBufferFilter.java
similarity index 84%
rename from src/main/java/teetime/stage/stringBuffer/StringBufferFilter.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/stringBuffer/StringBufferFilter.java
index 0419220cf4c2e60fc011388604a33d3d7de8ff3e..426de753c4ad87794b37239e663bff8ef37a457b 100644
--- a/src/main/java/teetime/stage/stringBuffer/StringBufferFilter.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/stringBuffer/StringBufferFilter.java
@@ -13,17 +13,17 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.stage.stringBuffer;
+package teetime.variant.explicitScheduling.stage.stringBuffer;
 
 import java.util.Collection;
 import java.util.LinkedList;
 
-import teetime.framework.core.AbstractFilter;
-import teetime.framework.core.Context;
-import teetime.framework.core.IInputPort;
-import teetime.framework.core.IOutputPort;
-import teetime.stage.stringBuffer.handler.AbstractDataTypeHandler;
-import teetime.stage.stringBuffer.util.KiekerHashMap;
+import teetime.variant.explicitScheduling.framework.core.AbstractFilter;
+import teetime.variant.explicitScheduling.framework.core.Context;
+import teetime.variant.explicitScheduling.framework.core.IInputPort;
+import teetime.variant.explicitScheduling.framework.core.IOutputPort;
+import teetime.variant.explicitScheduling.stage.stringBuffer.handler.AbstractDataTypeHandler;
+import teetime.variant.explicitScheduling.stage.stringBuffer.util.KiekerHashMap;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/stage/stringBuffer/handler/AbstractDataTypeHandler.java b/src/main/java/teetime/variant/explicitScheduling/stage/stringBuffer/handler/AbstractDataTypeHandler.java
similarity index 89%
rename from src/main/java/teetime/stage/stringBuffer/handler/AbstractDataTypeHandler.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/stringBuffer/handler/AbstractDataTypeHandler.java
index 4badc3aadf8fd35d467626a612a9ebbe6a26fdbd..bb0c2140fa5a9b4db0b97ae43a6ef06ee35b3c76 100644
--- a/src/main/java/teetime/stage/stringBuffer/handler/AbstractDataTypeHandler.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/stringBuffer/handler/AbstractDataTypeHandler.java
@@ -13,9 +13,10 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.stage.stringBuffer.handler;
+package teetime.variant.explicitScheduling.stage.stringBuffer.handler;
+
+import teetime.variant.explicitScheduling.stage.stringBuffer.util.KiekerHashMap;
 
-import teetime.stage.stringBuffer.util.KiekerHashMap;
 import kieker.common.logging.Log;
 
 
diff --git a/src/main/java/teetime/stage/stringBuffer/handler/IMonitoringRecordHandler.java b/src/main/java/teetime/variant/explicitScheduling/stage/stringBuffer/handler/IMonitoringRecordHandler.java
similarity index 96%
rename from src/main/java/teetime/stage/stringBuffer/handler/IMonitoringRecordHandler.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/stringBuffer/handler/IMonitoringRecordHandler.java
index ee345747f9ab70a1ec5e9f8ce26524fec8dd2e4d..6d6f4e5cdfcc42584f959d30dd9f6356ef535bc4 100644
--- a/src/main/java/teetime/stage/stringBuffer/handler/IMonitoringRecordHandler.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/stringBuffer/handler/IMonitoringRecordHandler.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.stage.stringBuffer.handler;
+package teetime.variant.explicitScheduling.stage.stringBuffer.handler;
 
 import kieker.common.exception.MonitoringRecordException;
 import kieker.common.record.AbstractMonitoringRecord;
diff --git a/src/main/java/teetime/stage/stringBuffer/handler/StringHandler.java b/src/main/java/teetime/variant/explicitScheduling/stage/stringBuffer/handler/StringHandler.java
similarity index 93%
rename from src/main/java/teetime/stage/stringBuffer/handler/StringHandler.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/stringBuffer/handler/StringHandler.java
index 82c356faf7727ec9d4b1521a9aceb8594837afca..eac8f68aecc39d8ae57699fd23e0761499160728 100644
--- a/src/main/java/teetime/stage/stringBuffer/handler/StringHandler.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/stringBuffer/handler/StringHandler.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.stage.stringBuffer.handler;
+package teetime.variant.explicitScheduling.stage.stringBuffer.handler;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/stage/stringBuffer/util/KiekerHashMap.java b/src/main/java/teetime/variant/explicitScheduling/stage/stringBuffer/util/KiekerHashMap.java
similarity index 99%
rename from src/main/java/teetime/stage/stringBuffer/util/KiekerHashMap.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/stringBuffer/util/KiekerHashMap.java
index 22542a58e94def8f0df6da4500332b422c550d55..0121ad50a0994be40f1840242634ae116a14cb61 100644
--- a/src/main/java/teetime/stage/stringBuffer/util/KiekerHashMap.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/stringBuffer/util/KiekerHashMap.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.stage.stringBuffer.util;
+package teetime.variant.explicitScheduling.stage.stringBuffer.util;
 
 import java.lang.ref.SoftReference;
 import java.util.concurrent.locks.ReentrantLock;
diff --git a/src/main/java/teetime/stage/throughput/AnalysisThroughputFilter.java b/src/main/java/teetime/variant/explicitScheduling/stage/throughput/AnalysisThroughputFilter.java
similarity index 86%
rename from src/main/java/teetime/stage/throughput/AnalysisThroughputFilter.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/throughput/AnalysisThroughputFilter.java
index 665fcf4e77800f93b7b633925c9ae2ba56d39d61..5d3b66291fdacdb32579af4dd50bf8d3bb7cb6a3 100644
--- a/src/main/java/teetime/stage/throughput/AnalysisThroughputFilter.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/throughput/AnalysisThroughputFilter.java
@@ -13,12 +13,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.stage.throughput;
+package teetime.variant.explicitScheduling.stage.throughput;
 
-import teetime.framework.core.AbstractFilter;
-import teetime.framework.core.Context;
-import teetime.framework.core.IInputPort;
-import teetime.framework.core.IOutputPort;
+import teetime.variant.explicitScheduling.framework.core.AbstractFilter;
+import teetime.variant.explicitScheduling.framework.core.Context;
+import teetime.variant.explicitScheduling.framework.core.IInputPort;
+import teetime.variant.explicitScheduling.framework.core.IOutputPort;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/stage/throughput/ThroughputAnalysisResult.java b/src/main/java/teetime/variant/explicitScheduling/stage/throughput/ThroughputAnalysisResult.java
similarity index 95%
rename from src/main/java/teetime/stage/throughput/ThroughputAnalysisResult.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/throughput/ThroughputAnalysisResult.java
index 35c686b01abeb4257ee3cdfae030e9c2d5349e43..147aec0c369fc1d6b02317ee56d0b9f0f0cd029e 100644
--- a/src/main/java/teetime/stage/throughput/ThroughputAnalysisResult.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/throughput/ThroughputAnalysisResult.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.stage.throughput;
+package teetime.variant.explicitScheduling.stage.throughput;
 
 /**
  * @author Christian Wulf
diff --git a/src/main/java/teetime/stage/util/TextLine.java b/src/main/java/teetime/variant/explicitScheduling/stage/util/TextLine.java
similarity index 95%
rename from src/main/java/teetime/stage/util/TextLine.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/util/TextLine.java
index cc2d9acd666017f343e3fc3017e68871566bd89b..016463d95f50628fded1381039e9814320370c9f 100644
--- a/src/main/java/teetime/stage/util/TextLine.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/util/TextLine.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.stage.util;
+package teetime.variant.explicitScheduling.stage.util;
 
 import java.io.File;
 
diff --git a/src/main/java/teetime/stage/visualization/IWebVisualizationSink.java b/src/main/java/teetime/variant/explicitScheduling/stage/visualization/IWebVisualizationSink.java
similarity index 94%
rename from src/main/java/teetime/stage/visualization/IWebVisualizationSink.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/visualization/IWebVisualizationSink.java
index b352004aa561988ed3e181478afa6701a7c607c8..fe1fad49c4b1b53ca57d20a01ada01fad535127c 100644
--- a/src/main/java/teetime/stage/visualization/IWebVisualizationSink.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/visualization/IWebVisualizationSink.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  ***************************************************************************/
 
-package teetime.stage.visualization;
+package teetime.variant.explicitScheduling.stage.visualization;
 
 /**
  * @author Nils Christian Ehmke
diff --git a/src/main/java/teetime/stage/visualization/PlainTextWebVisualizationSink.java b/src/main/java/teetime/variant/explicitScheduling/stage/visualization/PlainTextWebVisualizationSink.java
similarity index 86%
rename from src/main/java/teetime/stage/visualization/PlainTextWebVisualizationSink.java
rename to src/main/java/teetime/variant/explicitScheduling/stage/visualization/PlainTextWebVisualizationSink.java
index 2bf71599abebbead2ebf680e9d610e5e23be7d22..dea77fb4f8bee974a6065c0c50920337a780ec1a 100644
--- a/src/main/java/teetime/stage/visualization/PlainTextWebVisualizationSink.java
+++ b/src/main/java/teetime/variant/explicitScheduling/stage/visualization/PlainTextWebVisualizationSink.java
@@ -14,11 +14,11 @@
  * limitations under the License.
  ***************************************************************************/
 
-package teetime.stage.visualization;
+package teetime.variant.explicitScheduling.stage.visualization;
 
-import teetime.framework.core.AbstractFilter;
-import teetime.framework.core.Context;
-import teetime.framework.core.IInputPort;
+import teetime.variant.explicitScheduling.framework.core.AbstractFilter;
+import teetime.variant.explicitScheduling.framework.core.Context;
+import teetime.variant.explicitScheduling.framework.core.IInputPort;
 
 /**
  * @author Nils Christian Ehmke, Christian Wulf
diff --git a/src/test/java/teetime/examples/throughput/methodcall/stage/AbstractStage.java b/src/main/java/teetime/variant/methodcall/framework/core/AbstractStage.java
similarity index 93%
rename from src/test/java/teetime/examples/throughput/methodcall/stage/AbstractStage.java
rename to src/main/java/teetime/variant/methodcall/framework/core/AbstractStage.java
index 0e7614b2a47be672ecec979ab9ed98eead10614f..947f68b505ff2f8e6cc3e9ea76fa5a6005d1432b 100644
--- a/src/test/java/teetime/examples/throughput/methodcall/stage/AbstractStage.java
+++ b/src/main/java/teetime/variant/methodcall/framework/core/AbstractStage.java
@@ -1,9 +1,5 @@
-package teetime.examples.throughput.methodcall.stage;
+package teetime.variant.methodcall.framework.core;
 
-import teetime.examples.throughput.methodcall.InputPort;
-import teetime.examples.throughput.methodcall.OutputPort;
-import teetime.examples.throughput.methodcall.Stage;
-import teetime.examples.throughput.methodcall.StageWithPort;
 import teetime.util.list.CommittableQueue;
 
 public abstract class AbstractStage<I, O> implements StageWithPort<I, O> {
diff --git a/src/test/java/teetime/examples/throughput/methodcall/stage/ConsumerStage.java b/src/main/java/teetime/variant/methodcall/framework/core/ConsumerStage.java
similarity index 94%
rename from src/test/java/teetime/examples/throughput/methodcall/stage/ConsumerStage.java
rename to src/main/java/teetime/variant/methodcall/framework/core/ConsumerStage.java
index e9db16c8cb574ea036ced42b8afe28e078cb92a2..ea72ab4732ba77d5233ea40dd8ec3dec5c45049c 100644
--- a/src/test/java/teetime/examples/throughput/methodcall/stage/ConsumerStage.java
+++ b/src/main/java/teetime/variant/methodcall/framework/core/ConsumerStage.java
@@ -1,4 +1,4 @@
-package teetime.examples.throughput.methodcall.stage;
+package teetime.variant.methodcall.framework.core;
 
 import teetime.util.list.CommittableQueue;
 
diff --git a/src/test/java/teetime/examples/throughput/methodcall/InputPort.java b/src/main/java/teetime/variant/methodcall/framework/core/InputPort.java
similarity index 74%
rename from src/test/java/teetime/examples/throughput/methodcall/InputPort.java
rename to src/main/java/teetime/variant/methodcall/framework/core/InputPort.java
index 02e69fd442244682a602c9a57e61655cfd76b264..f74b2bfca09035a5f5d73a98c7359224b2287c50 100644
--- a/src/test/java/teetime/examples/throughput/methodcall/InputPort.java
+++ b/src/main/java/teetime/variant/methodcall/framework/core/InputPort.java
@@ -1,4 +1,6 @@
-package teetime.examples.throughput.methodcall;
+package teetime.variant.methodcall.framework.core;
+
+import teetime.variant.methodcall.framework.core.pipe.IPipe;
 
 public class InputPort<T> {
 
diff --git a/src/test/java/teetime/examples/throughput/methodcall/OutputPort.java b/src/main/java/teetime/variant/methodcall/framework/core/OutputPort.java
similarity index 68%
rename from src/test/java/teetime/examples/throughput/methodcall/OutputPort.java
rename to src/main/java/teetime/variant/methodcall/framework/core/OutputPort.java
index 837d67eb9d1b70786c1f0a8f3defc9880c03d91c..b7612df5882e5469ba973792646a94c5d15e7089 100644
--- a/src/test/java/teetime/examples/throughput/methodcall/OutputPort.java
+++ b/src/main/java/teetime/variant/methodcall/framework/core/OutputPort.java
@@ -1,4 +1,6 @@
-package teetime.examples.throughput.methodcall;
+package teetime.variant.methodcall.framework.core;
+
+import teetime.variant.methodcall.framework.core.pipe.IPipe;
 
 public class OutputPort<T> {
 
diff --git a/src/test/java/teetime/examples/throughput/methodcall/stage/Pipeline.java b/src/main/java/teetime/variant/methodcall/framework/core/Pipeline.java
similarity index 95%
rename from src/test/java/teetime/examples/throughput/methodcall/stage/Pipeline.java
rename to src/main/java/teetime/variant/methodcall/framework/core/Pipeline.java
index 14a5ba46a8cbc28143c522804f95b8d8d3e2d260..265673788ff96710cf02e8a23cfbdbafd732ba4f 100644
--- a/src/test/java/teetime/examples/throughput/methodcall/stage/Pipeline.java
+++ b/src/main/java/teetime/variant/methodcall/framework/core/Pipeline.java
@@ -1,14 +1,11 @@
-package teetime.examples.throughput.methodcall.stage;
+package teetime.variant.methodcall.framework.core;
 
 import java.util.Arrays;
 import java.util.LinkedList;
 import java.util.List;
 
-import teetime.examples.throughput.methodcall.InputPort;
-import teetime.examples.throughput.methodcall.OutputPort;
-import teetime.examples.throughput.methodcall.Stage;
-import teetime.examples.throughput.methodcall.StageWithPort;
 import teetime.util.list.CommittableQueue;
+import teetime.variant.methodcall.stage.EndStage;
 
 public class Pipeline<I, O> implements StageWithPort<I, O> {
 
diff --git a/src/test/java/teetime/examples/throughput/methodcall/stage/ProducerStage.java b/src/main/java/teetime/variant/methodcall/framework/core/ProducerStage.java
similarity index 92%
rename from src/test/java/teetime/examples/throughput/methodcall/stage/ProducerStage.java
rename to src/main/java/teetime/variant/methodcall/framework/core/ProducerStage.java
index b87d04832b436cb153d0658bc73affc96037d12c..b032b0e3af47e61c462be9b2785a9ef36fe3bc0f 100644
--- a/src/test/java/teetime/examples/throughput/methodcall/stage/ProducerStage.java
+++ b/src/main/java/teetime/variant/methodcall/framework/core/ProducerStage.java
@@ -1,4 +1,4 @@
-package teetime.examples.throughput.methodcall.stage;
+package teetime.variant.methodcall.framework.core;
 
 import teetime.util.list.CommittableQueue;
 
diff --git a/src/test/java/teetime/examples/throughput/methodcall/RunnableStage.java b/src/main/java/teetime/variant/methodcall/framework/core/RunnableStage.java
similarity index 86%
rename from src/test/java/teetime/examples/throughput/methodcall/RunnableStage.java
rename to src/main/java/teetime/variant/methodcall/framework/core/RunnableStage.java
index 57107f5a0f056d689e557121c017e56f15e3f246..61e9c6b4806ac4efe1f71045f49cd79d53e67ef4 100644
--- a/src/test/java/teetime/examples/throughput/methodcall/RunnableStage.java
+++ b/src/main/java/teetime/variant/methodcall/framework/core/RunnableStage.java
@@ -1,4 +1,4 @@
-package teetime.examples.throughput.methodcall;
+package teetime.variant.methodcall.framework.core;
 
 public class RunnableStage implements Runnable {
 
diff --git a/src/test/java/teetime/examples/throughput/methodcall/Stage.java b/src/main/java/teetime/variant/methodcall/framework/core/Stage.java
similarity index 92%
rename from src/test/java/teetime/examples/throughput/methodcall/Stage.java
rename to src/main/java/teetime/variant/methodcall/framework/core/Stage.java
index a1d926aaa8f6f9d9d13ad235e38827ee16d7add2..95ac0b028d207eb14f58f5b3188cfa94fcf170d9 100644
--- a/src/test/java/teetime/examples/throughput/methodcall/Stage.java
+++ b/src/main/java/teetime/variant/methodcall/framework/core/Stage.java
@@ -1,4 +1,4 @@
-package teetime.examples.throughput.methodcall;
+package teetime.variant.methodcall.framework.core;
 
 import teetime.util.list.CommittableQueue;
 
diff --git a/src/test/java/teetime/examples/throughput/methodcall/StageWithPort.java b/src/main/java/teetime/variant/methodcall/framework/core/StageWithPort.java
similarity index 83%
rename from src/test/java/teetime/examples/throughput/methodcall/StageWithPort.java
rename to src/main/java/teetime/variant/methodcall/framework/core/StageWithPort.java
index d69535404770d73aa70e40ecb9b8f2bb4f4fe714..9246317e402f465b6fc6c7277392ee0293c5f41a 100644
--- a/src/test/java/teetime/examples/throughput/methodcall/StageWithPort.java
+++ b/src/main/java/teetime/variant/methodcall/framework/core/StageWithPort.java
@@ -1,4 +1,4 @@
-package teetime.examples.throughput.methodcall;
+package teetime.variant.methodcall.framework.core;
 
 public interface StageWithPort<I, O> extends Stage<I, O> {
 
diff --git a/src/test/java/teetime/examples/throughput/methodcall/AbstractPipe.java b/src/main/java/teetime/variant/methodcall/framework/core/pipe/AbstractPipe.java
similarity index 86%
rename from src/test/java/teetime/examples/throughput/methodcall/AbstractPipe.java
rename to src/main/java/teetime/variant/methodcall/framework/core/pipe/AbstractPipe.java
index e0a02f44786562d50aaff5d92a453ab812097d7f..390443afecde9f4cadbadd18228226c6923e7252 100644
--- a/src/test/java/teetime/examples/throughput/methodcall/AbstractPipe.java
+++ b/src/main/java/teetime/variant/methodcall/framework/core/pipe/AbstractPipe.java
@@ -1,4 +1,4 @@
-package teetime.examples.throughput.methodcall;
+package teetime.variant.methodcall.framework.core.pipe;
 
 import java.util.concurrent.atomic.AtomicBoolean;
 
diff --git a/src/test/java/teetime/examples/throughput/methodcall/IPipe.java b/src/main/java/teetime/variant/methodcall/framework/core/pipe/IPipe.java
similarity index 83%
rename from src/test/java/teetime/examples/throughput/methodcall/IPipe.java
rename to src/main/java/teetime/variant/methodcall/framework/core/pipe/IPipe.java
index d382daa9f78e2ba4be2f8d04a64f16919afb29ba..3551eb1fd0deb4e776eb4aa136063a2b8ac0a3e2 100644
--- a/src/test/java/teetime/examples/throughput/methodcall/IPipe.java
+++ b/src/main/java/teetime/variant/methodcall/framework/core/pipe/IPipe.java
@@ -1,4 +1,4 @@
-package teetime.examples.throughput.methodcall;
+package teetime.variant.methodcall.framework.core.pipe;
 
 public interface IPipe<T> {
 
diff --git a/src/test/java/teetime/examples/throughput/methodcall/OrderedGrowableArrayPipe.java b/src/main/java/teetime/variant/methodcall/framework/core/pipe/OrderedGrowableArrayPipe.java
similarity index 85%
rename from src/test/java/teetime/examples/throughput/methodcall/OrderedGrowableArrayPipe.java
rename to src/main/java/teetime/variant/methodcall/framework/core/pipe/OrderedGrowableArrayPipe.java
index 7f5aea2f2f498145791a20794b7b9141d3384f53..7989ba04563bc9523b97ffa037290e5e74055a45 100644
--- a/src/test/java/teetime/examples/throughput/methodcall/OrderedGrowableArrayPipe.java
+++ b/src/main/java/teetime/variant/methodcall/framework/core/pipe/OrderedGrowableArrayPipe.java
@@ -1,6 +1,8 @@
-package teetime.examples.throughput.methodcall;
+package teetime.variant.methodcall.framework.core.pipe;
 
 import teetime.util.concurrent.workstealing.CircularArray;
+import teetime.variant.methodcall.framework.core.InputPort;
+import teetime.variant.methodcall.framework.core.OutputPort;
 
 public class OrderedGrowableArrayPipe<T> extends AbstractPipe<T> {
 
diff --git a/src/test/java/teetime/examples/throughput/methodcall/OrderedGrowablePipe.java b/src/main/java/teetime/variant/methodcall/framework/core/pipe/OrderedGrowablePipe.java
similarity index 82%
rename from src/test/java/teetime/examples/throughput/methodcall/OrderedGrowablePipe.java
rename to src/main/java/teetime/variant/methodcall/framework/core/pipe/OrderedGrowablePipe.java
index 645cd00423e8a86ec89805c6852c79ee7e0f281f..124d1c7ccf7bde6e5132fa072b6aed90f45a55ac 100644
--- a/src/test/java/teetime/examples/throughput/methodcall/OrderedGrowablePipe.java
+++ b/src/main/java/teetime/variant/methodcall/framework/core/pipe/OrderedGrowablePipe.java
@@ -1,7 +1,10 @@
-package teetime.examples.throughput.methodcall;
+package teetime.variant.methodcall.framework.core.pipe;
 
 import java.util.LinkedList;
 
+import teetime.variant.methodcall.framework.core.InputPort;
+import teetime.variant.methodcall.framework.core.OutputPort;
+
 public class OrderedGrowablePipe<T> extends AbstractPipe<T> {
 
 	private LinkedList<T> elements;
diff --git a/src/test/java/teetime/examples/throughput/methodcall/Pipe.java b/src/main/java/teetime/variant/methodcall/framework/core/pipe/Pipe.java
similarity index 88%
rename from src/test/java/teetime/examples/throughput/methodcall/Pipe.java
rename to src/main/java/teetime/variant/methodcall/framework/core/pipe/Pipe.java
index 0e6081b0884b7e062d9e77543ba4b80ca33779fc..e710e6fa4944ca0a0ed1590a3170dc49bc7b0168 100644
--- a/src/test/java/teetime/examples/throughput/methodcall/Pipe.java
+++ b/src/main/java/teetime/variant/methodcall/framework/core/pipe/Pipe.java
@@ -1,6 +1,8 @@
-package teetime.examples.throughput.methodcall;
+package teetime.variant.methodcall.framework.core.pipe;
 
 import teetime.util.list.CommittableResizableArrayQueue;
+import teetime.variant.methodcall.framework.core.InputPort;
+import teetime.variant.methodcall.framework.core.OutputPort;
 
 public class Pipe<T> extends AbstractPipe<T> {
 
diff --git a/src/test/java/teetime/examples/throughput/methodcall/SingleElementPipe.java b/src/main/java/teetime/variant/methodcall/framework/core/pipe/SingleElementPipe.java
similarity index 83%
rename from src/test/java/teetime/examples/throughput/methodcall/SingleElementPipe.java
rename to src/main/java/teetime/variant/methodcall/framework/core/pipe/SingleElementPipe.java
index 44409ddb96520da8a6beb346a3a59e2f4e5d7c79..c7f8053fec84f765e6ae6dd1e5154b409beff40a 100644
--- a/src/test/java/teetime/examples/throughput/methodcall/SingleElementPipe.java
+++ b/src/main/java/teetime/variant/methodcall/framework/core/pipe/SingleElementPipe.java
@@ -1,4 +1,7 @@
-package teetime.examples.throughput.methodcall;
+package teetime.variant.methodcall.framework.core.pipe;
+
+import teetime.variant.methodcall.framework.core.InputPort;
+import teetime.variant.methodcall.framework.core.OutputPort;
 
 //public class SingleElementPipe<T> implements IPipe<T> {
 public class SingleElementPipe<T> extends AbstractPipe<T> {
diff --git a/src/test/java/teetime/examples/throughput/methodcall/SpScPipe.java b/src/main/java/teetime/variant/methodcall/framework/core/pipe/SpScPipe.java
similarity index 80%
rename from src/test/java/teetime/examples/throughput/methodcall/SpScPipe.java
rename to src/main/java/teetime/variant/methodcall/framework/core/pipe/SpScPipe.java
index b545cf38afa779e9303694cb5bf2ff1d3dc558cd..2856c165a78e38b890a90f0bbcf0bdfda0b201d8 100644
--- a/src/test/java/teetime/examples/throughput/methodcall/SpScPipe.java
+++ b/src/main/java/teetime/variant/methodcall/framework/core/pipe/SpScPipe.java
@@ -1,6 +1,8 @@
-package teetime.examples.throughput.methodcall;
+package teetime.variant.methodcall.framework.core.pipe;
 
 import teetime.util.concurrent.spsc.FFBufferOrdered3;
+import teetime.variant.methodcall.framework.core.InputPort;
+import teetime.variant.methodcall.framework.core.OutputPort;
 
 public class SpScPipe<T> extends AbstractPipe<T> {
 
diff --git a/src/test/java/teetime/examples/throughput/methodcall/UnorderedGrowablePipe.java b/src/main/java/teetime/variant/methodcall/framework/core/pipe/UnorderedGrowablePipe.java
similarity index 93%
rename from src/test/java/teetime/examples/throughput/methodcall/UnorderedGrowablePipe.java
rename to src/main/java/teetime/variant/methodcall/framework/core/pipe/UnorderedGrowablePipe.java
index 87b94df6440a7904f85817eac4ca10adbfb9e429..fe5359ab62555f188db8889040f6074c6f777b5b 100644
--- a/src/test/java/teetime/examples/throughput/methodcall/UnorderedGrowablePipe.java
+++ b/src/main/java/teetime/variant/methodcall/framework/core/pipe/UnorderedGrowablePipe.java
@@ -1,4 +1,7 @@
-package teetime.examples.throughput.methodcall;
+package teetime.variant.methodcall.framework.core.pipe;
+
+import teetime.variant.methodcall.framework.core.InputPort;
+import teetime.variant.methodcall.framework.core.OutputPort;
 
 public class UnorderedGrowablePipe<T> extends AbstractPipe<T> {
 
diff --git a/src/test/java/teetime/examples/throughput/methodcall/stage/Clock.java b/src/main/java/teetime/variant/methodcall/stage/Clock.java
similarity index 92%
rename from src/test/java/teetime/examples/throughput/methodcall/stage/Clock.java
rename to src/main/java/teetime/variant/methodcall/stage/Clock.java
index f6d8fe3da71d4fd06c2f0521f0e88dfca9265709..7479e20555b120f445498b93ea135c35d5cda1e2 100644
--- a/src/test/java/teetime/examples/throughput/methodcall/stage/Clock.java
+++ b/src/main/java/teetime/variant/methodcall/stage/Clock.java
@@ -1,6 +1,7 @@
-package teetime.examples.throughput.methodcall.stage;
+package teetime.variant.methodcall.stage;
 
 import teetime.util.list.CommittableQueue;
+import teetime.variant.methodcall.framework.core.ProducerStage;
 
 public class Clock extends ProducerStage<Void, Long> {
 
diff --git a/src/test/java/teetime/examples/throughput/methodcall/stage/CollectorSink.java b/src/main/java/teetime/variant/methodcall/stage/CollectorSink.java
similarity index 95%
rename from src/test/java/teetime/examples/throughput/methodcall/stage/CollectorSink.java
rename to src/main/java/teetime/variant/methodcall/stage/CollectorSink.java
index 481d12728dcfa0400d82ba0a29b8aeb64da5e21e..4bc890e0b372dd50f888e67af7dcb930e0ab8b4f 100644
--- a/src/test/java/teetime/examples/throughput/methodcall/stage/CollectorSink.java
+++ b/src/main/java/teetime/variant/methodcall/stage/CollectorSink.java
@@ -13,11 +13,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.examples.throughput.methodcall.stage;
+package teetime.variant.methodcall.stage;
 
 import java.util.List;
 
 import teetime.util.list.CommittableQueue;
+import teetime.variant.methodcall.framework.core.ConsumerStage;
 
 /**
  * @author Christian Wulf
diff --git a/src/test/java/teetime/examples/throughput/methodcall/stage/Delay.java b/src/main/java/teetime/variant/methodcall/stage/Delay.java
similarity index 89%
rename from src/test/java/teetime/examples/throughput/methodcall/stage/Delay.java
rename to src/main/java/teetime/variant/methodcall/stage/Delay.java
index 5995c4573798ef705f50f6eb5e909f278e833da9..f5103209fe969f15334000c5589c7e5d01ef9631 100644
--- a/src/test/java/teetime/examples/throughput/methodcall/stage/Delay.java
+++ b/src/main/java/teetime/variant/methodcall/stage/Delay.java
@@ -1,7 +1,8 @@
-package teetime.examples.throughput.methodcall.stage;
+package teetime.variant.methodcall.stage;
 
-import teetime.examples.throughput.methodcall.InputPort;
 import teetime.util.list.CommittableQueue;
+import teetime.variant.methodcall.framework.core.AbstractStage;
+import teetime.variant.methodcall.framework.core.InputPort;
 
 public class Delay<I> extends AbstractStage<I, I> {
 
diff --git a/src/test/java/teetime/examples/throughput/methodcall/stage/Distributor.java b/src/main/java/teetime/variant/methodcall/stage/Distributor.java
similarity index 92%
rename from src/test/java/teetime/examples/throughput/methodcall/stage/Distributor.java
rename to src/main/java/teetime/variant/methodcall/stage/Distributor.java
index 18e1cc95e6d4a9f1f7b656857e2e29d9ab223e3e..ea56a54b3763816a2fff4fcc5974467f4090ca75 100644
--- a/src/test/java/teetime/examples/throughput/methodcall/stage/Distributor.java
+++ b/src/main/java/teetime/variant/methodcall/stage/Distributor.java
@@ -1,11 +1,12 @@
-package teetime.examples.throughput.methodcall.stage;
+package teetime.variant.methodcall.stage;
 
 import java.util.ArrayList;
 import java.util.List;
 
-import teetime.examples.throughput.methodcall.OutputPort;
 import teetime.util.concurrent.spsc.Pow2;
 import teetime.util.list.CommittableQueue;
+import teetime.variant.methodcall.framework.core.AbstractStage;
+import teetime.variant.methodcall.framework.core.OutputPort;
 
 public final class Distributor<T> extends AbstractStage<T, T> {
 
diff --git a/src/test/java/teetime/examples/throughput/methodcall/stage/EndStage.java b/src/main/java/teetime/variant/methodcall/stage/EndStage.java
similarity index 83%
rename from src/test/java/teetime/examples/throughput/methodcall/stage/EndStage.java
rename to src/main/java/teetime/variant/methodcall/stage/EndStage.java
index c5a501d56a2fda2404210270442f45f283afc162..f3c12625a089efd2a89a799163318a00fd175396 100644
--- a/src/test/java/teetime/examples/throughput/methodcall/stage/EndStage.java
+++ b/src/main/java/teetime/variant/methodcall/stage/EndStage.java
@@ -1,14 +1,14 @@
-package teetime.examples.throughput.methodcall.stage;
+package teetime.variant.methodcall.stage;
 
 import java.util.LinkedList;
 import java.util.List;
 
-import teetime.examples.throughput.methodcall.ConstructorClosure;
-import teetime.examples.throughput.methodcall.InputPort;
-import teetime.examples.throughput.methodcall.OutputPort;
-import teetime.examples.throughput.methodcall.Stage;
-import teetime.examples.throughput.methodcall.StageWithPort;
+import teetime.util.ConstructorClosure;
 import teetime.util.list.CommittableQueue;
+import teetime.variant.methodcall.framework.core.InputPort;
+import teetime.variant.methodcall.framework.core.OutputPort;
+import teetime.variant.methodcall.framework.core.Stage;
+import teetime.variant.methodcall.framework.core.StageWithPort;
 
 public class EndStage<T> implements StageWithPort<T, T> {
 
diff --git a/src/test/java/teetime/examples/throughput/methodcall/stage/Merger.java b/src/main/java/teetime/variant/methodcall/stage/Merger.java
similarity index 91%
rename from src/test/java/teetime/examples/throughput/methodcall/stage/Merger.java
rename to src/main/java/teetime/variant/methodcall/stage/Merger.java
index 4977757c470cccf14e0063c0b11cbc9c16748f4a..0c5a9f3130d084345fface46793964437cac09c3 100644
--- a/src/test/java/teetime/examples/throughput/methodcall/stage/Merger.java
+++ b/src/main/java/teetime/variant/methodcall/stage/Merger.java
@@ -1,11 +1,12 @@
-package teetime.examples.throughput.methodcall.stage;
+package teetime.variant.methodcall.stage;
 
 import java.util.ArrayList;
 import java.util.List;
 
-import teetime.examples.throughput.methodcall.InputPort;
 import teetime.util.concurrent.spsc.Pow2;
 import teetime.util.list.CommittableQueue;
+import teetime.variant.methodcall.framework.core.AbstractStage;
+import teetime.variant.methodcall.framework.core.InputPort;
 
 public class Merger<T> extends AbstractStage<T, T> {
 
diff --git a/src/test/java/teetime/examples/throughput/methodcall/stage/NoopFilter.java b/src/main/java/teetime/variant/methodcall/stage/NoopFilter.java
similarity index 93%
rename from src/test/java/teetime/examples/throughput/methodcall/stage/NoopFilter.java
rename to src/main/java/teetime/variant/methodcall/stage/NoopFilter.java
index 98413fbb37cf3d2878c6f7c6f991fe66277e36c8..ace51b02dd2b5984ba025352ee18de4954ce8c39 100644
--- a/src/test/java/teetime/examples/throughput/methodcall/stage/NoopFilter.java
+++ b/src/main/java/teetime/variant/methodcall/stage/NoopFilter.java
@@ -13,9 +13,10 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.examples.throughput.methodcall.stage;
+package teetime.variant.methodcall.stage;
 
 import teetime.util.list.CommittableQueue;
+import teetime.variant.methodcall.framework.core.ConsumerStage;
 
 /**
  * @author Christian Wulf
diff --git a/src/test/java/teetime/examples/throughput/methodcall/stage/ObjectProducer.java b/src/main/java/teetime/variant/methodcall/stage/ObjectProducer.java
similarity index 95%
rename from src/test/java/teetime/examples/throughput/methodcall/stage/ObjectProducer.java
rename to src/main/java/teetime/variant/methodcall/stage/ObjectProducer.java
index 9db2918a4452415453586888c5232bfb143fd716..efd8cbdc7b874f50e2bf4a78c5b5dbd8dcad708d 100644
--- a/src/test/java/teetime/examples/throughput/methodcall/stage/ObjectProducer.java
+++ b/src/main/java/teetime/variant/methodcall/stage/ObjectProducer.java
@@ -13,10 +13,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.examples.throughput.methodcall.stage;
+package teetime.variant.methodcall.stage;
 
-import teetime.examples.throughput.methodcall.ConstructorClosure;
+import teetime.util.ConstructorClosure;
 import teetime.util.list.CommittableQueue;
+import teetime.variant.methodcall.framework.core.ProducerStage;
 
 /**
  * @author Christian Wulf
diff --git a/src/test/java/teetime/examples/throughput/methodcall/stage/Relay.java b/src/main/java/teetime/variant/methodcall/stage/Relay.java
similarity index 90%
rename from src/test/java/teetime/examples/throughput/methodcall/stage/Relay.java
rename to src/main/java/teetime/variant/methodcall/stage/Relay.java
index c0677872c691cb10b4e8a7432f187b08e8200dba..f1a352092e1446607929d07396aaa0617c13dabe 100644
--- a/src/test/java/teetime/examples/throughput/methodcall/stage/Relay.java
+++ b/src/main/java/teetime/variant/methodcall/stage/Relay.java
@@ -1,6 +1,7 @@
-package teetime.examples.throughput.methodcall.stage;
+package teetime.variant.methodcall.stage;
 
 import teetime.util.list.CommittableQueue;
+import teetime.variant.methodcall.framework.core.AbstractStage;
 
 public class Relay<T> extends AbstractStage<T, T> {
 
diff --git a/src/test/java/teetime/examples/throughput/methodcall/stage/Sink.java b/src/main/java/teetime/variant/methodcall/stage/Sink.java
similarity index 79%
rename from src/test/java/teetime/examples/throughput/methodcall/stage/Sink.java
rename to src/main/java/teetime/variant/methodcall/stage/Sink.java
index 9e68db8f4941a1e96f30d19ac753b3e73e3c310f..89ff7c754a9296944815db4634662efa671d8dc2 100644
--- a/src/test/java/teetime/examples/throughput/methodcall/stage/Sink.java
+++ b/src/main/java/teetime/variant/methodcall/stage/Sink.java
@@ -1,6 +1,7 @@
-package teetime.examples.throughput.methodcall.stage;
+package teetime.variant.methodcall.stage;
 
 import teetime.util.list.CommittableQueue;
+import teetime.variant.methodcall.framework.core.ConsumerStage;
 
 public class Sink<T> extends ConsumerStage<T, T> {
 
diff --git a/src/test/java/teetime/examples/throughput/methodcall/stage/StartTimestampFilter.java b/src/main/java/teetime/variant/methodcall/stage/StartTimestampFilter.java
similarity index 90%
rename from src/test/java/teetime/examples/throughput/methodcall/stage/StartTimestampFilter.java
rename to src/main/java/teetime/variant/methodcall/stage/StartTimestampFilter.java
index da5b2c04c3a72168db50f25694c6195a5ee80906..3619f24fbec264c488945fdd4cc5b302e3f7a74e 100644
--- a/src/test/java/teetime/examples/throughput/methodcall/stage/StartTimestampFilter.java
+++ b/src/main/java/teetime/variant/methodcall/stage/StartTimestampFilter.java
@@ -13,10 +13,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.examples.throughput.methodcall.stage;
+package teetime.variant.methodcall.stage;
 
-import teetime.examples.throughput.TimestampObject;
 import teetime.util.list.CommittableQueue;
+import teetime.variant.explicitScheduling.examples.throughput.TimestampObject;
+import teetime.variant.methodcall.framework.core.ConsumerStage;
 
 /**
  * @author Christian Wulf
diff --git a/src/test/java/teetime/examples/throughput/methodcall/stage/StopTimestampFilter.java b/src/main/java/teetime/variant/methodcall/stage/StopTimestampFilter.java
similarity index 90%
rename from src/test/java/teetime/examples/throughput/methodcall/stage/StopTimestampFilter.java
rename to src/main/java/teetime/variant/methodcall/stage/StopTimestampFilter.java
index dd6691ca672274a5df8be82f22bec54d9b0263e5..07ee037ac6d28e9d3567577cf8d40ffdc2dcecfd 100644
--- a/src/test/java/teetime/examples/throughput/methodcall/stage/StopTimestampFilter.java
+++ b/src/main/java/teetime/variant/methodcall/stage/StopTimestampFilter.java
@@ -13,10 +13,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.examples.throughput.methodcall.stage;
+package teetime.variant.methodcall.stage;
 
-import teetime.examples.throughput.TimestampObject;
 import teetime.util.list.CommittableQueue;
+import teetime.variant.explicitScheduling.examples.throughput.TimestampObject;
+import teetime.variant.methodcall.framework.core.ConsumerStage;
 
 /**
  * @author Christian Wulf
diff --git a/src/test/java/kieker/analysis/examples/throughput/ThroughputTimestampAnalysisTest.java b/src/test/java/kieker/analysis/examples/throughput/ThroughputTimestampAnalysisTest.java
index e324375a3586747058b36aea81e6345da6031438..8e5aa3e2ce5c01c95f3a151db7315fa0b20b9c66 100644
--- a/src/test/java/kieker/analysis/examples/throughput/ThroughputTimestampAnalysisTest.java
+++ b/src/test/java/kieker/analysis/examples/throughput/ThroughputTimestampAnalysisTest.java
@@ -26,9 +26,9 @@ import kieker.common.logging.LogFactory;
 import org.junit.Before;
 import org.junit.Test;
 
-import teetime.examples.throughput.TimestampObject;
 import teetime.util.StatisticsUtil;
 import teetime.util.StopWatch;
+import teetime.variant.explicitScheduling.examples.throughput.TimestampObject;
 
 
 /**
diff --git a/src/test/java/teetime/examples/throughput/methodcall/OnDisableListener.java b/src/test/java/teetime/examples/throughput/methodcall/OnDisableListener.java
deleted file mode 100644
index 483733eafa0b7b836549a9dced5136da5fe5c4c8..0000000000000000000000000000000000000000
--- a/src/test/java/teetime/examples/throughput/methodcall/OnDisableListener.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package teetime.examples.throughput.methodcall;
-
-public interface OnDisableListener {
-
-	void onDisable(Stage stage, int index);
-}
diff --git a/src/test/java/teetime/examples/recordReader/RecordReaderAnalysisTest.java b/src/test/java/teetime/variant/explicitScheduling/examples/recordReader/RecordReaderAnalysisTest.java
similarity index 93%
rename from src/test/java/teetime/examples/recordReader/RecordReaderAnalysisTest.java
rename to src/test/java/teetime/variant/explicitScheduling/examples/recordReader/RecordReaderAnalysisTest.java
index 3b7eb3516cbb63fbd6c720a9221eed96abd238e6..0de57c68917ee583c13e02e16cdec23dcb8bf02c 100644
--- a/src/test/java/teetime/examples/recordReader/RecordReaderAnalysisTest.java
+++ b/src/test/java/teetime/variant/explicitScheduling/examples/recordReader/RecordReaderAnalysisTest.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.examples.recordReader;
+package teetime.variant.explicitScheduling.examples.recordReader;
 
 import java.io.File;
 import java.util.LinkedList;
@@ -34,8 +34,9 @@ import kieker.common.util.registry.Registry;
 import org.junit.Assert;
 import org.junit.Test;
 
-import teetime.stage.kieker.className.ClassNameRegistry;
-import teetime.stage.kieker.className.ClassNameRegistryRepository;
+import teetime.variant.explicitScheduling.examples.recordReader.RecordReaderAnalysis;
+import teetime.variant.explicitScheduling.stage.kieker.className.ClassNameRegistry;
+import teetime.variant.explicitScheduling.stage.kieker.className.ClassNameRegistryRepository;
 
 /**
  * @author Christian Wulf
diff --git a/src/test/java/teetime/examples/throughput/ThroughputAnalysisTest.java b/src/test/java/teetime/variant/explicitScheduling/examples/throughput/ThroughputAnalysisTest.java
similarity index 93%
rename from src/test/java/teetime/examples/throughput/ThroughputAnalysisTest.java
rename to src/test/java/teetime/variant/explicitScheduling/examples/throughput/ThroughputAnalysisTest.java
index ef0e72ce779959b3b8edd08603c5b5afe65d4b20..cadace425879ddc3017bb34d36dfe106a25bc7e0 100644
--- a/src/test/java/teetime/examples/throughput/ThroughputAnalysisTest.java
+++ b/src/test/java/teetime/variant/explicitScheduling/examples/throughput/ThroughputAnalysisTest.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.examples.throughput;
+package teetime.variant.explicitScheduling.examples.throughput;
 
 import java.util.concurrent.Callable;
 
@@ -23,6 +23,7 @@ import org.junit.Before;
 import org.junit.Test;
 
 import teetime.util.StopWatch;
+import teetime.variant.explicitScheduling.examples.throughput.ThroughputAnalysis;
 
 /**
  * @author Christian Wulf
diff --git a/src/test/java/teetime/examples/throughput/ThroughputTimestampAnalysisTest.java b/src/test/java/teetime/variant/explicitScheduling/examples/throughput/ThroughputTimestampAnalysisTest.java
similarity index 90%
rename from src/test/java/teetime/examples/throughput/ThroughputTimestampAnalysisTest.java
rename to src/test/java/teetime/variant/explicitScheduling/examples/throughput/ThroughputTimestampAnalysisTest.java
index 51cd195feb5a73f80dc81b0163bd084dc1242848..96f0aac2b8dd8654add1281f614c7bf4a123ae28 100644
--- a/src/test/java/teetime/examples/throughput/ThroughputTimestampAnalysisTest.java
+++ b/src/test/java/teetime/variant/explicitScheduling/examples/throughput/ThroughputTimestampAnalysisTest.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.examples.throughput;
+package teetime.variant.explicitScheduling.examples.throughput;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -24,6 +24,8 @@ import org.junit.Test;
 
 import teetime.util.StatisticsUtil;
 import teetime.util.StopWatch;
+import teetime.variant.explicitScheduling.examples.throughput.ThroughputTimestampAnalysis;
+import teetime.variant.explicitScheduling.examples.throughput.TimestampObject;
 
 import kieker.common.logging.LogFactory;
 
diff --git a/src/test/java/teetime/examples/throughput/MethodCallThoughputTimestampAnalysis1Test.java b/src/test/java/teetime/variant/methodcall/examples/experiment01/MethodCallThoughputTimestampAnalysis1Test.java
similarity index 92%
rename from src/test/java/teetime/examples/throughput/MethodCallThoughputTimestampAnalysis1Test.java
rename to src/test/java/teetime/variant/methodcall/examples/experiment01/MethodCallThoughputTimestampAnalysis1Test.java
index 47f9be433d30daba5b2944ff6589e7b1d07a5fe4..362f34266427a231601b440e126ecc89bf4c8c8a 100644
--- a/src/test/java/teetime/examples/throughput/MethodCallThoughputTimestampAnalysis1Test.java
+++ b/src/test/java/teetime/variant/methodcall/examples/experiment01/MethodCallThoughputTimestampAnalysis1Test.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.examples.throughput;
+package teetime.variant.methodcall.examples.experiment01;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -21,10 +21,10 @@ import java.util.List;
 import org.junit.Before;
 import org.junit.Test;
 
-import teetime.examples.throughput.methodcall.ConstructorClosure;
-import teetime.examples.throughput.methodcall.MethodCallThroughputAnalysis1;
+import teetime.util.ConstructorClosure;
 import teetime.util.StatisticsUtil;
 import teetime.util.StopWatch;
+import teetime.variant.explicitScheduling.examples.throughput.TimestampObject;
 
 import kieker.common.logging.LogFactory;
 
diff --git a/src/test/java/teetime/examples/throughput/methodcall/MethodCallThroughputAnalysis1.java b/src/test/java/teetime/variant/methodcall/examples/experiment01/MethodCallThroughputAnalysis1.java
similarity index 85%
rename from src/test/java/teetime/examples/throughput/methodcall/MethodCallThroughputAnalysis1.java
rename to src/test/java/teetime/variant/methodcall/examples/experiment01/MethodCallThroughputAnalysis1.java
index b893346293a9ee8b8fd9d316f240b8bac15c83ea..e53851df9e36ef816cdc16fa36c2011e0abfa851 100644
--- a/src/test/java/teetime/examples/throughput/methodcall/MethodCallThroughputAnalysis1.java
+++ b/src/test/java/teetime/variant/methodcall/examples/experiment01/MethodCallThroughputAnalysis1.java
@@ -13,17 +13,18 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.examples.throughput.methodcall;
+package teetime.variant.methodcall.examples.experiment01;
 
 import java.util.List;
 
-import teetime.examples.throughput.TimestampObject;
-import teetime.examples.throughput.methodcall.stage.CollectorSink;
-import teetime.examples.throughput.methodcall.stage.NoopFilter;
-import teetime.examples.throughput.methodcall.stage.ObjectProducer;
-import teetime.examples.throughput.methodcall.stage.StartTimestampFilter;
-import teetime.examples.throughput.methodcall.stage.StopTimestampFilter;
-import teetime.framework.core.Analysis;
+import teetime.util.ConstructorClosure;
+import teetime.variant.explicitScheduling.examples.throughput.TimestampObject;
+import teetime.variant.explicitScheduling.framework.core.Analysis;
+import teetime.variant.methodcall.stage.CollectorSink;
+import teetime.variant.methodcall.stage.NoopFilter;
+import teetime.variant.methodcall.stage.ObjectProducer;
+import teetime.variant.methodcall.stage.StartTimestampFilter;
+import teetime.variant.methodcall.stage.StopTimestampFilter;
 
 /**
  * @author Christian Wulf
diff --git a/src/test/java/teetime/examples/throughput/MethodCallThoughputTimestampAnalysis2Test.java b/src/test/java/teetime/variant/methodcall/examples/experiment02/MethodCallThoughputTimestampAnalysis2Test.java
similarity index 92%
rename from src/test/java/teetime/examples/throughput/MethodCallThoughputTimestampAnalysis2Test.java
rename to src/test/java/teetime/variant/methodcall/examples/experiment02/MethodCallThoughputTimestampAnalysis2Test.java
index 455641154b5154d8560117467d6651bbd55c7202..52a5cb25d83377bfa2353ed7470d3460f7aba92a 100644
--- a/src/test/java/teetime/examples/throughput/MethodCallThoughputTimestampAnalysis2Test.java
+++ b/src/test/java/teetime/variant/methodcall/examples/experiment02/MethodCallThoughputTimestampAnalysis2Test.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.examples.throughput;
+package teetime.variant.methodcall.examples.experiment02;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -21,10 +21,10 @@ import java.util.List;
 import org.junit.Before;
 import org.junit.Test;
 
-import teetime.examples.throughput.methodcall.ConstructorClosure;
-import teetime.examples.throughput.methodcall.MethodCallThroughputAnalysis2;
+import teetime.util.ConstructorClosure;
 import teetime.util.StatisticsUtil;
 import teetime.util.StopWatch;
+import teetime.variant.explicitScheduling.examples.throughput.TimestampObject;
 
 import kieker.common.logging.LogFactory;
 
diff --git a/src/test/java/teetime/examples/throughput/methodcall/MethodCallThroughputAnalysis2.java b/src/test/java/teetime/variant/methodcall/examples/experiment02/MethodCallThroughputAnalysis2.java
similarity index 86%
rename from src/test/java/teetime/examples/throughput/methodcall/MethodCallThroughputAnalysis2.java
rename to src/test/java/teetime/variant/methodcall/examples/experiment02/MethodCallThroughputAnalysis2.java
index 55f565cbbee5a720f52c36e0910b8681362c0094..1155da2e6a40584bea439d5605eb6006063cf5ef 100644
--- a/src/test/java/teetime/examples/throughput/methodcall/MethodCallThroughputAnalysis2.java
+++ b/src/test/java/teetime/variant/methodcall/examples/experiment02/MethodCallThroughputAnalysis2.java
@@ -13,20 +13,21 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.examples.throughput.methodcall;
+package teetime.variant.methodcall.examples.experiment02;
 
 import java.util.List;
 
-import teetime.examples.throughput.TimestampObject;
-import teetime.examples.throughput.methodcall.stage.CollectorSink;
-import teetime.examples.throughput.methodcall.stage.NoopFilter;
-import teetime.examples.throughput.methodcall.stage.ObjectProducer;
-import teetime.examples.throughput.methodcall.stage.Pipeline;
-import teetime.examples.throughput.methodcall.stage.StartTimestampFilter;
-import teetime.examples.throughput.methodcall.stage.StopTimestampFilter;
-import teetime.framework.core.Analysis;
+import teetime.util.ConstructorClosure;
 import teetime.util.list.CommittableQueue;
 import teetime.util.list.CommittableResizableArrayQueue;
+import teetime.variant.explicitScheduling.examples.throughput.TimestampObject;
+import teetime.variant.explicitScheduling.framework.core.Analysis;
+import teetime.variant.methodcall.framework.core.Pipeline;
+import teetime.variant.methodcall.stage.CollectorSink;
+import teetime.variant.methodcall.stage.NoopFilter;
+import teetime.variant.methodcall.stage.ObjectProducer;
+import teetime.variant.methodcall.stage.StartTimestampFilter;
+import teetime.variant.methodcall.stage.StopTimestampFilter;
 
 /**
  * @author Christian Wulf
diff --git a/src/test/java/teetime/examples/throughput/MethodCallThoughputTimestampAnalysis3Test.java b/src/test/java/teetime/variant/methodcall/examples/experiment03/MethodCallThoughputTimestampAnalysis3Test.java
similarity index 92%
rename from src/test/java/teetime/examples/throughput/MethodCallThoughputTimestampAnalysis3Test.java
rename to src/test/java/teetime/variant/methodcall/examples/experiment03/MethodCallThoughputTimestampAnalysis3Test.java
index ee6947e838fce005f6e24478c3698e68145901b2..0364bc936f47326c41156f40c4a23092993dca32 100644
--- a/src/test/java/teetime/examples/throughput/MethodCallThoughputTimestampAnalysis3Test.java
+++ b/src/test/java/teetime/variant/methodcall/examples/experiment03/MethodCallThoughputTimestampAnalysis3Test.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.examples.throughput;
+package teetime.variant.methodcall.examples.experiment03;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -21,10 +21,10 @@ import java.util.List;
 import org.junit.Before;
 import org.junit.Test;
 
-import teetime.examples.throughput.methodcall.ConstructorClosure;
-import teetime.examples.throughput.methodcall.MethodCallThroughputAnalysis3;
+import teetime.util.ConstructorClosure;
 import teetime.util.StatisticsUtil;
 import teetime.util.StopWatch;
+import teetime.variant.explicitScheduling.examples.throughput.TimestampObject;
 
 import kieker.common.logging.LogFactory;
 
diff --git a/src/test/java/teetime/examples/throughput/methodcall/MethodCallThroughputAnalysis3.java b/src/test/java/teetime/variant/methodcall/examples/experiment03/MethodCallThroughputAnalysis3.java
similarity index 86%
rename from src/test/java/teetime/examples/throughput/methodcall/MethodCallThroughputAnalysis3.java
rename to src/test/java/teetime/variant/methodcall/examples/experiment03/MethodCallThroughputAnalysis3.java
index e98767862c2d2ae46b9eb21dccfa7e62f3316861..8611d4661cd7ff224a43ab7a224668deb29c6185 100644
--- a/src/test/java/teetime/examples/throughput/methodcall/MethodCallThroughputAnalysis3.java
+++ b/src/test/java/teetime/variant/methodcall/examples/experiment03/MethodCallThroughputAnalysis3.java
@@ -13,19 +13,21 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.examples.throughput.methodcall;
+package teetime.variant.methodcall.examples.experiment03;
 
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 
-import teetime.examples.throughput.TimestampObject;
-import teetime.examples.throughput.methodcall.stage.CollectorSink;
-import teetime.examples.throughput.methodcall.stage.NoopFilter;
-import teetime.examples.throughput.methodcall.stage.ObjectProducer;
-import teetime.examples.throughput.methodcall.stage.StartTimestampFilter;
-import teetime.examples.throughput.methodcall.stage.StopTimestampFilter;
-import teetime.framework.core.Analysis;
+import teetime.util.ConstructorClosure;
+import teetime.variant.explicitScheduling.examples.throughput.TimestampObject;
+import teetime.variant.explicitScheduling.framework.core.Analysis;
+import teetime.variant.methodcall.framework.core.Stage;
+import teetime.variant.methodcall.stage.CollectorSink;
+import teetime.variant.methodcall.stage.NoopFilter;
+import teetime.variant.methodcall.stage.ObjectProducer;
+import teetime.variant.methodcall.stage.StartTimestampFilter;
+import teetime.variant.methodcall.stage.StopTimestampFilter;
 
 /**
  * @author Christian Wulf
diff --git a/src/test/java/teetime/examples/throughput/MethodCallThoughputTimestampAnalysis4Test.java b/src/test/java/teetime/variant/methodcall/examples/experiment04/MethodCallThoughputTimestampAnalysis4Test.java
similarity index 92%
rename from src/test/java/teetime/examples/throughput/MethodCallThoughputTimestampAnalysis4Test.java
rename to src/test/java/teetime/variant/methodcall/examples/experiment04/MethodCallThoughputTimestampAnalysis4Test.java
index 68f60772c3aa9c944ac0e1bd38fcdad01a345d44..c6b509c36acb49082a2e3ea248aed401317ace93 100644
--- a/src/test/java/teetime/examples/throughput/MethodCallThoughputTimestampAnalysis4Test.java
+++ b/src/test/java/teetime/variant/methodcall/examples/experiment04/MethodCallThoughputTimestampAnalysis4Test.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.examples.throughput;
+package teetime.variant.methodcall.examples.experiment04;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -21,10 +21,10 @@ import java.util.List;
 import org.junit.Before;
 import org.junit.Test;
 
-import teetime.examples.throughput.methodcall.ConstructorClosure;
-import teetime.examples.throughput.methodcall.MethodCallThroughputAnalysis4;
+import teetime.util.ConstructorClosure;
 import teetime.util.StatisticsUtil;
 import teetime.util.StopWatch;
+import teetime.variant.explicitScheduling.examples.throughput.TimestampObject;
 
 import kieker.common.logging.LogFactory;
 
diff --git a/src/test/java/teetime/examples/throughput/methodcall/MethodCallThroughputAnalysis4.java b/src/test/java/teetime/variant/methodcall/examples/experiment04/MethodCallThroughputAnalysis4.java
similarity index 86%
rename from src/test/java/teetime/examples/throughput/methodcall/MethodCallThroughputAnalysis4.java
rename to src/test/java/teetime/variant/methodcall/examples/experiment04/MethodCallThroughputAnalysis4.java
index e543ad2684d371418d044ab89af4ce565b0daa7f..35983c03870ddfc84c7638f80b7d6c4b7955431a 100644
--- a/src/test/java/teetime/examples/throughput/methodcall/MethodCallThroughputAnalysis4.java
+++ b/src/test/java/teetime/variant/methodcall/examples/experiment04/MethodCallThroughputAnalysis4.java
@@ -13,19 +13,21 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.examples.throughput.methodcall;
+package teetime.variant.methodcall.examples.experiment04;
 
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 
-import teetime.examples.throughput.TimestampObject;
-import teetime.examples.throughput.methodcall.stage.CollectorSink;
-import teetime.examples.throughput.methodcall.stage.NoopFilter;
-import teetime.examples.throughput.methodcall.stage.ObjectProducer;
-import teetime.examples.throughput.methodcall.stage.StartTimestampFilter;
-import teetime.examples.throughput.methodcall.stage.StopTimestampFilter;
-import teetime.framework.core.Analysis;
+import teetime.util.ConstructorClosure;
+import teetime.variant.explicitScheduling.examples.throughput.TimestampObject;
+import teetime.variant.explicitScheduling.framework.core.Analysis;
+import teetime.variant.methodcall.framework.core.Stage;
+import teetime.variant.methodcall.stage.CollectorSink;
+import teetime.variant.methodcall.stage.NoopFilter;
+import teetime.variant.methodcall.stage.ObjectProducer;
+import teetime.variant.methodcall.stage.StartTimestampFilter;
+import teetime.variant.methodcall.stage.StopTimestampFilter;
 
 /**
  * @author Christian Wulf
diff --git a/src/test/java/teetime/examples/throughput/MethodCallThoughputTimestampAnalysis5Test.java b/src/test/java/teetime/variant/methodcall/examples/experiment05/MethodCallThoughputTimestampAnalysis5Test.java
similarity index 92%
rename from src/test/java/teetime/examples/throughput/MethodCallThoughputTimestampAnalysis5Test.java
rename to src/test/java/teetime/variant/methodcall/examples/experiment05/MethodCallThoughputTimestampAnalysis5Test.java
index 106e5b0b3d9fa2378da66081ef1d6c166afb682a..bc13f6835bd8f026fca226f3c19125f390f8811b 100644
--- a/src/test/java/teetime/examples/throughput/MethodCallThoughputTimestampAnalysis5Test.java
+++ b/src/test/java/teetime/variant/methodcall/examples/experiment05/MethodCallThoughputTimestampAnalysis5Test.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.examples.throughput;
+package teetime.variant.methodcall.examples.experiment05;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -21,10 +21,10 @@ import java.util.List;
 import org.junit.Before;
 import org.junit.Test;
 
-import teetime.examples.throughput.methodcall.ConstructorClosure;
-import teetime.examples.throughput.methodcall.MethodCallThroughputAnalysis5;
+import teetime.util.ConstructorClosure;
 import teetime.util.StatisticsUtil;
 import teetime.util.StopWatch;
+import teetime.variant.explicitScheduling.examples.throughput.TimestampObject;
 
 import kieker.common.logging.LogFactory;
 
diff --git a/src/test/java/teetime/examples/throughput/methodcall/MethodCallThroughputAnalysis5.java b/src/test/java/teetime/variant/methodcall/examples/experiment05/MethodCallThroughputAnalysis5.java
similarity index 86%
rename from src/test/java/teetime/examples/throughput/methodcall/MethodCallThroughputAnalysis5.java
rename to src/test/java/teetime/variant/methodcall/examples/experiment05/MethodCallThroughputAnalysis5.java
index 4c59946b27fddb8bf5e5741bfccbe4c8ac3841fa..503eadeffa7d2036bd6c2ccf09b450af96050477 100644
--- a/src/test/java/teetime/examples/throughput/methodcall/MethodCallThroughputAnalysis5.java
+++ b/src/test/java/teetime/variant/methodcall/examples/experiment05/MethodCallThroughputAnalysis5.java
@@ -13,19 +13,21 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.examples.throughput.methodcall;
+package teetime.variant.methodcall.examples.experiment05;
 
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 
-import teetime.examples.throughput.TimestampObject;
-import teetime.examples.throughput.methodcall.stage.CollectorSink;
-import teetime.examples.throughput.methodcall.stage.NoopFilter;
-import teetime.examples.throughput.methodcall.stage.ObjectProducer;
-import teetime.examples.throughput.methodcall.stage.StartTimestampFilter;
-import teetime.examples.throughput.methodcall.stage.StopTimestampFilter;
-import teetime.framework.core.Analysis;
+import teetime.util.ConstructorClosure;
+import teetime.variant.explicitScheduling.examples.throughput.TimestampObject;
+import teetime.variant.explicitScheduling.framework.core.Analysis;
+import teetime.variant.methodcall.framework.core.Stage;
+import teetime.variant.methodcall.stage.CollectorSink;
+import teetime.variant.methodcall.stage.NoopFilter;
+import teetime.variant.methodcall.stage.ObjectProducer;
+import teetime.variant.methodcall.stage.StartTimestampFilter;
+import teetime.variant.methodcall.stage.StopTimestampFilter;
 
 /**
  * @author Christian Wulf
diff --git a/src/test/java/teetime/examples/throughput/MethodCallThoughputTimestampAnalysis6Test.java b/src/test/java/teetime/variant/methodcall/examples/experiment06/MethodCallThoughputTimestampAnalysis6Test.java
similarity index 92%
rename from src/test/java/teetime/examples/throughput/MethodCallThoughputTimestampAnalysis6Test.java
rename to src/test/java/teetime/variant/methodcall/examples/experiment06/MethodCallThoughputTimestampAnalysis6Test.java
index 72c788c737aa3474f8edb447f7d953615d9284b8..d1e00ef9899ee57ede5d22e2396519a3619624c4 100644
--- a/src/test/java/teetime/examples/throughput/MethodCallThoughputTimestampAnalysis6Test.java
+++ b/src/test/java/teetime/variant/methodcall/examples/experiment06/MethodCallThoughputTimestampAnalysis6Test.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.examples.throughput;
+package teetime.variant.methodcall.examples.experiment06;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -21,10 +21,10 @@ import java.util.List;
 import org.junit.Before;
 import org.junit.Test;
 
-import teetime.examples.throughput.methodcall.ConstructorClosure;
-import teetime.examples.throughput.methodcall.MethodCallThroughputAnalysis6;
+import teetime.util.ConstructorClosure;
 import teetime.util.StatisticsUtil;
 import teetime.util.StopWatch;
+import teetime.variant.explicitScheduling.examples.throughput.TimestampObject;
 
 import kieker.common.logging.LogFactory;
 
diff --git a/src/test/java/teetime/examples/throughput/methodcall/MethodCallThroughputAnalysis6.java b/src/test/java/teetime/variant/methodcall/examples/experiment06/MethodCallThroughputAnalysis6.java
similarity index 98%
rename from src/test/java/teetime/examples/throughput/methodcall/MethodCallThroughputAnalysis6.java
rename to src/test/java/teetime/variant/methodcall/examples/experiment06/MethodCallThroughputAnalysis6.java
index 4d3a33befd3857d68f9e4c1ea5d0c77a169c453b..04faa04853c529fea0aa91881c4a54cb211f147a 100644
--- a/src/test/java/teetime/examples/throughput/methodcall/MethodCallThroughputAnalysis6.java
+++ b/src/test/java/teetime/variant/methodcall/examples/experiment06/MethodCallThroughputAnalysis6.java
@@ -13,19 +13,21 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.examples.throughput.methodcall;
+package teetime.variant.methodcall.examples.experiment06;
 
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 
-import teetime.examples.throughput.TimestampObject;
-import teetime.examples.throughput.methodcall.stage.CollectorSink;
-import teetime.examples.throughput.methodcall.stage.NoopFilter;
-import teetime.examples.throughput.methodcall.stage.ObjectProducer;
-import teetime.examples.throughput.methodcall.stage.StartTimestampFilter;
-import teetime.examples.throughput.methodcall.stage.StopTimestampFilter;
-import teetime.framework.core.Analysis;
+import teetime.util.ConstructorClosure;
+import teetime.variant.explicitScheduling.examples.throughput.TimestampObject;
+import teetime.variant.explicitScheduling.framework.core.Analysis;
+import teetime.variant.methodcall.framework.core.Stage;
+import teetime.variant.methodcall.stage.CollectorSink;
+import teetime.variant.methodcall.stage.NoopFilter;
+import teetime.variant.methodcall.stage.ObjectProducer;
+import teetime.variant.methodcall.stage.StartTimestampFilter;
+import teetime.variant.methodcall.stage.StopTimestampFilter;
 
 /**
  * @author Christian Wulf
diff --git a/src/test/java/teetime/examples/throughput/MethodCallThoughputTimestampAnalysis7Test.java b/src/test/java/teetime/variant/methodcall/examples/experiment07/MethodCallThoughputTimestampAnalysis7Test.java
similarity index 92%
rename from src/test/java/teetime/examples/throughput/MethodCallThoughputTimestampAnalysis7Test.java
rename to src/test/java/teetime/variant/methodcall/examples/experiment07/MethodCallThoughputTimestampAnalysis7Test.java
index bb54421827cc806233db9e2f6e200b014be2f821..729150eb44888b10837431a11713b5a782342d3e 100644
--- a/src/test/java/teetime/examples/throughput/MethodCallThoughputTimestampAnalysis7Test.java
+++ b/src/test/java/teetime/variant/methodcall/examples/experiment07/MethodCallThoughputTimestampAnalysis7Test.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.examples.throughput;
+package teetime.variant.methodcall.examples.experiment07;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -21,10 +21,10 @@ import java.util.List;
 import org.junit.Before;
 import org.junit.Test;
 
-import teetime.examples.throughput.methodcall.ConstructorClosure;
-import teetime.examples.throughput.methodcall.MethodCallThroughputAnalysis7;
+import teetime.util.ConstructorClosure;
 import teetime.util.StatisticsUtil;
 import teetime.util.StopWatch;
+import teetime.variant.explicitScheduling.examples.throughput.TimestampObject;
 
 import kieker.common.logging.LogFactory;
 
diff --git a/src/test/java/teetime/examples/throughput/methodcall/MethodCallThroughputAnalysis7.java b/src/test/java/teetime/variant/methodcall/examples/experiment07/MethodCallThroughputAnalysis7.java
similarity index 87%
rename from src/test/java/teetime/examples/throughput/methodcall/MethodCallThroughputAnalysis7.java
rename to src/test/java/teetime/variant/methodcall/examples/experiment07/MethodCallThroughputAnalysis7.java
index 8b5ac8a9fc67d0b9f2a2919471fa7f21e290c5c0..9b11230f296c5aec88f9df148ab99238da75d2eb 100644
--- a/src/test/java/teetime/examples/throughput/methodcall/MethodCallThroughputAnalysis7.java
+++ b/src/test/java/teetime/variant/methodcall/examples/experiment07/MethodCallThroughputAnalysis7.java
@@ -13,20 +13,21 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.examples.throughput.methodcall;
+package teetime.variant.methodcall.examples.experiment07;
 
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 
-import teetime.examples.throughput.TimestampObject;
-import teetime.examples.throughput.methodcall.stage.AbstractStage;
-import teetime.examples.throughput.methodcall.stage.CollectorSink;
-import teetime.examples.throughput.methodcall.stage.NoopFilter;
-import teetime.examples.throughput.methodcall.stage.ObjectProducer;
-import teetime.examples.throughput.methodcall.stage.StartTimestampFilter;
-import teetime.examples.throughput.methodcall.stage.StopTimestampFilter;
-import teetime.framework.core.Analysis;
+import teetime.util.ConstructorClosure;
+import teetime.variant.explicitScheduling.examples.throughput.TimestampObject;
+import teetime.variant.explicitScheduling.framework.core.Analysis;
+import teetime.variant.methodcall.framework.core.AbstractStage;
+import teetime.variant.methodcall.stage.CollectorSink;
+import teetime.variant.methodcall.stage.NoopFilter;
+import teetime.variant.methodcall.stage.ObjectProducer;
+import teetime.variant.methodcall.stage.StartTimestampFilter;
+import teetime.variant.methodcall.stage.StopTimestampFilter;
 
 /**
  * @author Christian Wulf
diff --git a/src/test/java/teetime/examples/throughput/MethodCallThoughputTimestampAnalysis8Test.java b/src/test/java/teetime/variant/methodcall/examples/experiment08/MethodCallThoughputTimestampAnalysis8Test.java
similarity index 92%
rename from src/test/java/teetime/examples/throughput/MethodCallThoughputTimestampAnalysis8Test.java
rename to src/test/java/teetime/variant/methodcall/examples/experiment08/MethodCallThoughputTimestampAnalysis8Test.java
index 902155fbc3065977162945c8e7f5da5307e855da..2dac38f163eeeed3773e0e5e4ee5c59089eee8c0 100644
--- a/src/test/java/teetime/examples/throughput/MethodCallThoughputTimestampAnalysis8Test.java
+++ b/src/test/java/teetime/variant/methodcall/examples/experiment08/MethodCallThoughputTimestampAnalysis8Test.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.examples.throughput;
+package teetime.variant.methodcall.examples.experiment08;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -21,10 +21,10 @@ import java.util.List;
 import org.junit.Before;
 import org.junit.Test;
 
-import teetime.examples.throughput.methodcall.ConstructorClosure;
-import teetime.examples.throughput.methodcall.MethodCallThroughputAnalysis8;
+import teetime.util.ConstructorClosure;
 import teetime.util.StatisticsUtil;
 import teetime.util.StopWatch;
+import teetime.variant.explicitScheduling.examples.throughput.TimestampObject;
 
 import kieker.common.logging.LogFactory;
 
diff --git a/src/test/java/teetime/examples/throughput/methodcall/MethodCallThroughputAnalysis8.java b/src/test/java/teetime/variant/methodcall/examples/experiment08/MethodCallThroughputAnalysis8.java
similarity index 86%
rename from src/test/java/teetime/examples/throughput/methodcall/MethodCallThroughputAnalysis8.java
rename to src/test/java/teetime/variant/methodcall/examples/experiment08/MethodCallThroughputAnalysis8.java
index 30ba261b0b0ca7534a5dff364e7ac9e72c13b602..7045b348c4e812b1229a6efb59d88dc9fdd3ec04 100644
--- a/src/test/java/teetime/examples/throughput/methodcall/MethodCallThroughputAnalysis8.java
+++ b/src/test/java/teetime/variant/methodcall/examples/experiment08/MethodCallThroughputAnalysis8.java
@@ -13,20 +13,22 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.examples.throughput.methodcall;
+package teetime.variant.methodcall.examples.experiment08;
 
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 
-import teetime.examples.throughput.TimestampObject;
-import teetime.examples.throughput.methodcall.stage.AbstractStage;
-import teetime.examples.throughput.methodcall.stage.CollectorSink;
-import teetime.examples.throughput.methodcall.stage.NoopFilter;
-import teetime.examples.throughput.methodcall.stage.ObjectProducer;
-import teetime.examples.throughput.methodcall.stage.StartTimestampFilter;
-import teetime.examples.throughput.methodcall.stage.StopTimestampFilter;
-import teetime.framework.core.Analysis;
+import teetime.util.ConstructorClosure;
+import teetime.variant.explicitScheduling.examples.throughput.TimestampObject;
+import teetime.variant.explicitScheduling.framework.core.Analysis;
+import teetime.variant.methodcall.framework.core.AbstractStage;
+import teetime.variant.methodcall.framework.core.Stage;
+import teetime.variant.methodcall.stage.CollectorSink;
+import teetime.variant.methodcall.stage.NoopFilter;
+import teetime.variant.methodcall.stage.ObjectProducer;
+import teetime.variant.methodcall.stage.StartTimestampFilter;
+import teetime.variant.methodcall.stage.StopTimestampFilter;
 
 /**
  * @author Christian Wulf
diff --git a/src/test/java/teetime/examples/throughput/MethodCallThoughputTimestampAnalysis9Test.java b/src/test/java/teetime/variant/methodcall/examples/experiment09/MethodCallThoughputTimestampAnalysis9Test.java
similarity index 92%
rename from src/test/java/teetime/examples/throughput/MethodCallThoughputTimestampAnalysis9Test.java
rename to src/test/java/teetime/variant/methodcall/examples/experiment09/MethodCallThoughputTimestampAnalysis9Test.java
index 5f781adac61e27583dd22e7499c73ae5da2a6074..a09a084c9e75660a4c8cc7bdc012ce7ec705948d 100644
--- a/src/test/java/teetime/examples/throughput/MethodCallThoughputTimestampAnalysis9Test.java
+++ b/src/test/java/teetime/variant/methodcall/examples/experiment09/MethodCallThoughputTimestampAnalysis9Test.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.examples.throughput;
+package teetime.variant.methodcall.examples.experiment09;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -21,10 +21,10 @@ import java.util.List;
 import org.junit.Before;
 import org.junit.Test;
 
-import teetime.examples.throughput.methodcall.ConstructorClosure;
-import teetime.examples.throughput.methodcall.MethodCallThroughputAnalysis9;
+import teetime.util.ConstructorClosure;
 import teetime.util.StatisticsUtil;
 import teetime.util.StopWatch;
+import teetime.variant.explicitScheduling.examples.throughput.TimestampObject;
 
 import kieker.common.logging.LogFactory;
 
diff --git a/src/test/java/teetime/examples/throughput/methodcall/MethodCallThroughputAnalysis9.java b/src/test/java/teetime/variant/methodcall/examples/experiment09/MethodCallThroughputAnalysis9.java
similarity index 83%
rename from src/test/java/teetime/examples/throughput/methodcall/MethodCallThroughputAnalysis9.java
rename to src/test/java/teetime/variant/methodcall/examples/experiment09/MethodCallThroughputAnalysis9.java
index 075bb788b941141a3f1b3546259c99321ea34c14..2ace0eb42dd039a7b457a19907dac703c0a581f0 100644
--- a/src/test/java/teetime/examples/throughput/methodcall/MethodCallThroughputAnalysis9.java
+++ b/src/test/java/teetime/variant/methodcall/examples/experiment09/MethodCallThroughputAnalysis9.java
@@ -13,18 +13,21 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.examples.throughput.methodcall;
+package teetime.variant.methodcall.examples.experiment09;
 
 import java.util.List;
 
-import teetime.examples.throughput.TimestampObject;
-import teetime.examples.throughput.methodcall.stage.CollectorSink;
-import teetime.examples.throughput.methodcall.stage.NoopFilter;
-import teetime.examples.throughput.methodcall.stage.ObjectProducer;
-import teetime.examples.throughput.methodcall.stage.Pipeline;
-import teetime.examples.throughput.methodcall.stage.StartTimestampFilter;
-import teetime.examples.throughput.methodcall.stage.StopTimestampFilter;
-import teetime.framework.core.Analysis;
+import teetime.util.ConstructorClosure;
+import teetime.variant.explicitScheduling.examples.throughput.TimestampObject;
+import teetime.variant.explicitScheduling.framework.core.Analysis;
+import teetime.variant.methodcall.framework.core.Pipeline;
+import teetime.variant.methodcall.framework.core.RunnableStage;
+import teetime.variant.methodcall.framework.core.pipe.Pipe;
+import teetime.variant.methodcall.stage.CollectorSink;
+import teetime.variant.methodcall.stage.NoopFilter;
+import teetime.variant.methodcall.stage.ObjectProducer;
+import teetime.variant.methodcall.stage.StartTimestampFilter;
+import teetime.variant.methodcall.stage.StopTimestampFilter;
 
 /**
  * @author Christian Wulf
diff --git a/src/test/java/teetime/examples/throughput/MethodCallThoughputTimestampAnalysis10Test.java b/src/test/java/teetime/variant/methodcall/examples/experiment10/MethodCallThoughputTimestampAnalysis10Test.java
similarity index 92%
rename from src/test/java/teetime/examples/throughput/MethodCallThoughputTimestampAnalysis10Test.java
rename to src/test/java/teetime/variant/methodcall/examples/experiment10/MethodCallThoughputTimestampAnalysis10Test.java
index 53802779280980c0f325151c195ad3d23c94ad2b..0c1e3e553c9e4e0b9fc4e35b77e5131fea96d4ba 100644
--- a/src/test/java/teetime/examples/throughput/MethodCallThoughputTimestampAnalysis10Test.java
+++ b/src/test/java/teetime/variant/methodcall/examples/experiment10/MethodCallThoughputTimestampAnalysis10Test.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.examples.throughput;
+package teetime.variant.methodcall.examples.experiment10;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -21,10 +21,10 @@ import java.util.List;
 import org.junit.Before;
 import org.junit.Test;
 
-import teetime.examples.throughput.methodcall.ConstructorClosure;
-import teetime.examples.throughput.methodcall.MethodCallThroughputAnalysis10;
+import teetime.util.ConstructorClosure;
 import teetime.util.StatisticsUtil;
 import teetime.util.StopWatch;
+import teetime.variant.explicitScheduling.examples.throughput.TimestampObject;
 
 import kieker.common.logging.LogFactory;
 
diff --git a/src/test/java/teetime/examples/throughput/methodcall/MethodCallThroughputAnalysis10.java b/src/test/java/teetime/variant/methodcall/examples/experiment10/MethodCallThroughputAnalysis10.java
similarity index 83%
rename from src/test/java/teetime/examples/throughput/methodcall/MethodCallThroughputAnalysis10.java
rename to src/test/java/teetime/variant/methodcall/examples/experiment10/MethodCallThroughputAnalysis10.java
index cd52067068aeda2b5cbd410a7b8fe0548d5a5b31..35282b24b41803b6f33ad07eef9d200606cc6521 100644
--- a/src/test/java/teetime/examples/throughput/methodcall/MethodCallThroughputAnalysis10.java
+++ b/src/test/java/teetime/variant/methodcall/examples/experiment10/MethodCallThroughputAnalysis10.java
@@ -13,18 +13,21 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.examples.throughput.methodcall;
+package teetime.variant.methodcall.examples.experiment10;
 
 import java.util.List;
 
-import teetime.examples.throughput.TimestampObject;
-import teetime.examples.throughput.methodcall.stage.CollectorSink;
-import teetime.examples.throughput.methodcall.stage.NoopFilter;
-import teetime.examples.throughput.methodcall.stage.ObjectProducer;
-import teetime.examples.throughput.methodcall.stage.Pipeline;
-import teetime.examples.throughput.methodcall.stage.StartTimestampFilter;
-import teetime.examples.throughput.methodcall.stage.StopTimestampFilter;
-import teetime.framework.core.Analysis;
+import teetime.util.ConstructorClosure;
+import teetime.variant.explicitScheduling.examples.throughput.TimestampObject;
+import teetime.variant.explicitScheduling.framework.core.Analysis;
+import teetime.variant.methodcall.framework.core.Pipeline;
+import teetime.variant.methodcall.framework.core.RunnableStage;
+import teetime.variant.methodcall.framework.core.pipe.SingleElementPipe;
+import teetime.variant.methodcall.stage.CollectorSink;
+import teetime.variant.methodcall.stage.NoopFilter;
+import teetime.variant.methodcall.stage.ObjectProducer;
+import teetime.variant.methodcall.stage.StartTimestampFilter;
+import teetime.variant.methodcall.stage.StopTimestampFilter;
 
 /**
  * @author Christian Wulf
diff --git a/src/test/java/teetime/examples/throughput/MethodCallThoughputTimestampAnalysis11Test.java b/src/test/java/teetime/variant/methodcall/examples/experiment11/MethodCallThoughputTimestampAnalysis11Test.java
similarity index 92%
rename from src/test/java/teetime/examples/throughput/MethodCallThoughputTimestampAnalysis11Test.java
rename to src/test/java/teetime/variant/methodcall/examples/experiment11/MethodCallThoughputTimestampAnalysis11Test.java
index 0191eb46dd7a1d12b2e85ae77a236b3f24710f78..1f9d70991285f3d0251c18e20b743c31bfe10df8 100644
--- a/src/test/java/teetime/examples/throughput/MethodCallThoughputTimestampAnalysis11Test.java
+++ b/src/test/java/teetime/variant/methodcall/examples/experiment11/MethodCallThoughputTimestampAnalysis11Test.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.examples.throughput;
+package teetime.variant.methodcall.examples.experiment11;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -21,10 +21,10 @@ import java.util.List;
 import org.junit.Before;
 import org.junit.Test;
 
-import teetime.examples.throughput.methodcall.ConstructorClosure;
-import teetime.examples.throughput.methodcall.MethodCallThroughputAnalysis11;
+import teetime.util.ConstructorClosure;
 import teetime.util.StatisticsUtil;
 import teetime.util.StopWatch;
+import teetime.variant.explicitScheduling.examples.throughput.TimestampObject;
 
 import kieker.common.logging.LogFactory;
 
diff --git a/src/test/java/teetime/examples/throughput/methodcall/MethodCallThroughputAnalysis11.java b/src/test/java/teetime/variant/methodcall/examples/experiment11/MethodCallThroughputAnalysis11.java
similarity index 85%
rename from src/test/java/teetime/examples/throughput/methodcall/MethodCallThroughputAnalysis11.java
rename to src/test/java/teetime/variant/methodcall/examples/experiment11/MethodCallThroughputAnalysis11.java
index ca5ab5d2a2e84fce1b3f18af36512bc443924f65..c544e75e3c18af8d3945e11a88a1e663fe26c10a 100644
--- a/src/test/java/teetime/examples/throughput/methodcall/MethodCallThroughputAnalysis11.java
+++ b/src/test/java/teetime/variant/methodcall/examples/experiment11/MethodCallThroughputAnalysis11.java
@@ -13,18 +13,21 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.examples.throughput.methodcall;
+package teetime.variant.methodcall.examples.experiment11;
 
 import java.util.List;
 
-import teetime.examples.throughput.TimestampObject;
-import teetime.examples.throughput.methodcall.stage.CollectorSink;
-import teetime.examples.throughput.methodcall.stage.NoopFilter;
-import teetime.examples.throughput.methodcall.stage.ObjectProducer;
-import teetime.examples.throughput.methodcall.stage.Pipeline;
-import teetime.examples.throughput.methodcall.stage.StartTimestampFilter;
-import teetime.examples.throughput.methodcall.stage.StopTimestampFilter;
-import teetime.framework.core.Analysis;
+import teetime.util.ConstructorClosure;
+import teetime.variant.explicitScheduling.examples.throughput.TimestampObject;
+import teetime.variant.explicitScheduling.framework.core.Analysis;
+import teetime.variant.methodcall.framework.core.Pipeline;
+import teetime.variant.methodcall.framework.core.RunnableStage;
+import teetime.variant.methodcall.framework.core.pipe.UnorderedGrowablePipe;
+import teetime.variant.methodcall.stage.CollectorSink;
+import teetime.variant.methodcall.stage.NoopFilter;
+import teetime.variant.methodcall.stage.ObjectProducer;
+import teetime.variant.methodcall.stage.StartTimestampFilter;
+import teetime.variant.methodcall.stage.StopTimestampFilter;
 
 /**
  * @author Christian Wulf
diff --git a/src/test/java/teetime/examples/throughput/MethodCallThoughputTimestampAnalysis12Test.java b/src/test/java/teetime/variant/methodcall/examples/experiment12/MethodCallThoughputTimestampAnalysis12Test.java
similarity index 92%
rename from src/test/java/teetime/examples/throughput/MethodCallThoughputTimestampAnalysis12Test.java
rename to src/test/java/teetime/variant/methodcall/examples/experiment12/MethodCallThoughputTimestampAnalysis12Test.java
index 81b7d6d8f8cdd4f696a4fb0b785fbfaa61858f05..2af8e47629770e0d139c706baa4a280495b79b4e 100644
--- a/src/test/java/teetime/examples/throughput/MethodCallThoughputTimestampAnalysis12Test.java
+++ b/src/test/java/teetime/variant/methodcall/examples/experiment12/MethodCallThoughputTimestampAnalysis12Test.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.examples.throughput;
+package teetime.variant.methodcall.examples.experiment12;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -21,10 +21,10 @@ import java.util.List;
 import org.junit.Before;
 import org.junit.Test;
 
-import teetime.examples.throughput.methodcall.ConstructorClosure;
-import teetime.examples.throughput.methodcall.MethodCallThroughputAnalysis12;
+import teetime.util.ConstructorClosure;
 import teetime.util.StatisticsUtil;
 import teetime.util.StopWatch;
+import teetime.variant.explicitScheduling.examples.throughput.TimestampObject;
 
 import kieker.common.logging.LogFactory;
 
diff --git a/src/test/java/teetime/examples/throughput/methodcall/MethodCallThroughputAnalysis12.java b/src/test/java/teetime/variant/methodcall/examples/experiment12/MethodCallThroughputAnalysis12.java
similarity index 84%
rename from src/test/java/teetime/examples/throughput/methodcall/MethodCallThroughputAnalysis12.java
rename to src/test/java/teetime/variant/methodcall/examples/experiment12/MethodCallThroughputAnalysis12.java
index 2bc90dd61217ca7d9825c0d6be875669ba39fd54..399ccc27c540c47841b20eed454662bd30938338 100644
--- a/src/test/java/teetime/examples/throughput/methodcall/MethodCallThroughputAnalysis12.java
+++ b/src/test/java/teetime/variant/methodcall/examples/experiment12/MethodCallThroughputAnalysis12.java
@@ -13,18 +13,19 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.examples.throughput.methodcall;
+package teetime.variant.methodcall.examples.experiment12;
 
 import java.util.List;
 
-import teetime.examples.throughput.TimestampObject;
-import teetime.examples.throughput.methodcall.stage.CollectorSink;
-import teetime.examples.throughput.methodcall.stage.NoopFilter;
-import teetime.examples.throughput.methodcall.stage.ObjectProducer;
-import teetime.examples.throughput.methodcall.stage.Pipeline;
-import teetime.examples.throughput.methodcall.stage.StartTimestampFilter;
-import teetime.examples.throughput.methodcall.stage.StopTimestampFilter;
-import teetime.framework.core.Analysis;
+import teetime.util.ConstructorClosure;
+import teetime.variant.explicitScheduling.examples.throughput.TimestampObject;
+import teetime.variant.explicitScheduling.framework.core.Analysis;
+import teetime.variant.methodcall.framework.core.Pipeline;
+import teetime.variant.methodcall.stage.CollectorSink;
+import teetime.variant.methodcall.stage.NoopFilter;
+import teetime.variant.methodcall.stage.ObjectProducer;
+import teetime.variant.methodcall.stage.StartTimestampFilter;
+import teetime.variant.methodcall.stage.StopTimestampFilter;
 
 /**
  * @author Christian Wulf
diff --git a/src/test/java/teetime/examples/throughput/MethodCallThoughputTimestampAnalysis13Test.java b/src/test/java/teetime/variant/methodcall/examples/experiment13/MethodCallThoughputTimestampAnalysis13Test.java
similarity index 92%
rename from src/test/java/teetime/examples/throughput/MethodCallThoughputTimestampAnalysis13Test.java
rename to src/test/java/teetime/variant/methodcall/examples/experiment13/MethodCallThoughputTimestampAnalysis13Test.java
index 03f694b4ce1cb70360bc17a44dd3efe6b04cb990..ccc148c124dfb67d48f7e0054462b2f1912468d8 100644
--- a/src/test/java/teetime/examples/throughput/MethodCallThoughputTimestampAnalysis13Test.java
+++ b/src/test/java/teetime/variant/methodcall/examples/experiment13/MethodCallThoughputTimestampAnalysis13Test.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.examples.throughput;
+package teetime.variant.methodcall.examples.experiment13;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -21,10 +21,10 @@ import java.util.List;
 import org.junit.Before;
 import org.junit.Test;
 
-import teetime.examples.throughput.methodcall.ConstructorClosure;
-import teetime.examples.throughput.methodcall.MethodCallThroughputAnalysis13;
+import teetime.util.ConstructorClosure;
 import teetime.util.StatisticsUtil;
 import teetime.util.StopWatch;
+import teetime.variant.explicitScheduling.examples.throughput.TimestampObject;
 
 import kieker.common.logging.LogFactory;
 
diff --git a/src/test/java/teetime/examples/throughput/methodcall/MethodCallThroughputAnalysis13.java b/src/test/java/teetime/variant/methodcall/examples/experiment13/MethodCallThroughputAnalysis13.java
similarity index 84%
rename from src/test/java/teetime/examples/throughput/methodcall/MethodCallThroughputAnalysis13.java
rename to src/test/java/teetime/variant/methodcall/examples/experiment13/MethodCallThroughputAnalysis13.java
index 81f72d7ca318dc045c313e814dc439502f24f45e..ba1120361b409e721afe9d693f7b89f0459be9e3 100644
--- a/src/test/java/teetime/examples/throughput/methodcall/MethodCallThroughputAnalysis13.java
+++ b/src/test/java/teetime/variant/methodcall/examples/experiment13/MethodCallThroughputAnalysis13.java
@@ -13,21 +13,23 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.examples.throughput.methodcall;
+package teetime.variant.methodcall.examples.experiment13;
 
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 
-import teetime.examples.throughput.TimestampObject;
-import teetime.examples.throughput.methodcall.stage.AbstractStage;
-import teetime.examples.throughput.methodcall.stage.CollectorSink;
-import teetime.examples.throughput.methodcall.stage.EndStage;
-import teetime.examples.throughput.methodcall.stage.NoopFilter;
-import teetime.examples.throughput.methodcall.stage.ObjectProducer;
-import teetime.examples.throughput.methodcall.stage.StartTimestampFilter;
-import teetime.examples.throughput.methodcall.stage.StopTimestampFilter;
-import teetime.framework.core.Analysis;
+import teetime.util.ConstructorClosure;
+import teetime.variant.explicitScheduling.examples.throughput.TimestampObject;
+import teetime.variant.explicitScheduling.framework.core.Analysis;
+import teetime.variant.methodcall.framework.core.AbstractStage;
+import teetime.variant.methodcall.framework.core.StageWithPort;
+import teetime.variant.methodcall.stage.CollectorSink;
+import teetime.variant.methodcall.stage.EndStage;
+import teetime.variant.methodcall.stage.NoopFilter;
+import teetime.variant.methodcall.stage.ObjectProducer;
+import teetime.variant.methodcall.stage.StartTimestampFilter;
+import teetime.variant.methodcall.stage.StopTimestampFilter;
 
 /**
  * @author Christian Wulf
diff --git a/src/test/java/teetime/examples/throughput/MethodCallThoughputTimestampAnalysis14Test.java b/src/test/java/teetime/variant/methodcall/examples/experiment14/MethodCallThoughputTimestampAnalysis14Test.java
similarity index 92%
rename from src/test/java/teetime/examples/throughput/MethodCallThoughputTimestampAnalysis14Test.java
rename to src/test/java/teetime/variant/methodcall/examples/experiment14/MethodCallThoughputTimestampAnalysis14Test.java
index 70dfb915496c3885e3772111321c348896ce7d86..59b6372e78b8071020a334685c9b4a0d0767ec4e 100644
--- a/src/test/java/teetime/examples/throughput/MethodCallThoughputTimestampAnalysis14Test.java
+++ b/src/test/java/teetime/variant/methodcall/examples/experiment14/MethodCallThoughputTimestampAnalysis14Test.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.examples.throughput;
+package teetime.variant.methodcall.examples.experiment14;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -21,10 +21,10 @@ import java.util.List;
 import org.junit.Before;
 import org.junit.Test;
 
-import teetime.examples.throughput.methodcall.ConstructorClosure;
-import teetime.examples.throughput.methodcall.MethodCallThroughputAnalysis14;
+import teetime.util.ConstructorClosure;
 import teetime.util.StatisticsUtil;
 import teetime.util.StopWatch;
+import teetime.variant.explicitScheduling.examples.throughput.TimestampObject;
 
 import kieker.common.logging.LogFactory;
 
diff --git a/src/test/java/teetime/examples/throughput/methodcall/MethodCallThroughputAnalysis14.java b/src/test/java/teetime/variant/methodcall/examples/experiment14/MethodCallThroughputAnalysis14.java
similarity index 83%
rename from src/test/java/teetime/examples/throughput/methodcall/MethodCallThroughputAnalysis14.java
rename to src/test/java/teetime/variant/methodcall/examples/experiment14/MethodCallThroughputAnalysis14.java
index 9eb9f521812ac7f0259aae2d5991b6e15130d48d..bc08ec97c1cdd2950276c218ecd72cf901b3074e 100644
--- a/src/test/java/teetime/examples/throughput/methodcall/MethodCallThroughputAnalysis14.java
+++ b/src/test/java/teetime/variant/methodcall/examples/experiment14/MethodCallThroughputAnalysis14.java
@@ -13,18 +13,21 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.examples.throughput.methodcall;
+package teetime.variant.methodcall.examples.experiment14;
 
 import java.util.List;
 
-import teetime.examples.throughput.TimestampObject;
-import teetime.examples.throughput.methodcall.stage.CollectorSink;
-import teetime.examples.throughput.methodcall.stage.NoopFilter;
-import teetime.examples.throughput.methodcall.stage.ObjectProducer;
-import teetime.examples.throughput.methodcall.stage.Pipeline;
-import teetime.examples.throughput.methodcall.stage.StartTimestampFilter;
-import teetime.examples.throughput.methodcall.stage.StopTimestampFilter;
-import teetime.framework.core.Analysis;
+import teetime.util.ConstructorClosure;
+import teetime.variant.explicitScheduling.examples.throughput.TimestampObject;
+import teetime.variant.explicitScheduling.framework.core.Analysis;
+import teetime.variant.methodcall.framework.core.Pipeline;
+import teetime.variant.methodcall.framework.core.RunnableStage;
+import teetime.variant.methodcall.framework.core.pipe.SpScPipe;
+import teetime.variant.methodcall.stage.CollectorSink;
+import teetime.variant.methodcall.stage.NoopFilter;
+import teetime.variant.methodcall.stage.ObjectProducer;
+import teetime.variant.methodcall.stage.StartTimestampFilter;
+import teetime.variant.methodcall.stage.StopTimestampFilter;
 
 /**
  * @author Christian Wulf
diff --git a/src/test/java/teetime/examples/throughput/MethodCallThoughputTimestampAnalysis15Test.java b/src/test/java/teetime/variant/methodcall/examples/experiment15/MethodCallThoughputTimestampAnalysis15Test.java
similarity index 92%
rename from src/test/java/teetime/examples/throughput/MethodCallThoughputTimestampAnalysis15Test.java
rename to src/test/java/teetime/variant/methodcall/examples/experiment15/MethodCallThoughputTimestampAnalysis15Test.java
index 3553ea928fe7f6a147b6b7bae07d93f57ad2e833..1c72d3958b5f567c445611dcb25ede490e13a642 100644
--- a/src/test/java/teetime/examples/throughput/MethodCallThoughputTimestampAnalysis15Test.java
+++ b/src/test/java/teetime/variant/methodcall/examples/experiment15/MethodCallThoughputTimestampAnalysis15Test.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.examples.throughput;
+package teetime.variant.methodcall.examples.experiment15;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -21,10 +21,10 @@ import java.util.List;
 import org.junit.Before;
 import org.junit.Test;
 
-import teetime.examples.throughput.methodcall.ConstructorClosure;
-import teetime.examples.throughput.methodcall.MethodCallThroughputAnalysis15;
+import teetime.util.ConstructorClosure;
 import teetime.util.StatisticsUtil;
 import teetime.util.StopWatch;
+import teetime.variant.explicitScheduling.examples.throughput.TimestampObject;
 
 import kieker.common.logging.LogFactory;
 
diff --git a/src/test/java/teetime/examples/throughput/methodcall/MethodCallThroughputAnalysis15.java b/src/test/java/teetime/variant/methodcall/examples/experiment15/MethodCallThroughputAnalysis15.java
similarity index 82%
rename from src/test/java/teetime/examples/throughput/methodcall/MethodCallThroughputAnalysis15.java
rename to src/test/java/teetime/variant/methodcall/examples/experiment15/MethodCallThroughputAnalysis15.java
index c0bf75681eabc112f90de0c8c170a2f079ec9ea1..f3bc7006b6461300602d3bc633545e7d6be84e7b 100644
--- a/src/test/java/teetime/examples/throughput/methodcall/MethodCallThroughputAnalysis15.java
+++ b/src/test/java/teetime/variant/methodcall/examples/experiment15/MethodCallThroughputAnalysis15.java
@@ -13,21 +13,25 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.examples.throughput.methodcall;
+package teetime.variant.methodcall.examples.experiment15;
 
 import java.util.List;
 
-import teetime.examples.throughput.TimestampObject;
-import teetime.examples.throughput.methodcall.stage.Clock;
-import teetime.examples.throughput.methodcall.stage.CollectorSink;
-import teetime.examples.throughput.methodcall.stage.Delay;
-import teetime.examples.throughput.methodcall.stage.EndStage;
-import teetime.examples.throughput.methodcall.stage.NoopFilter;
-import teetime.examples.throughput.methodcall.stage.ObjectProducer;
-import teetime.examples.throughput.methodcall.stage.Pipeline;
-import teetime.examples.throughput.methodcall.stage.StartTimestampFilter;
-import teetime.examples.throughput.methodcall.stage.StopTimestampFilter;
-import teetime.framework.core.Analysis;
+import teetime.util.ConstructorClosure;
+import teetime.variant.explicitScheduling.examples.throughput.TimestampObject;
+import teetime.variant.explicitScheduling.framework.core.Analysis;
+import teetime.variant.methodcall.framework.core.Pipeline;
+import teetime.variant.methodcall.framework.core.RunnableStage;
+import teetime.variant.methodcall.framework.core.pipe.SpScPipe;
+import teetime.variant.methodcall.framework.core.pipe.UnorderedGrowablePipe;
+import teetime.variant.methodcall.stage.Clock;
+import teetime.variant.methodcall.stage.CollectorSink;
+import teetime.variant.methodcall.stage.Delay;
+import teetime.variant.methodcall.stage.EndStage;
+import teetime.variant.methodcall.stage.NoopFilter;
+import teetime.variant.methodcall.stage.ObjectProducer;
+import teetime.variant.methodcall.stage.StartTimestampFilter;
+import teetime.variant.methodcall.stage.StopTimestampFilter;
 
 /**
  * @author Christian Wulf
diff --git a/src/test/java/teetime/examples/throughput/MethodCallThoughputTimestampAnalysis16Test.java b/src/test/java/teetime/variant/methodcall/examples/experiment16/MethodCallThoughputTimestampAnalysis16Test.java
similarity index 94%
rename from src/test/java/teetime/examples/throughput/MethodCallThoughputTimestampAnalysis16Test.java
rename to src/test/java/teetime/variant/methodcall/examples/experiment16/MethodCallThoughputTimestampAnalysis16Test.java
index 9db9a7b353b529c21fa111329b033f768cd0a06a..942ce6c95619bf728591c9398ab93b78efa4368e 100644
--- a/src/test/java/teetime/examples/throughput/MethodCallThoughputTimestampAnalysis16Test.java
+++ b/src/test/java/teetime/variant/methodcall/examples/experiment16/MethodCallThoughputTimestampAnalysis16Test.java
@@ -13,18 +13,18 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.examples.throughput;
+package teetime.variant.methodcall.examples.experiment16;
 
 import java.util.List;
 
 import org.junit.Before;
 import org.junit.Test;
 
-import teetime.examples.throughput.methodcall.ConstructorClosure;
-import teetime.examples.throughput.methodcall.MethodCallThroughputAnalysis16;
+import teetime.util.ConstructorClosure;
 import teetime.util.ListUtil;
 import teetime.util.StatisticsUtil;
 import teetime.util.StopWatch;
+import teetime.variant.explicitScheduling.examples.throughput.TimestampObject;
 
 import kieker.common.logging.LogFactory;
 
diff --git a/src/test/java/teetime/examples/throughput/methodcall/MethodCallThroughputAnalysis16.java b/src/test/java/teetime/variant/methodcall/examples/experiment16/MethodCallThroughputAnalysis16.java
similarity index 86%
rename from src/test/java/teetime/examples/throughput/methodcall/MethodCallThroughputAnalysis16.java
rename to src/test/java/teetime/variant/methodcall/examples/experiment16/MethodCallThroughputAnalysis16.java
index 1070521e0a7d7a8bc15ecb23b099e57fc251521b..af0ac36bbbf8bfe229531a68a77de71cc731de8f 100644
--- a/src/test/java/teetime/examples/throughput/methodcall/MethodCallThroughputAnalysis16.java
+++ b/src/test/java/teetime/variant/methodcall/examples/experiment16/MethodCallThroughputAnalysis16.java
@@ -13,22 +13,27 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.examples.throughput.methodcall;
+package teetime.variant.methodcall.examples.experiment16;
 
 import java.util.ArrayList;
 import java.util.LinkedList;
 import java.util.List;
 
-import teetime.examples.throughput.TimestampObject;
-import teetime.examples.throughput.methodcall.stage.CollectorSink;
-import teetime.examples.throughput.methodcall.stage.Distributor;
-import teetime.examples.throughput.methodcall.stage.NoopFilter;
-import teetime.examples.throughput.methodcall.stage.ObjectProducer;
-import teetime.examples.throughput.methodcall.stage.Pipeline;
-import teetime.examples.throughput.methodcall.stage.Relay;
-import teetime.examples.throughput.methodcall.stage.StartTimestampFilter;
-import teetime.examples.throughput.methodcall.stage.StopTimestampFilter;
-import teetime.framework.core.Analysis;
+import teetime.util.ConstructorClosure;
+import teetime.variant.explicitScheduling.examples.throughput.TimestampObject;
+import teetime.variant.explicitScheduling.framework.core.Analysis;
+import teetime.variant.methodcall.framework.core.Pipeline;
+import teetime.variant.methodcall.framework.core.RunnableStage;
+import teetime.variant.methodcall.framework.core.StageWithPort;
+import teetime.variant.methodcall.framework.core.pipe.SpScPipe;
+import teetime.variant.methodcall.framework.core.pipe.UnorderedGrowablePipe;
+import teetime.variant.methodcall.stage.CollectorSink;
+import teetime.variant.methodcall.stage.Distributor;
+import teetime.variant.methodcall.stage.NoopFilter;
+import teetime.variant.methodcall.stage.ObjectProducer;
+import teetime.variant.methodcall.stage.Relay;
+import teetime.variant.methodcall.stage.StartTimestampFilter;
+import teetime.variant.methodcall.stage.StopTimestampFilter;
 
 /**
  * @author Christian Wulf
diff --git a/src/test/java/teetime/examples/throughput/MethodCallThoughputTimestampAnalysis17Test.java b/src/test/java/teetime/variant/methodcall/examples/experiment17/MethodCallThoughputTimestampAnalysis17Test.java
similarity index 92%
rename from src/test/java/teetime/examples/throughput/MethodCallThoughputTimestampAnalysis17Test.java
rename to src/test/java/teetime/variant/methodcall/examples/experiment17/MethodCallThoughputTimestampAnalysis17Test.java
index 1fbf55115091bc723be40968babcb5ffa13aa3df..47703cab9088543176c97a7a1322933570578a61 100644
--- a/src/test/java/teetime/examples/throughput/MethodCallThoughputTimestampAnalysis17Test.java
+++ b/src/test/java/teetime/variant/methodcall/examples/experiment17/MethodCallThoughputTimestampAnalysis17Test.java
@@ -13,18 +13,18 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.examples.throughput;
+package teetime.variant.methodcall.examples.experiment17;
 
 import java.util.List;
 
 import org.junit.Before;
 import org.junit.Test;
 
-import teetime.examples.throughput.methodcall.ConstructorClosure;
-import teetime.examples.throughput.methodcall.MethodCallThroughputAnalysis17;
+import teetime.util.ConstructorClosure;
 import teetime.util.ListUtil;
 import teetime.util.StatisticsUtil;
 import teetime.util.StopWatch;
+import teetime.variant.explicitScheduling.examples.throughput.TimestampObject;
 
 import kieker.common.logging.LogFactory;
 
diff --git a/src/test/java/teetime/examples/throughput/methodcall/MethodCallThroughputAnalysis17.java b/src/test/java/teetime/variant/methodcall/examples/experiment17/MethodCallThroughputAnalysis17.java
similarity index 86%
rename from src/test/java/teetime/examples/throughput/methodcall/MethodCallThroughputAnalysis17.java
rename to src/test/java/teetime/variant/methodcall/examples/experiment17/MethodCallThroughputAnalysis17.java
index 87f74b22f9919ed7dd28f5438d557f39250259ba..fb8c850444c1391975ea67f5af5fe5450df50fce 100644
--- a/src/test/java/teetime/examples/throughput/methodcall/MethodCallThroughputAnalysis17.java
+++ b/src/test/java/teetime/variant/methodcall/examples/experiment17/MethodCallThroughputAnalysis17.java
@@ -13,24 +13,30 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.examples.throughput.methodcall;
+package teetime.variant.methodcall.examples.experiment17;
 
 import java.util.ArrayList;
 import java.util.LinkedList;
 import java.util.List;
 
-import teetime.examples.throughput.TimestampObject;
-import teetime.examples.throughput.methodcall.stage.CollectorSink;
-import teetime.examples.throughput.methodcall.stage.Distributor;
-import teetime.examples.throughput.methodcall.stage.EndStage;
-import teetime.examples.throughput.methodcall.stage.NoopFilter;
-import teetime.examples.throughput.methodcall.stage.ObjectProducer;
-import teetime.examples.throughput.methodcall.stage.Pipeline;
-import teetime.examples.throughput.methodcall.stage.Relay;
-import teetime.examples.throughput.methodcall.stage.Sink;
-import teetime.examples.throughput.methodcall.stage.StartTimestampFilter;
-import teetime.examples.throughput.methodcall.stage.StopTimestampFilter;
-import teetime.framework.core.Analysis;
+import teetime.util.ConstructorClosure;
+import teetime.variant.explicitScheduling.examples.throughput.TimestampObject;
+import teetime.variant.explicitScheduling.framework.core.Analysis;
+import teetime.variant.methodcall.framework.core.Pipeline;
+import teetime.variant.methodcall.framework.core.RunnableStage;
+import teetime.variant.methodcall.framework.core.StageWithPort;
+import teetime.variant.methodcall.framework.core.pipe.IPipe;
+import teetime.variant.methodcall.framework.core.pipe.SpScPipe;
+import teetime.variant.methodcall.framework.core.pipe.UnorderedGrowablePipe;
+import teetime.variant.methodcall.stage.CollectorSink;
+import teetime.variant.methodcall.stage.Distributor;
+import teetime.variant.methodcall.stage.EndStage;
+import teetime.variant.methodcall.stage.NoopFilter;
+import teetime.variant.methodcall.stage.ObjectProducer;
+import teetime.variant.methodcall.stage.Relay;
+import teetime.variant.methodcall.stage.Sink;
+import teetime.variant.methodcall.stage.StartTimestampFilter;
+import teetime.variant.methodcall.stage.StopTimestampFilter;
 
 /**
  * @author Christian Wulf
diff --git a/src/test/java/teetime/examples/throughput/methodcall/MethodCallThroughputAnalysis18.java b/src/test/java/teetime/variant/methodcall/examples/experiment18/MethodCallThroughputAnalysis18.java
similarity index 85%
rename from src/test/java/teetime/examples/throughput/methodcall/MethodCallThroughputAnalysis18.java
rename to src/test/java/teetime/variant/methodcall/examples/experiment18/MethodCallThroughputAnalysis18.java
index 2f03f2e46fb18c199f9c39640e9e1aa4b7cd2202..a54abddcba9f0b19e49a5041c623fff05b2e1f7d 100644
--- a/src/test/java/teetime/examples/throughput/methodcall/MethodCallThroughputAnalysis18.java
+++ b/src/test/java/teetime/variant/methodcall/examples/experiment18/MethodCallThroughputAnalysis18.java
@@ -13,22 +13,27 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  ***************************************************************************/
-package teetime.examples.throughput.methodcall;
+package teetime.variant.methodcall.examples.experiment18;
 
 import java.util.ArrayList;
 import java.util.LinkedList;
 import java.util.List;
 
-import teetime.examples.throughput.TimestampObject;
-import teetime.examples.throughput.methodcall.stage.CollectorSink;
-import teetime.examples.throughput.methodcall.stage.Distributor;
-import teetime.examples.throughput.methodcall.stage.NoopFilter;
-import teetime.examples.throughput.methodcall.stage.ObjectProducer;
-import teetime.examples.throughput.methodcall.stage.Pipeline;
-import teetime.examples.throughput.methodcall.stage.Relay;
-import teetime.examples.throughput.methodcall.stage.StartTimestampFilter;
-import teetime.examples.throughput.methodcall.stage.StopTimestampFilter;
-import teetime.framework.core.Analysis;
+import teetime.util.ConstructorClosure;
+import teetime.variant.explicitScheduling.examples.throughput.TimestampObject;
+import teetime.variant.explicitScheduling.framework.core.Analysis;
+import teetime.variant.methodcall.framework.core.Pipeline;
+import teetime.variant.methodcall.framework.core.RunnableStage;
+import teetime.variant.methodcall.framework.core.StageWithPort;
+import teetime.variant.methodcall.framework.core.pipe.SpScPipe;
+import teetime.variant.methodcall.framework.core.pipe.UnorderedGrowablePipe;
+import teetime.variant.methodcall.stage.CollectorSink;
+import teetime.variant.methodcall.stage.Distributor;
+import teetime.variant.methodcall.stage.NoopFilter;
+import teetime.variant.methodcall.stage.ObjectProducer;
+import teetime.variant.methodcall.stage.Relay;
+import teetime.variant.methodcall.stage.StartTimestampFilter;
+import teetime.variant.methodcall.stage.StopTimestampFilter;
 
 /**
  * @author Christian Wulf