diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index c722f3c334d412eb2796cff2d46e4e01f063e18d..885f2a32267882160943c6fe20f5b199c244de25 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -25,6 +25,7 @@ tests:
         - apt update
         - apt install -y libgl1-mesa-glx xvfb
         - pip install tox
+        - apt install -y graphviz xdg-utils
         - xvfb-run -s "-screen 0 800x600x24" tox
 
 build_and_deploy_docs:
diff --git a/Makefile b/Makefile
index 6a655bb9f96397d09ced973bf6f6ccab20d4e42e..e9c25bbdfed174ea0ebc4570aed4949c53b31c48 100644
--- a/Makefile
+++ b/Makefile
@@ -71,6 +71,7 @@ docs: ## generate Sphinx HTML documentation, including API docs
 	sphinx-apidoc -o docs/ flatland
 	$(MAKE) -C docs clean
 	$(MAKE) -C docs html
+	pydeps --no-config --noshow flatland -o docs/_build/html/flatland.svg
 	$(BROWSER) docs/_build/html/index.html
 
 servedocs: docs ## compile the docs watching for changes
diff --git a/README.rst b/README.rst
index b4d3193c1b4fb55327216164c602d75cc92e3fdb..11b35adc127b2b5b8b22c55fd0f494871aee56cd 100644
--- a/README.rst
+++ b/README.rst
@@ -92,6 +92,10 @@ flatland
 ========
 TODO: explain the interface here
 
+Module Dependencies
+===================
+.. image:: flatland.svg
+
 
 Authors
 --------
@@ -102,6 +106,7 @@ Authors
 * Erik Nygren <erik.nygren@sbb.ch>
 * Adrian Egli <adrian.egli@sbb.ch>
 * Vaibhav Agrawal <theinfamouswayne@gmail.com>
+* Christian Eichenberger <christian.markus.eichenberger@sbb.ch>
 
 
 <please fill yourself in>
diff --git a/examples/temporary_example.py b/examples/temporary_example.py
index db909e00e1f1a2c1fdef73ba2a35159a698832a3..862369411056d87d411c3e173bd479e9a7e93e01 100644
--- a/examples/temporary_example.py
+++ b/examples/temporary_example.py
@@ -1,10 +1,9 @@
 import random
 
-import numpy as np
-
 from flatland.envs.generators import random_rail_generator
 from flatland.envs.rail_env import RailEnv
 from flatland.utils.rendertools import RenderTool
+import numpy as np
 
 random.seed(0)
 np.random.seed(0)
diff --git a/make_docs.py b/make_docs.py
index 7ccbdb736b9b53743b58cfd985538705c5e79f08..8cc1124a6fe624fe5afff416450a0a5d30d654ca 100644
--- a/make_docs.py
+++ b/make_docs.py
@@ -25,5 +25,6 @@ os.environ["SPHINXPROJ"] = "flatland"
 os.chdir('docs')
 subprocess.call(['python', '-msphinx', '-M', 'clean', '.', '_build'])
 subprocess.call(['python', '-msphinx', '-M', 'html', '.', '_build'])
+subprocess.call(['python', '-mpydeps', '../flatland', '-o', '_build/html/flatland.svg'])
 
 browser('_build/html/index.html')
diff --git a/requirements_dev.txt b/requirements_dev.txt
index 08fcc9d17a409f4df71b0b67e037dde5ae042f8a..4b288cee88f4231f330c51f70b1cd9c9f9d05389 100644
--- a/requirements_dev.txt
+++ b/requirements_dev.txt
@@ -2,6 +2,7 @@ bumpversion==0.5.3
 wheel==0.32.1
 watchdog==0.9.0
 flake8==3.5.0
+pydeps==1.7.2
 tox==3.5.2
 coverage==4.5.1
 Sphinx==1.8.1
diff --git a/tests/test_rendertools.py b/tests/test_rendertools.py
index 245f2f327524653b3cf03bf921f6db6b0d4b51fb..c7841df54022d0c6ea24e209f6442342514153bc 100644
--- a/tests/test_rendertools.py
+++ b/tests/test_rendertools.py
@@ -4,18 +4,14 @@
 Tests for `flatland` package.
 """
 
-from flatland.envs.rail_env import RailEnv, random_rail_generator
-import numpy as np
-#<<<<<<< HEAD
-#=======
-# import os
-#>>>>>>> dc2fa1ee0244b15c76d89ab768c5e1bbd2716147
 import sys
 
 import matplotlib.pyplot as plt
+import numpy as np
 
 import flatland.utils.rendertools as rt
 from flatland.envs.observations import TreeObsForRailEnv
+from flatland.envs.rail_env import RailEnv, random_rail_generator
 
 
 def checkFrozenImage(oRT, sFileImage, resave=False):
diff --git a/tox.ini b/tox.ini
index 1c9a170724b2ed111eac11061ba598eea52a571c..71edb7b5fbe2652b00bf48fc63a35d523c791a7a 100644
--- a/tox.ini
+++ b/tox.ini
@@ -13,7 +13,7 @@ ignore = E121 E126 E123 E128 E133 E226 E241 E242 E704 W291 W293 W391 W503 W504 W
 [testenv:flake8]
 basepython = python
 deps = flake8
-commands = flake8 flatland
+commands = flake8 flatland tests examples
 
 [testenv:docs]
 basepython = python