diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 48559f888afb06e28f651e98b32da69f24605f62..9ea7d59efee6efe12a87775613a33e99a1771904 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -11,6 +11,7 @@ image: themattrix/tox
 
 stages:
     - tests
+    - benchmarks_and_profiling
     - deploy_docs
 cache:
     paths:
@@ -51,10 +52,11 @@ build_and_deploy_docs:
 benchmarks_and_profiling:
     dependencies:
         - tests
-    stage: tests
+    stage: benchmarks_and_profiling
     only:
-#        - master
-          variables:
+#        refs:
+#            - master
+        variables:
             - $BENCHMARKS_AND_PROFILING
     script:
         - apt update
diff --git a/examples/complex_scene.py b/examples/complex_scene.py
new file mode 100644
index 0000000000000000000000000000000000000000..ecd7ee833e3fa93ffd14cafef648e83b802a1b73
--- /dev/null
+++ b/examples/complex_scene.py
@@ -0,0 +1,11 @@
+import random
+
+import numpy as np
+
+from examples.demo import Demo
+
+random.seed(1)
+np.random.seed(1)
+
+if __name__ == "__main__":
+    Demo.run_complex_scene()
diff --git a/examples/demo.py b/examples/demo.py
index fa897713e1987082ffecf1b1bc824d1329c44342..40ebeb4c776e5ac245328eff76f2cde5339a1cd8 100644
--- a/examples/demo.py
+++ b/examples/demo.py
@@ -164,7 +164,3 @@ class Demo:
         demo_001 = Demo(Scenario_Generator.load_scenario('complex_scene.pkl'))
         demo_001.set_record_frames(os.path.join(__file_dirname__, '..', 'rendering', 'frame_{:04d}.bmp'))
         demo_001.run_demo(120)
