diff --git a/hints.txt b/hints.txt
new file mode 100644
index 0000000000000000000000000000000000000000..44162609391ff26b6431f211e7c4f2205f96f913
--- /dev/null
+++ b/hints.txt
@@ -0,0 +1,4 @@
+-a pipeline needs to be a stage, too, to allow the composition of stages
+-instead of using work-stealing, sort the input in desc order to process the most computationally intensive elements first (load-balancing)
+-for a novice programmer, it is difficult to select the best choice and combination of patterns to maximize performance
+-
\ No newline at end of file
diff --git a/necessary stage types.txt b/necessary stage types.txt
new file mode 100644
index 0000000000000000000000000000000000000000..de951e9bced0f277be37ca000bb75268b7de8976
--- /dev/null
+++ b/necessary stage types.txt	
@@ -0,0 +1,20 @@
+[conditional stages]
+-switch (more general than if)
+
+[split and join stages]
+-distributor
+	-necessary to distribute tasks to multiple threads
+-merge
+	-necessary to merge multiple tcp input streams to a single one
+
+[trigger-based stages]
+-aggregation
+	-necessary for trace aggregation
+-cache
+	-necessary to measure performance without being influenced by I/O delay
+
+[stages with internal states]
+-counting
+	-necessary to measure the throughput with multiple threads
+
+[]
\ No newline at end of file
diff --git a/variants.xlsx b/variants.xlsx
index 2407d072a795b93f981e2ec67d2e0e02308b6107..d0027fd616c73ce4d57eb419083c481f500ae6ec 100644
Binary files a/variants.xlsx and b/variants.xlsx differ