- 
-
-if __name__ == "__main__":
-    Demo.run_complex_scene()
diff --git a/examples/example_flatland_000.py b/examples/example_flatland_000.py
new file mode 100644
index 0000000000000000000000000000000000000000..504b85b7ac053f8fc43f53dc6df762c788ec1409
--- /dev/null
+++ b/examples/example_flatland_000.py
@@ -0,0 +1,11 @@
+import random
+
+import numpy as np
+
+from examples.demo import Demo
+
+random.seed(1)
+np.random.seed(1)
+
+if __name__ == "__main__":
+    Demo.run_example_flatland_000()
diff --git a/examples/example_flatland_001.py b/examples/example_flatland_001.py
new file mode 100644
index 0000000000000000000000000000000000000000..45281512c61914041b4da8ec24628389f3ce2b89
--- /dev/null
+++ b/examples/example_flatland_001.py
@@ -0,0 +1,11 @@
+import random
+
+import numpy as np
+
+from examples.demo import Demo
+
+random.seed(1)
+np.random.seed(1)
+
+if __name__ == "__main__":
+    Demo.run_example_flatland_001()
diff --git a/examples/example_flatland_002.py b/examples/example_flatland_002.py
new file mode 100644
index 0000000000000000000000000000000000000000..62f6f72f8ea46bb1cf8de58340a2a81712b7a1db
--- /dev/null
+++ b/examples/example_flatland_002.py
@@ -0,0 +1,11 @@
+import random
+
+import numpy as np
+
+from examples.demo import Demo
+
+random.seed(1)
+np.random.seed(1)
+
+if __name__ == "__main__":
+    Demo.run_example_flatland_002()
diff --git a/examples/example_flatland_003.py b/examples/example_flatland_003.py
new file mode 100644
index 0000000000000000000000000000000000000000..5905cb0811bde309b6391bfca1f67024c01dbe38
--- /dev/null
+++ b/examples/example_flatland_003.py
@@ -0,0 +1,11 @@
+import random
+
+import numpy as np
+
+from examples.demo import Demo
+
+random.seed(1)
+np.random.seed(1)
+
+if __name__ == "__main__":
+    Demo.run_example_flatland_003()
diff --git a/examples/example_network_000.py b/examples/example_network_000.py
new file mode 100644
index 0000000000000000000000000000000000000000..6e0e02b7afbd525d21394af63de63773a48d9d90
--- /dev/null
+++ b/examples/example_network_000.py
@@ -0,0 +1,11 @@
+import random
+
+import numpy as np
+
+from examples.demo import Demo
+
+random.seed(1)
+np.random.seed(1)
+
+if __name__ == "__main__":
+    Demo.run_example_network_000()
diff --git a/examples/example_network_001.py b/examples/example_network_001.py
new file mode 100644
index 0000000000000000000000000000000000000000..44775bffcf295a6afee32b1aeafe65b3fcce2663
--- /dev/null
+++ b/examples/example_network_001.py
@@ -0,0 +1,11 @@
+import random
+
+import numpy as np
+
+from examples.demo import Demo
+
+random.seed(1)
+np.random.seed(1)
+
+if __name__ == "__main__":
+    Demo.run_example_network_001()
diff --git a/examples/example_network_002.py b/examples/example_network_002.py
new file mode 100644
index 0000000000000000000000000000000000000000..047c2259f7a18219f35d574396acdc4fec281052
--- /dev/null
+++ b/examples/example_network_002.py
@@ -0,0 +1,11 @@
+import random
+
+import numpy as np
+
+from examples.demo import Demo
+
+random.seed(1)
+np.random.seed(1)
+
+if __name__ == "__main__":
+    Demo.run_example_network_002()
diff --git a/examples/generate_complex_scenario.py b/examples/generate_complex_scenario.py
new file mode 100644
index 0000000000000000000000000000000000000000..75d67aaf9f04acb2fbb73bc9c486ec65bf6bfa7e
--- /dev/null
+++ b/examples/generate_complex_scenario.py
@@ -0,0 +1,11 @@
+import random
+
+import numpy as np
+
+from examples.demo import Demo
+
+random.seed(1)
+np.random.seed(1)
+
+if __name__ == "__main__":
+    Demo.run_generate_complex_scenario()
diff --git a/examples/generate_random_scenario.py b/examples/generate_random_scenario.py
new file mode 100644
index 0000000000000000000000000000000000000000..0cf4e5122ca226a1814de6f3e23bd7f5ccd296ad
--- /dev/null
+++ b/examples/generate_random_scenario.py
@@ -0,0 +1,11 @@
+import random
+
+import numpy as np
+
+from examples.demo import Demo
+
+random.seed(1)
+np.random.seed(1)
+
+if __name__ == "__main__":
+    Demo.run_generate_random_scenario()
diff --git a/tests/envs/__init__.py b/tests/envs/__init__.py
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/tests/envs/test_env_utils.py b/tests/test_flatland_envs_env_utils.py
similarity index 100%
rename from tests/envs/test_env_utils.py
rename to tests/test_flatland_envs_env_utils.py
diff --git a/tests/test_env_observation_builder.py b/tests/test_flatland_envs_observations.py
similarity index 100%
rename from tests/test_env_observation_builder.py
rename to tests/test_flatland_envs_observations.py
diff --git a/tests/test_env_prediction_builder.py b/tests/test_flatland_envs_predictions.py
similarity index 100%
rename from tests/test_env_prediction_builder.py
rename to tests/test_flatland_envs_predictions.py
diff --git a/tests/test_integration_test.py b/tests/test_integration_test.py
deleted file mode 100644
index 808af10157298cc3630e7ba7980481b0eb17e833..0000000000000000000000000000000000000000
--- a/tests/test_integration_test.py
+++ /dev/null
@@ -1,49 +0,0 @@
-import random
-
-import numpy as np
-
-from examples.demo import Demo
-
-# ensure that every demo run behave constantly equal
-random.seed(1)
-np.random.seed(1)
-
-
-def test_flatland_000():
-    Demo.run_example_flatland_000()
-    # TODO test assertions
-
-
-def test_flatland_001():
-    Demo.run_example_flatland_001()
-    # TODO test assertions
-
-
-def test_network_000():
-    Demo.run_example_network_000()
-    # TODO test assertions
-
-
-def test_network_001():
-    Demo.run_example_network_001()
-    # TODO test assertions
-
-
-def test_network_002():
-    Demo.run_example_network_002()
-    # TODO test assertions
-
-
-def test_complex_scene():
-    Demo.run_complex_scene()
-    # TODO test assertions
-
-
-def test_generate_complex_scenario():
-    Demo.run_generate_complex_scenario()
-    # TODO test assertions
-
-
-def test_generate_random_scenario():
-    Demo.run_generate_random_scenario()
-    # TODO test assertions