diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 81372257bfb43a079f6c18d4889e850871f7fabd..6c17be8fe6e49db6f84c6386c27d07e39510fdbb 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -26,6 +26,7 @@ tests:
         - apt install -y libgl1-mesa-glx xvfb
         - pip install tox
         - apt install -y graphviz xdg-utils
+        - apt install -y libcairo2-dev libjpeg-dev libgif-dev
         - xvfb-run tox -v --recreate
 
 build_and_deploy_docs:
@@ -39,6 +40,7 @@ build_and_deploy_docs:
         - pip install awscli
         - apt update
         - apt install -y graphviz libgl1-mesa-glx xvfb xdg-utils
+        - apt install -y libcairo2-dev libjpeg-dev libgif-dev
     script:
         - pip install -r requirements_dev.txt
         - python setup.py install
diff --git a/examples/play_model.py b/examples/play_model.py
index 34c6aadfeefd44771fd335e2957e1fbd0b2f740f..08dadeb1d3d1e64b012c00e99594bcefd2905d1c 100644
--- a/examples/play_model.py
+++ b/examples/play_model.py
@@ -63,7 +63,8 @@ class Player(object):
             # Real Agent
             # action = self.agent.act(np.array(self.obs[handle]), eps=self.eps)
             # Random actions
-            action = random.randint(0, 3)
+            # action = random.randint(0, 3)
+            action = np.random.choice([0, 1, 2, 3], 1, p=[0.2, 0.1, 0.6, 0.1])[0]
             # Numpy version uses single random sequence
             # action = np.random.randint(0, 4, size=1)
             self.action_prob[action] += 1
@@ -106,7 +107,7 @@ def max_lt(seq, val):
     return None
 
 
-def main(render=True, delay=0.0, n_trials=3, n_steps=50, sGL="QT"):
+def main(render=True, delay=0.0, n_trials=3, n_steps=50, sGL="PILSVG"):
     random.seed(1)
     np.random.seed(1)
 
@@ -116,8 +117,7 @@ def main(render=True, delay=0.0, n_trials=3, n_steps=50, sGL="QT"):
                   number_of_agents=5)
 
     if render:
-        # env_renderer = RenderTool(env, gl="QTSVG")
-        env_renderer = RenderTool(env, gl=sGL)
+        env_renderer = RenderTool(env, gl=sGL, show=True)
 
     oPlayer = Player(env)
 
@@ -159,7 +159,7 @@ def main_old(render=True, delay=0.0):
                   number_of_agents=5)
 
     if render:
-        env_renderer = RenderTool(env, gl="QTSVG")
+        env_renderer = RenderTool(env, gl="PIL")
         # env_renderer = RenderTool(env, gl="QT")
 
     n_trials = 9999
@@ -277,4 +277,4 @@ def main_old(render=True, delay=0.0):
 
 
 if __name__ == "__main__":
-    main(render=True, delay=0)
+    main(render=True, delay=0.5)
diff --git a/examples/tkplay.py b/examples/tkplay.py
index 95842e3b430000169093d27c3c9de02ebe037de9..05078fadc225602dccc30bd5159b50a1ac7a8713 100644
--- a/examples/tkplay.py
+++ b/examples/tkplay.py
@@ -9,7 +9,7 @@ from flatland.envs.rail_env import RailEnv
 from flatland.utils.rendertools import RenderTool
 
 
-def tkmain(n_trials=2):
+def tkmain(n_trials=2, n_steps=50):
     # This creates the main window of an application
     window = tk.Tk()
     window.title("Join")
@@ -24,7 +24,6 @@ def tkmain(n_trials=2):
 
     oPlayer = Player(env)
     n_trials = 1
-    n_steps = 20
     delay = 0
     for trials in range(1, n_trials + 1):
 
diff --git a/flatland/envs/agent_utils.py b/flatland/envs/agent_utils.py
index a5f18f3f723c703339092eb8875010d2e82eac63..52cdb1029d59c9e47188cfe29208903b5e8eeac8 100644
--- a/flatland/envs/agent_utils.py
+++ b/flatland/envs/agent_utils.py
@@ -6,6 +6,11 @@ import numpy as np
 
 @attrs
 class EnvDescription(object):
+    """ EnvDescription - This is a description of a random env,
+        based around the rail_generator and stats like size and n_agents.
+        It mirrors the parameters given to the RailEnv constructor.
+        Not currently used.
+    """
     n_agents = attrib()
     height = attrib()
     width = attrib()
@@ -15,7 +20,7 @@ class EnvDescription(object):
 
 @attrs
 class EnvAgentStatic(object):
-    """ TODO: EnvAgentStatic - To store initial position, direction and target.
+    """ EnvAgentStatic - Stores initial position, direction and target.
         This is like static data for the environment - it's where an agent starts,
         rather than where it is at the moment.
         The target should also be stored here.
diff --git a/flatland/utils/editor.py b/flatland/utils/editor.py
index 680695ffd8440ceb349309da9f341cf2873ac28b..021a708e34c919dc8c2ee85991e1e351022da8f6 100644
--- a/flatland/utils/editor.py
+++ b/flatland/utils/editor.py
@@ -29,11 +29,15 @@ import jpy_canvas
 
 
 class EditorMVC(object):
-    def __init__(self, env=None, sGL="MPL"):
+    """ EditorMVC - a class to encompass and assemble the Jupyter Editor Model-View-Controller.
+    """
+    def __init__(self, env=None, sGL="PIL"):
+        """ Create an Editor MVC assembly around a railenv, or create one if None.
+        """
         if env is None:
             env = RailEnv(width=10,
                           height=10,
-                          rail_generator=random_rail_generator(),
+                          rail_generator=empty_rail_generator(),
                           number_of_agents=0,
                           obs_builder_object=TreeObsForRailEnv(max_depth=2))
 
@@ -47,6 +51,8 @@ class EditorMVC(object):
 
 
 class View(object):
+    """ The Jupyter Editor View - creates and holds the widgets comprising the Editor.
+    """
     def __init__(self, editor, sGL="MPL"):
         self.editor = self.model = editor
         self.sGL = sGL
diff --git a/flatland/utils/graphics_layer.py b/flatland/utils/graphics_layer.py
index c93762d58288b32e5e1d5db31a63678d65db1fcb..a1de818fe57ed2f91a3b025f652234c578dc11e8 100644
--- a/flatland/utils/graphics_layer.py
+++ b/flatland/utils/graphics_layer.py
@@ -7,6 +7,9 @@ class GraphicsLayer(object):
     def __init__(self):
         pass
 
+    def open_window(self):
+        pass
+
     def is_raster(self):
         return True
 
diff --git a/flatland/utils/graphics_pil.py b/flatland/utils/graphics_pil.py
index b66c8dc55f38c321d038306f933de66493a6e6b3..294251e4c1f9e138cdd3174e642eab6bd9c1f8c3 100644
--- a/flatland/utils/graphics_pil.py
+++ b/flatland/utils/graphics_pil.py
@@ -1,8 +1,14 @@
-
 from flatland.utils.graphics_layer import GraphicsLayer
-from PIL import Image, ImageDraw   # , ImageFont
+from PIL import Image, ImageDraw, ImageTk   # , ImageFont
+import tkinter as tk
 from numpy import array
 import numpy as np
+# from flatland.utils.svg import Track, Zug
+import time
+import io
+from cairosvg import svg2png
+from flatland.core.transitions import RailEnvTransitions
+# from copy import copy
 
 
 class PILGL(GraphicsLayer):
@@ -10,6 +16,7 @@ class PILGL(GraphicsLayer):
         self.nPixCell = 60
         self.yxBase = (0, 0)
         self.linewidth = 4
+        self.nAgentColors = 1  # overridden in loadAgent
         # self.tile_size = self.nPixCell
 
         self.width = width
@@ -26,7 +33,11 @@ class PILGL(GraphicsLayer):
         self.tColRail = (0, 0, 0)         # black rails
         self.tColGrid = (230,) * 3        # light grey for grid
 
-        self.beginFrame()
+        self.window_open = False
+        # self.bShow = show
+        self.firstFrame = True
+        self.create_layers()
+        # self.beginFrame()
 
     def plot(self, gX, gY, color=None, linewidth=3, layer=0, opacity=255, **kwargs):
         color = self.adaptColor(color)
@@ -45,6 +56,27 @@ class PILGL(GraphicsLayer):
         for x, y in gPoints:
             self.draws[layer].rectangle([(x - r, y - r), (x + r, y + r)], fill=color, outline=color)
 
+    def drawImageXY(self, pil_img, xyPixLeftTop, layer=0):
+        # self.layers[layer].alpha_composite(pil_img, offset=xyPixLeftTop)
+        if (pil_img.mode == "RGBA"): 
+            pil_mask = pil_img
+        else:
+            pil_mask = None
+            # print(pil_img, pil_img.mode, xyPixLeftTop, layer)
+        
+        self.layers[layer].paste(pil_img, xyPixLeftTop, pil_mask)
+
+    def drawImageRC(self, pil_img, rcTopLeft, layer=0):
+        xyPixLeftTop = tuple((array(rcTopLeft) * self.nPixCell)[[1, 0]])
+        self.drawImageXY(pil_img, xyPixLeftTop, layer=layer)
+
+    def open_window(self):
+        assert self.window_open is False, "Window is already open!"
+        self.window = tk.Tk()
+        self.window.title("Flatland")
+        self.window.configure(background='grey')
+        self.window_open = True
+
     def text(self, *args, **kwargs):
         pass
 
@@ -55,12 +87,28 @@ class PILGL(GraphicsLayer):
         pass
 
     def beginFrame(self):
-        self.create_layer(0)
-        self.create_layer(1)
+        # Create a new agent layer
+        self.create_layer(iLayer=1, clear=True)
 
     def show(self, block=False):
-        pass
-        # plt.show(block=block)
+        img = self.alpha_composite_layers()
+        
+        if not self.window_open:
+            self.open_window()
+        
+        tkimg = ImageTk.PhotoImage(img)
+        
+        if self.firstFrame:
+            # Do TK actions for a new panel (not sure what they really do)
+            self.panel = tk.Label(self.window, image=tkimg)
+            self.panel.pack(side="bottom", fill="both", expand="yes")
+        else:
+            # update the image in situ
+            self.panel.configure(image=tkimg)
+            self.panel.image = tkimg
+
+        self.window.update()
+        self.firstFrame = False
 
     def pause(self, seconds=0.00001):
         pass
@@ -83,7 +131,8 @@ class PILGL(GraphicsLayer):
         img = Image.new("RGBA", (self.widthPx, self.heightPx), (255, 255, 255, opacity))
         return img
 
-    def create_layer(self, iLayer=0):
+    def create_layer(self, iLayer=0, clear=True):
+        # If we don't have the layers already, create them
         if len(self.layers) <= iLayer:
             for i in range(len(self.layers), iLayer+1):
                 if i == 0:
@@ -94,7 +143,216 @@ class PILGL(GraphicsLayer):
                 self.layers.append(img)
                 self.draws.append(ImageDraw.Draw(img))
         else:
-            opacity = 0 if iLayer > 0 else 255
-            self.layers[iLayer] = img = self.create_image(opacity)
-            self.draws[iLayer] = ImageDraw.Draw(img)
+            # We do already have this iLayer.  Clear it if requested.
+            if clear:
+                opacity = 0 if iLayer > 0 else 255
+                self.layers[iLayer] = img = self.create_image(opacity)
+                # We also need to maintain a Draw object for each layer
+                self.draws[iLayer] = ImageDraw.Draw(img)
+
+    def create_layers(self, clear=True):        
+        self.create_layer(0, clear=clear)
+        self.create_layer(1, clear=clear)
+
+
+class PILSVG(PILGL):
+    def __init__(self, width, height):
+        print(self, type(self))
+        oSuper = super()
+        print(oSuper, type(oSuper))
+        oSuper.__init__(width, height)
+
+        # self.track = self.track = Track()
+        # self.lwTrack = []
+        # self.zug = Zug()
+
+        self.lwAgents = []
+        self.agents_prev = []
+
+        self.loadRailSVGs()
+        self.loadAgentSVGs()
+
+    def is_raster(self):
+        return False
+
+    def processEvents(self):
+        # self.app.processEvents()
+        time.sleep(0.001)
+
+    def clear_rails(self):
+        print("Clear rails")
+        self.create_layers()
+        self.clear_agents()
+
+    def clear_agents(self):
+        # print("Clear Agents: ", len(self.lwAgents))
+        for wAgent in self.lwAgents:
+            self.layout.removeWidget(wAgent)
+        self.lwAgents = []
+        self.agents_prev = []
+
+    def pilFromSvgFile(self, sfPath):
+        with open(sfPath, "r") as fIn:
+            bytesPNG = svg2png(file_obj=fIn, output_height=self.nPixCell, output_width=self.nPixCell)
+        
+        with io.BytesIO(bytesPNG) as fIn:
+            pil_img = Image.open(fIn)
+            pil_img.load()
+            # print(pil_img.mode)
+        
+        return pil_img
+
+    def pilFromSvgBytes(self, bytesSVG):
+        bytesPNG = svg2png(bytesSVG, output_height=self.nPixCell, output_width=self.nPixCell)
+        with io.BytesIO(bytesPNG) as fIn:
+            pil_img = Image.open(fIn)
+            return pil_img
+
+    def loadRailSVGs(self):
+        """ Load the rail SVG images, apply rotations, and store as PIL images.
+        """
+        dFiles = {
+            "": "Background_#91D1DD.svg",
+            "WE": "Gleis_Deadend.svg",
+            "WW EE NN SS": "Gleis_Diamond_Crossing.svg",
+            "WW EE": "Gleis_horizontal.svg",
+            "EN SW": "Gleis_Kurve_oben_links.svg",
+            "WN SE": "Gleis_Kurve_oben_rechts.svg",
+            "ES NW": "Gleis_Kurve_unten_links.svg",
+            "NE WS": "Gleis_Kurve_unten_rechts.svg",
+            "NN SS": "Gleis_vertikal.svg",
+            "NN SS EE WW ES NW SE WN": "Weiche_Double_Slip.svg",
+            "EE WW EN SW": "Weiche_horizontal_oben_links.svg",
+            "EE WW SE WN": "Weiche_horizontal_oben_rechts.svg",
+            "EE WW ES NW": "Weiche_horizontal_unten_links.svg",
+            "EE WW NE WS": "Weiche_horizontal_unten_rechts.svg",
+            "NN SS EE WW NW ES": "Weiche_Single_Slip.svg",
+            "NE NW ES WS": "Weiche_Symetrical.svg",
+            "NN SS EN SW": "Weiche_vertikal_oben_links.svg",
+            "NN SS SE WN": "Weiche_vertikal_oben_rechts.svg",
+            "NN SS NW ES": "Weiche_vertikal_unten_links.svg",
+            "NN SS NE WS": "Weiche_vertikal_unten_rechts.svg"}
+
+        self.dPil = {}
+
+        transitions = RailEnvTransitions()
+
+        lDirs = list("NESW")
+
+        # svgBG = SVG("./svg/Background_#91D1DD.svg")
+
+        for sTrans, sFile in dFiles.items():
+            sPathSvg = "./svg/" + sFile
+
+            # Translate the ascii transition descption in the format  "NE WS" to the 
+            # binary list of transitions as per RailEnv - NESW (in) x NESW (out)
+            lTrans16 = ["0"] * 16
+            for sTran in sTrans.split(" "):
+                if len(sTran) == 2:
+                    iDirIn = lDirs.index(sTran[0])
+                    iDirOut = lDirs.index(sTran[1])
+                    iTrans = 4 * iDirIn + iDirOut
+                    lTrans16[iTrans] = "1"
+            sTrans16 = "".join(lTrans16)
+            binTrans = int(sTrans16, 2)
+            print(sTrans, sTrans16, sFile)
+
+            # Merge the transition svg image with the background colour.
+            # This is a shortcut / hack and will need re-working.
+            # if binTrans > 0:
+            #    svg = svg.merge(svgBG)
+
+            pilRail = self.pilFromSvgFile(sPathSvg)
+            self.dPil[binTrans] = pilRail
+
+            # Rotate both the transition binary and the image and save in the dict
+            for nRot in [90, 180, 270]:
+                binTrans2 = transitions.rotate_transition(binTrans, nRot)
+
+                # PIL rotates anticlockwise for positive theta
+                pilRail2 = pilRail.rotate(-nRot)
+                self.dPil[binTrans2] = pilRail2
+
+    def setRailAt(self, row, col, binTrans):
+        if binTrans in self.dPil:
+            pilTrack = self.dPil[binTrans]
+            self.drawImageRC(pilTrack, (row, col))
+        else:
+            print("Illegal rail:", row, col, format(binTrans, "#018b")[2:])
+
+    def rgb_s2i(self, sRGB):
+        """ convert a hex RGB string like 0091ea to 3-tuple of ints """
+        return tuple(int(sRGB[iRGB * 2:iRGB * 2 + 2], 16) for iRGB in [0, 1, 2])
+
+    def loadAgentSVGs(self):
+
+        # Seed initial train/zug files indexed by tuple(iDirIn, iDirOut):
+        dDirsFile = {
+            (0, 0): "svg/Zug_Gleis_#0091ea.svg",
+            (1, 2): "svg/Zug_1_Weiche_#0091ea.svg",
+            (0, 3): "svg/Zug_2_Weiche_#0091ea.svg"
+            }
+
+        sColors = "d50000#c51162#aa00ff#6200ea#304ffe#2962ff#0091ea#00b8d4#00bfa5#00c853" + \
+            "#64dd17#aeea00#ffd600#ffab00#ff6d00#ff3d00#5d4037#455a64"
+        lColors = sColors.split("#")
+        self.nAgentColors = len(lColors)
+
+        # "paint" color of the train images we load
+        a_base_color = self.rgb_s2i("0091ea")
+
+        self.dPilZug = {}
+
+        for tDirs, sPathSvg in dDirsFile.items():
+            iDirIn, iDirOut = tDirs
+            
+            pilZug = self.pilFromSvgFile(sPathSvg)
+
+            # Rotate both the directions and the image and save in the dict
+            for iDirRot in range(4):
+                nDegRot = iDirRot * 90
+                iDirIn2 = (iDirIn + iDirRot) % 4
+                iDirOut2 = (iDirOut + iDirRot) % 4
+
+                # PIL rotates anticlockwise for positive theta
+                pilZug2 = pilZug.rotate(-nDegRot)
+                rgbaZug2 = array(pilZug2)
+
+                for iColor, sColor in enumerate(lColors):
+                    tnNewColor = self.rgb_s2i(sColor)
+                    xy_color_mask = np.all(rgbaZug2[:, :, 0:3] - a_base_color == 0, axis=2)
+                    rgbaZug3 = np.copy(rgbaZug2)
+                    rgbaZug3[xy_color_mask, 0:3] = tnNewColor
+                    self.dPilZug[(iDirIn2, iDirOut2, iColor)] = Image.fromarray(rgbaZug3)
+
+    def setAgentAt(self, iAgent, row, col, iDirIn, iDirOut, color=None):
+        delta_dir = (iDirOut - iDirIn) % 4
+        iColor = iAgent % self.nAgentColors
+        # when flipping direction at a dead end, use the "iDirOut" direction.
+        if delta_dir == 2:
+            iDirIn = iDirOut
+        pilZug = self.dPilZug[(iDirIn % 4, iDirOut % 4, iColor)]
+        self.drawImageRC(pilZug, (row, col), layer=1)
+
+
+def main2():
+    gl = PILSVG(10, 10)
+    for i in range(10):
+        gl.beginFrame()
+        gl.plot([3 + i, 4], [-4 - i, -5], color="r")
+        gl.endFrame()
+        time.sleep(1)
+
+
+def main():
+    gl = PILSVG(width=10, height=10)
+
+    for i in range(1000):
+        gl.processEvents()
+        time.sleep(0.1)
+    time.sleep(1)
+
+
+if __name__ == "__main__":
+    main()
 
diff --git a/flatland/utils/render_qt.py b/flatland/utils/render_qt.py
index b00ebe450c677a485c43ef98c1327f9319fea73c..a41f5a26ca31c70ff8f7759ad7c45043bcd2c2d3 100644
--- a/flatland/utils/render_qt.py
+++ b/flatland/utils/render_qt.py
@@ -135,6 +135,7 @@ class QTSVG(GraphicsLayer):
         self.agents_prev = []
 
         # svgWidget = None
+<<<<<<< HEAD
 
         # iArt = 0
         # iCol = 0
@@ -154,6 +155,8 @@ class QTSVG(GraphicsLayer):
         #     svgWidget2.renderer().load(bySVG)
         #
         #     self.layout.addWidget(svgWidget2, 0, 0)
+=======
+>>>>>>> 38-jw-SBB-graphics
 
     def is_raster(self):
         return False
diff --git a/flatland/utils/rendertools.py b/flatland/utils/rendertools.py
index c3ba40f7e21083bdc04a989d7477f6c154a07b85..b34467bfd4365a93063163eef8bec2d9612fa5ad 100644
--- a/flatland/utils/rendertools.py
+++ b/flatland/utils/rendertools.py
@@ -3,27 +3,26 @@ from collections import deque
 
 # import xarray as xr
 import matplotlib.pyplot as plt
-import numpy as np
-from numpy import array
-from recordtype import recordtype
-
-from flatland.utils.graphics_layer import GraphicsLayer
-from flatland.utils.graphics_pil import PILGL
 from flatland.utils.render_qt import QTGL, QTSVG
-
+from flatland.utils.graphics_pil import PILGL, PILSVG
+from flatland.utils.graphics_layer import GraphicsLayer
+from recordtype import recordtype
+from numpy import array
+import numpy as np
 
 # TODO: suggested renaming to RailEnvRenderTool, as it will only work with RailEnv!
 
 
 class MPLGL(GraphicsLayer):
-    def __init__(self, width, height, show=False):
+    def __init__(self, width, height):
         self.width = width
         self.height = height
         self.yxBase = array([6, 21])  # pixel offset
         self.nPixCell = 700 / width
         self.img = None
-        if show:
-            plt.figure(figsize=(10, 10))
+
+    def open_window(self):
+        plt.figure(figsize=(10, 10))
 
     def plot(self, *args, **kwargs):
         plt.plot(*args, **kwargs)
@@ -127,11 +126,13 @@ class RenderTool(object):
         # self.gl = MPLGL()
 
         if gl == "MPL":
-            self.gl = MPLGL(env.width, env.height, show=show)
+            self.gl = MPLGL(env.width, env.height)
         elif gl == "QT":
             self.gl = QTGL(env.width, env.height)
         elif gl == "PIL":
             self.gl = PILGL(env.width, env.height)
+        elif gl == "PILSVG":
+            self.gl = PILSVG(env.width, env.height)
         elif gl == "QTSVG":
             self.gl = QTSVG(env.width, env.height)
 
@@ -620,11 +621,11 @@ class RenderTool(object):
         """
 
         if not self.gl.is_raster():
-            self.renderEnv2(show, curves, spacing,
-                            arrows, agents, renderobs, sRailColor,
-                            frames, iEpisode, iStep,
-                            iSelectedAgent, action_dict)
-
+            self.renderEnv2(show=show, curves=curves, spacing=spacing,
+                            arrows=arrows, agents=agents, show_observations=show_observations,
+                            sRailColor=sRailColor,
+                            frames=frames, iEpisode=iEpisode, iStep=iStep,
+                            iSelectedAgent=iSelectedAgent, action_dict=action_dict)
             return
 
         if type(self.gl) in (QTGL, PILGL):
@@ -684,6 +685,9 @@ class RenderTool(object):
                 self.gl.show(block=False)
             # self.gl.endFrame()
 
+        if show and type(self.gl) is PILGL:
+            self.gl.show()
+
         self.gl.pause(0.00001)
 
         return
@@ -727,9 +731,11 @@ class RenderTool(object):
 
             gP0 = array([gX1, gY1, gZ1])
 
-    def renderEnv2(self, show=False, curves=True, spacing=False, arrows=False, agents=True, renderobs=True,
-                   sRailColor="gray", frames=False, iEpisode=None, iStep=None, iSelectedAgent=None,
-                   action_dict=dict()):
+    def renderEnv2(
+        self, show=False, curves=True, spacing=False, arrows=False, agents=True, 
+            show_observations=True, sRailColor="gray",
+            frames=False, iEpisode=None, iStep=None, iSelectedAgent=None,
+            action_dict=dict()):
         """
         Draw the environment using matplotlib.
         Draw into the figure if provided.
@@ -740,6 +746,8 @@ class RenderTool(object):
 
         env = self.env
 
+        self.gl.beginFrame()
+
         if self.new_rail:
             self.new_rail = False
             self.gl.clear_rails()
@@ -765,13 +773,23 @@ class RenderTool(object):
                 iAction = action_dict[iAgent]
                 new_direction, action_isValid = self.env.check_action(agent, iAction)
 
-            if action_isValid:
+            # ** TODO ***
+            # why should we only update if the action is valid ?
+            if True:
+                if action_isValid:
+                    self.gl.setAgentAt(iAgent, *agent.position, agent.direction, new_direction, color=oColor)
+                else:
+                    # pass
+                    print("invalid action - agent ", iAgent, " bend ", agent.direction, new_direction)
+                    self.gl.setAgentAt(iAgent, *agent.position, agent.direction, new_direction)
+            else:
                 self.gl.setAgentAt(iAgent, *agent.position, agent.direction, new_direction, color=oColor)
             else:
                 print("invalid action - agent ", iAgent, " bend ", agent.direction, new_direction)
                 # self.gl.setAgentAt(iAgent, *agent.position, agent.direction, new_direction)
 
-        self.gl.show()
+        if show:
+            self.gl.show()
         for i in range(3):
             self.gl.processEvents()
 
diff --git a/flatland/utils/svg.py b/flatland/utils/svg.py
index fb8b987cae83f4b8a3696e0e9496659045709c17..89730af2c41a442e65d8c5976f24b1ea84468330 100644
--- a/flatland/utils/svg.py
+++ b/flatland/utils/svg.py
@@ -104,6 +104,13 @@ class Zug(object):
 
 
 class Track(object):
+    """ Class to load and hold SVG track images.
+        Creates a mapping between
+        - cell entry and exit directions (ie transitions), and
+        - specific images provided by the SBB graphic artist.
+        The directions and images are also rotated by 90, 180 & 270 degrees.
+        (There is some redundancy in this process, given the images provided)
+    """
     def __init__(self):
         dFiles = {
             "": "Background_#9CCB89.svg",
@@ -138,6 +145,8 @@ class Track(object):
         for sTrans, sFile in dFiles.items():
             svg = SVG("./svg/" + sFile)
 
+            # Translate the ascii transition descption in the format  "NE WS" to the 
+            # binary list of transitions as per RailEnv - NESW (in) x NESW (out)
             lTrans16 = ["0"] * 16
             for sTran in sTrans.split(" "):
                 if len(sTran) == 2:
@@ -149,11 +158,14 @@ class Track(object):
             binTrans = int(sTrans16, 2)
             print(sTrans, sTrans16, sFile)
 
+            # Merge the transition svg image with the background colour.
+            # This is a shortcut / hack and will need re-working.
             if binTrans > 0:
                 svg = svg.merge(svgBG)
 
             self.dSvg[binTrans] = svg
 
+            # Rotate both the transition binary and the image and save in the dict
             for nRot in [90, 180, 270]:
                 binTrans2 = transitions.rotate_transition(binTrans, nRot)
                 svg2 = svg.copy()
diff --git a/images/basic-env.npz b/images/basic-env.npz
index 8ffaf023e1116b0c92702212ddb04c71b82f0655..e645113154b9e953575a12dcbadf4f9f3195b4ad 100644
Binary files a/images/basic-env.npz and b/images/basic-env.npz differ
diff --git a/requirements_dev.txt b/requirements_dev.txt
index 67b2a0e632283c89d07d778f935f0328559ffb8a..0bc1c76c25c5fc43a1f43ecaf484d23931f5bf7c 100644
--- a/requirements_dev.txt
+++ b/requirements_dev.txt
@@ -20,6 +20,8 @@ xarray==0.11.3
 matplotlib==3.0.2
 PyQt5==5.12
 Pillow==5.4.1
+CairoSVG==2.3.1
+pycairo==1.18.1
 
 msgpack==0.6.1
 svgutils==0.3.1
diff --git a/svg/Bahnhof_#d50000_Deadend_links.svg b/svg/Bahnhof_#d50000_Deadend_links.svg
new file mode 100644
index 0000000000000000000000000000000000000000..949b95f59f7aa74bb2a47cc45854b2fbf03b6bc5
--- /dev/null
+++ b/svg/Bahnhof_#d50000_Deadend_links.svg
@@ -0,0 +1,269 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 23.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 240 240" style="enable-background:new 0 0 240 240;" xml:space="preserve">
+<style type="text/css">
+	.st0{display:none;}
+	.st1{display:inline;fill:none;}
+	.st2{fill:#D50000;}
+	.st3{fill:none;}
+	.st4{fill:#858B8A;}
+	.st5{fill:#E20613;}
+	.st6{fill:#ECECEC;}
+	.st7{fill:#D9D9D9;}
+	.st8{fill:#585858;}
+	.st9{fill:#FFFFFF;}
+	.st10{fill:#1D1D1B;}
+	.st11{fill:#9EA5A3;}
+	.st12{fill:#978679;}
+	.st13{fill:#3D3D3D;}
+</style>
+<g class="st0">
+	<rect class="st1" width="240" height="240"/>
+</g>
+<g>
+	<g>
+		<polygon class="st2" points="123.31,56.74 123.31,50.78 123.31,45.54 87.08,45.54 72.79,45.54 72.79,56.74 48.39,56.74 
+			48.39,89.5 72.79,89.5 87.08,89.5 98.25,89.5 123.31,89.5 147.7,89.5 147.7,56.74 		"/>
+		<polygon class="st2" points="126.51,42.94 98.17,25.74 70.3,42.93 70.3,44.66 126.51,44.66 		"/>
+	</g>
+	<g>
+		<polygon class="st3" points="70.3,42.93 70.3,44.66 126.51,44.66 126.51,42.94 98.17,25.74 		"/>
+		<path class="st4" d="M98.16,22.96L68.67,41.15v5.91h59.46v-5.91L98.16,22.96z M126.51,44.66H70.3v-1.73l27.87-17.19l28.34,17.2
+			V44.66z"/>
+	</g>
+	<polygon class="st5" points="98.44,19.35 105.82,17.62 105.82,11.99 98.44,13.73 	"/>
+	<rect x="97.68" y="13.72" class="st4" width="0.75" height="11.5"/>
+	<rect x="47.12" y="52.82" class="st4" width="101.86" height="3.92"/>
+	<rect x="47.12" y="89.5" class="st4" width="101.86" height="2"/>
+	<g>
+		<rect x="91.11" y="52.5" class="st6" width="13.82" height="10.5"/>
+		<polygon class="st7" points="104.93,62.99 94.03,62.99 99.48,52.5 104.93,52.5 		"/>
+		<rect x="91.11" y="62.99" class="st8" width="13.82" height="0.69"/>
+	</g>
+	<rect x="76.12" y="52.84" class="st6" width="6.79" height="10.5"/>
+	<polygon class="st7" points="82.9,63.34 77.55,63.34 80.23,52.84 82.9,52.84 	"/>
+	<rect x="76.12" y="63.34" class="st8" width="6.79" height="0.69"/>
+	<rect x="113.19" y="52.84" class="st6" width="6.79" height="10.5"/>
+	<polygon class="st7" points="119.98,63.34 114.63,63.34 117.3,52.84 119.98,52.84 	"/>
+	<rect x="113.19" y="63.34" class="st8" width="6.79" height="0.69"/>
+	<rect x="76.12" y="68.26" class="st6" width="6.79" height="10.5"/>
+	<polygon class="st7" points="82.9,78.76 77.55,78.76 80.23,68.26 82.9,68.26 	"/>
+	<rect x="76.12" y="78.76" class="st8" width="6.79" height="0.69"/>
+	<rect x="113.19" y="68.26" class="st6" width="6.79" height="10.5"/>
+	<polygon class="st7" points="119.98,78.76 114.63,78.76 117.3,68.26 119.98,68.26 	"/>
+	<rect x="113.19" y="78.76" class="st8" width="6.79" height="0.69"/>
+	<g>
+		<g>
+			<rect x="90.42" y="73.93" class="st6" width="15.06" height="14.59"/>
+			<polygon class="st7" points="105.48,88.52 93.61,88.52 99.55,73.93 105.48,73.93 			"/>
+		</g>
+		<rect x="90.42" y="88.52" class="st8" width="15.06" height="0.95"/>
+		<rect x="90.42" y="73.12" class="st8" width="15.06" height="0.81"/>
+		
+			<rect x="97.45" y="81.15" transform="matrix(-1.836970e-16 1 -1 -1.836970e-16 186.9261 -24.334)" class="st8" width="16.35" height="0.3"/>
+		
+			<rect x="82.12" y="81.15" transform="matrix(-1.836970e-16 1 -1 -1.836970e-16 171.593 -9.0009)" class="st8" width="16.35" height="0.3"/>
+		
+			<rect x="89.92" y="81.15" transform="matrix(-1.836970e-16 1 -1 -1.836970e-16 179.3965 -16.8044)" class="st8" width="16.35" height="0.3"/>
+		<g>
+			<rect x="96.29" y="81.62" class="st8" width="0.93" height="0.55"/>
+			<rect x="98.98" y="81.62" class="st8" width="0.93" height="0.55"/>
+		</g>
+	</g>
+	<rect x="127.03" y="84.91" class="st8" width="6.79" height="0.69"/>
+	<rect x="62.38" y="58.99" class="st6" width="6.79" height="10.5"/>
+	<polygon class="st7" points="69.16,69.49 63.81,69.49 66.49,58.99 69.16,58.99 	"/>
+	<rect x="62.38" y="69.49" class="st8" width="6.79" height="0.69"/>
+	<rect x="62.38" y="74.41" class="st6" width="6.79" height="10.5"/>
+	<polygon class="st7" points="69.16,84.91 63.81,84.91 66.49,74.41 69.16,74.41 	"/>
+	<rect x="62.38" y="84.91" class="st8" width="6.79" height="0.69"/>
+	<rect x="52.62" y="58.99" class="st6" width="6.79" height="10.5"/>
+	<polygon class="st7" points="59.41,69.49 54.06,69.49 56.74,58.99 59.41,58.99 	"/>
+	<rect x="52.62" y="69.49" class="st8" width="6.79" height="0.69"/>
+	<rect x="52.62" y="74.41" class="st6" width="6.79" height="10.5"/>
+	<polygon class="st7" points="59.41,84.91 54.06,84.91 56.74,74.41 59.41,74.41 	"/>
+	<rect x="52.62" y="84.91" class="st8" width="6.79" height="0.69"/>
+	<rect x="136.78" y="58.99" class="st6" width="6.79" height="10.5"/>
+	<polygon class="st7" points="143.57,69.49 138.22,69.49 140.89,58.99 143.57,58.99 	"/>
+	<rect x="136.78" y="69.49" class="st8" width="6.79" height="0.69"/>
+	<rect x="136.78" y="74.41" class="st6" width="6.79" height="10.5"/>
+	<polygon class="st7" points="143.57,84.91 138.22,84.91 140.89,74.41 143.57,74.41 	"/>
+	<rect x="136.78" y="84.91" class="st8" width="6.79" height="0.69"/>
+	<rect x="127.03" y="58.99" class="st6" width="6.79" height="10.5"/>
+	<polygon class="st7" points="133.81,69.49 128.46,69.49 131.14,58.99 133.81,58.99 	"/>
+	<rect x="127.03" y="74.41" class="st6" width="6.79" height="10.5"/>
+	<polygon class="st7" points="133.81,84.91 128.46,84.91 131.14,74.41 133.81,74.41 	"/>
+	<rect x="127.03" y="69.49" class="st8" width="6.79" height="0.69"/>
+	<g>
+		<rect x="91.11" y="56.04" class="st8" width="13.82" height="0.69"/>
+	</g>
+	<rect x="76.12" y="56.39" class="st8" width="6.79" height="0.69"/>
+	<rect x="113.19" y="56.39" class="st8" width="6.79" height="0.69"/>
+	<rect x="76.12" y="71.81" class="st8" width="6.79" height="0.69"/>
+	<rect x="113.19" y="71.81" class="st8" width="6.79" height="0.69"/>
+	<rect x="127.03" y="77.96" class="st8" width="6.79" height="0.69"/>
+	<rect x="62.38" y="62.54" class="st8" width="6.79" height="0.69"/>
+	<rect x="62.38" y="77.96" class="st8" width="6.79" height="0.69"/>
+	<rect x="52.62" y="62.54" class="st8" width="6.79" height="0.69"/>
+	<rect x="52.62" y="77.96" class="st8" width="6.79" height="0.69"/>
+	<rect x="136.78" y="62.54" class="st8" width="6.79" height="0.69"/>
+	<rect x="136.78" y="77.96" class="st8" width="6.79" height="0.69"/>
+	<rect x="127.03" y="62.54" class="st8" width="6.79" height="0.69"/>
+	<g>
+		<path class="st9" d="M103.54,36.19c0-2.84-2.3-5.14-5.14-5.14c-2.84,0-5.14,2.3-5.14,5.14c0,2.84,2.3,5.14,5.14,5.14
+			C101.24,41.34,103.54,39.03,103.54,36.19z"/>
+		<g>
+			<path class="st10" d="M98.4,40.76c-2.52,0-4.57-2.05-4.57-4.57c0-2.52,2.05-4.57,4.57-4.57c2.52,0,4.57,2.05,4.57,4.57
+				C102.97,38.71,100.92,40.76,98.4,40.76z M98.4,32.15c-2.23,0-4.04,1.81-4.04,4.04c0,2.23,1.81,4.04,4.04,4.04
+				c2.23,0,4.04-1.81,4.04-4.04C102.45,33.97,100.63,32.15,98.4,32.15z"/>
+		</g>
+		<path class="st10" d="M101.25,35.93h-2.58V33.1c0-0.14-0.12-0.26-0.26-0.26c-0.14,0-0.26,0.12-0.26,0.26v3.1
+			c0,0.14,0.12,0.26,0.26,0.26h2.85c0.14,0,0.26-0.12,0.26-0.26S101.39,35.93,101.25,35.93z"/>
+	</g>
+	<g>
+		<g>
+			<g>
+				<g>
+					<rect x="108.27" y="69.21" class="st11" width="2.33" height="19.15"/>
+				</g>
+				<g>
+					<rect x="109.43" y="69.21" class="st4" width="1.16" height="19.15"/>
+				</g>
+				<rect x="107.02" y="88.36" class="st11" width="4.84" height="1.28"/>
+				<g>
+					<rect x="110.02" y="88.36" class="st11" width="1.84" height="1.28"/>
+				</g>
+				<rect x="107.51" y="87.83" class="st11" width="3.85" height="0.79"/>
+				<g>
+					<rect x="109.6" y="87.83" class="st11" width="1.76" height="0.79"/>
+				</g>
+				<path class="st11" d="M108.68,70.18c0-0.54-0.43-0.97-0.97-0.97s-0.97,0.43-0.97,0.97c0,0.54,0.43,0.97,0.97,0.97
+					S108.68,70.72,108.68,70.18z"/>
+				<rect x="107.71" y="69.21" class="st11" width="3.45" height="0.65"/>
+				<g>
+					<rect x="109.79" y="69.21" class="st11" width="1.37" height="0.65"/>
+				</g>
+				<g>
+					<path class="st11" d="M112.13,70.18c0-0.54-0.43-0.97-0.97-0.97c-0.54,0-0.97,0.43-0.97,0.97c0,0.54,0.43,0.97,0.97,0.97
+						C111.69,71.15,112.13,70.72,112.13,70.18z"/>
+				</g>
+			</g>
+		</g>
+		<g>
+			<g>
+				<g>
+					<rect x="85.33" y="69.21" class="st11" width="2.33" height="19.15"/>
+				</g>
+				<g>
+					<rect x="86.49" y="69.21" class="st4" width="1.16" height="19.15"/>
+				</g>
+				<rect x="84.07" y="88.36" class="st11" width="4.84" height="1.28"/>
+				<g>
+					<rect x="87.08" y="88.36" class="st11" width="1.84" height="1.28"/>
+				</g>
+				<rect x="84.57" y="87.83" class="st11" width="3.85" height="0.79"/>
+				<g>
+					<rect x="86.66" y="87.83" class="st11" width="1.76" height="0.79"/>
+				</g>
+				<path class="st11" d="M85.74,70.18c0-0.54-0.43-0.97-0.97-0.97c-0.54,0-0.97,0.43-0.97,0.97c0,0.54,0.43,0.97,0.97,0.97
+					C85.3,71.15,85.74,70.72,85.74,70.18z"/>
+				<rect x="84.77" y="69.21" class="st11" width="3.45" height="0.65"/>
+				<g>
+					<rect x="86.84" y="69.21" class="st11" width="1.37" height="0.65"/>
+				</g>
+				<g>
+					<path class="st11" d="M89.19,70.18c0-0.54-0.43-0.97-0.97-0.97c-0.54,0-0.97,0.43-0.97,0.97c0,0.54,0.43,0.97,0.97,0.97
+						C88.75,71.15,89.19,70.72,89.19,70.18z"/>
+				</g>
+			</g>
+		</g>
+	</g>
+	<g>
+		<g>
+			<g>
+				<g>
+					<rect x="108.27" y="47.12" class="st11" width="2.33" height="19.15"/>
+				</g>
+				<g>
+					<rect x="109.43" y="47.12" class="st4" width="1.16" height="19.15"/>
+				</g>
+				<rect x="107.02" y="66.26" class="st11" width="4.84" height="1.28"/>
+				<g>
+					<rect x="110.02" y="66.26" class="st11" width="1.84" height="1.28"/>
+				</g>
+				<rect x="107.51" y="65.74" class="st11" width="3.85" height="0.79"/>
+				<g>
+					<rect x="109.6" y="65.74" class="st11" width="1.76" height="0.79"/>
+				</g>
+				<path class="st11" d="M108.68,48.09c0-0.54-0.43-0.97-0.97-0.97s-0.97,0.43-0.97,0.97c0,0.54,0.43,0.97,0.97,0.97
+					S108.68,48.62,108.68,48.09z"/>
+				<rect x="107.71" y="47.12" class="st11" width="3.45" height="0.65"/>
+				<g>
+					<rect x="109.79" y="47.12" class="st11" width="1.37" height="0.65"/>
+				</g>
+				<g>
+					<path class="st11" d="M112.13,48.09c0-0.54-0.43-0.97-0.97-0.97c-0.54,0-0.97,0.43-0.97,0.97c0,0.54,0.43,0.97,0.97,0.97
+						C111.69,49.06,112.13,48.62,112.13,48.09z"/>
+				</g>
+			</g>
+		</g>
+		<g>
+			<g>
+				<g>
+					<rect x="85.33" y="47.12" class="st11" width="2.33" height="19.15"/>
+				</g>
+				<g>
+					<rect x="86.49" y="47.12" class="st4" width="1.16" height="19.15"/>
+				</g>
+				<rect x="84.07" y="66.26" class="st11" width="4.84" height="1.28"/>
+				<g>
+					<rect x="87.08" y="66.26" class="st11" width="1.84" height="1.28"/>
+				</g>
+				<rect x="84.57" y="65.74" class="st11" width="3.85" height="0.79"/>
+				<g>
+					<rect x="86.66" y="65.74" class="st11" width="1.76" height="0.79"/>
+				</g>
+				<path class="st11" d="M85.74,48.09c0-0.54-0.43-0.97-0.97-0.97c-0.54,0-0.97,0.43-0.97,0.97c0,0.54,0.43,0.97,0.97,0.97
+					C85.3,49.06,85.74,48.62,85.74,48.09z"/>
+				<rect x="84.77" y="47.12" class="st11" width="3.45" height="0.65"/>
+				<g>
+					<rect x="86.84" y="47.12" class="st11" width="1.37" height="0.65"/>
+				</g>
+				<g>
+					<path class="st11" d="M89.19,48.09c0-0.54-0.43-0.97-0.97-0.97c-0.54,0-0.97,0.43-0.97,0.97c0,0.54,0.43,0.97,0.97,0.97
+						C88.75,49.06,89.19,48.62,89.19,48.09z"/>
+				</g>
+			</g>
+		</g>
+	</g>
+	<rect x="83.2" y="66.5" class="st11" width="29.54" height="2.71"/>
+	<rect x="83.2" y="67.85" class="st4" width="29.54" height="1.36"/>
+	<polygon class="st9" points="101.58,17.77 102.68,17.46 102.68,13.57 101.58,13.88 	"/>
+	<polygon class="st9" points="100.24,15.54 100.24,16.64 104.03,15.8 104.03,14.7 	"/>
+</g>
+<g>
+	<g>
+		<rect x="112.85" y="111.24" class="st12" width="3.29" height="16.56"/>
+		<rect x="101.83" y="111.24" class="st12" width="3.29" height="16.56"/>
+		<rect x="90.81" y="111.24" class="st12" width="3.29" height="16.56"/>
+		<rect x="79.8" y="111.24" class="st12" width="3.29" height="16.56"/>
+		<rect x="145.85" y="111.24" class="st13" width="3.29" height="16.56"/>
+		<rect x="134.83" y="111.24" class="st12" width="3.29" height="16.56"/>
+		<rect x="123.81" y="111.24" class="st12" width="3.29" height="16.56"/>
+		<rect x="68.78" y="111.24" class="st12" width="3.29" height="16.56"/>
+		<rect x="57.76" y="111.24" class="st12" width="3.29" height="16.56"/>
+		<rect x="46.74" y="111.24" class="st12" width="3.29" height="16.56"/>
+		<rect x="35.73" y="111.24" class="st12" width="3.29" height="16.56"/>
+		<rect x="24.71" y="111.24" class="st12" width="3.29" height="16.56"/>
+		<rect x="14.11" y="111.24" class="st12" width="3.29" height="16.56"/>
+		<rect x="3.85" y="111.24" class="st12" width="3.29" height="16.56"/>
+	</g>
+	<g>
+		<rect x="0" y="114.71" class="st13" width="148" height="1.33"/>
+		<rect x="0" y="123" class="st13" width="148" height="1.33"/>
+	</g>
+</g>
+<rect x="47" y="131.5" transform="matrix(-1 -1.224647e-16 1.224647e-16 -1 196 274)" class="st7" width="102" height="11"/>
+<rect x="47" y="97.5" transform="matrix(-1 -3.564960e-14 3.564960e-14 -1 196 206)" class="st7" width="102" height="11"/>
+</svg>
diff --git a/svg/Bahnhof_#d50000_Deadend_oben.svg b/svg/Bahnhof_#d50000_Deadend_oben.svg
new file mode 100644
index 0000000000000000000000000000000000000000..7a8c41f1e0df98037b0da3470c2b8aff47d32b2a
--- /dev/null
+++ b/svg/Bahnhof_#d50000_Deadend_oben.svg
@@ -0,0 +1,267 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 23.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 240 240" style="enable-background:new 0 0 240 240;" xml:space="preserve">
+<style type="text/css">
+	.st0{fill:none;}
+	.st1{fill:#D50000;}
+	.st2{fill:#858B8A;}
+	.st3{fill:#E20613;}
+	.st4{fill:#ECECEC;}
+	.st5{fill:#D9D9D9;}
+	.st6{fill:#585858;}
+	.st7{fill:#FFFFFF;}
+	.st8{fill:#1D1D1B;}
+	.st9{fill:#9EA5A3;}
+	.st10{fill:#978679;}
+	.st11{fill:#3D3D3D;}
+</style>
+<g>
+	<rect class="st0" width="240" height="240"/>
+</g>
+<g>
+	<g>
+		<polygon class="st1" points="145.31,204.74 145.31,198.78 145.31,193.54 109.08,193.54 94.79,193.54 94.79,204.74 70.39,204.74 
+			70.39,237.5 94.79,237.5 109.08,237.5 120.25,237.5 145.31,237.5 169.7,237.5 169.7,204.74 		"/>
+		<polygon class="st1" points="148.51,190.94 120.17,173.74 92.3,190.93 92.3,192.66 148.51,192.66 		"/>
+	</g>
+	<g>
+		<polygon class="st0" points="92.3,190.93 92.3,192.66 148.51,192.66 148.51,190.94 120.17,173.74 		"/>
+		<path class="st2" d="M120.16,170.96l-29.49,18.19v5.91h59.46v-5.91L120.16,170.96z M148.51,192.66H92.3v-1.73l27.87-17.19
+			l28.34,17.2V192.66z"/>
+	</g>
+	<polygon class="st3" points="120.44,167.35 127.82,165.62 127.82,159.99 120.44,161.73 	"/>
+	<rect x="119.68" y="161.72" class="st2" width="0.75" height="11.5"/>
+	<rect x="69.12" y="200.82" class="st2" width="101.86" height="3.92"/>
+	<rect x="69.12" y="237.5" class="st2" width="101.86" height="2"/>
+	<g>
+		<rect x="113.11" y="200.5" class="st4" width="13.82" height="10.5"/>
+		<polygon class="st5" points="126.93,210.99 116.03,210.99 121.48,200.5 126.93,200.5 		"/>
+		<rect x="113.11" y="210.99" class="st6" width="13.82" height="0.69"/>
+	</g>
+	<rect x="98.12" y="200.84" class="st4" width="6.79" height="10.5"/>
+	<polygon class="st5" points="104.9,211.34 99.55,211.34 102.23,200.84 104.9,200.84 	"/>
+	<rect x="98.12" y="211.34" class="st6" width="6.79" height="0.69"/>
+	<rect x="135.19" y="200.84" class="st4" width="6.79" height="10.5"/>
+	<polygon class="st5" points="141.98,211.34 136.63,211.34 139.3,200.84 141.98,200.84 	"/>
+	<rect x="135.19" y="211.34" class="st6" width="6.79" height="0.69"/>
+	<rect x="98.12" y="216.26" class="st4" width="6.79" height="10.5"/>
+	<polygon class="st5" points="104.9,226.76 99.55,226.76 102.23,216.26 104.9,216.26 	"/>
+	<rect x="98.12" y="226.76" class="st6" width="6.79" height="0.69"/>
+	<rect x="135.19" y="216.26" class="st4" width="6.79" height="10.5"/>
+	<polygon class="st5" points="141.98,226.76 136.63,226.76 139.3,216.26 141.98,216.26 	"/>
+	<rect x="135.19" y="226.76" class="st6" width="6.79" height="0.69"/>
+	<g>
+		<g>
+			<rect x="112.42" y="221.93" class="st4" width="15.06" height="14.59"/>
+			<polygon class="st5" points="127.48,236.52 115.61,236.52 121.55,221.93 127.48,221.93 			"/>
+		</g>
+		<rect x="112.42" y="236.52" class="st6" width="15.06" height="0.95"/>
+		<rect x="112.42" y="221.12" class="st6" width="15.06" height="0.81"/>
+		
+			<rect x="119.45" y="229.15" transform="matrix(-1.836970e-16 1 -1 -1.836970e-16 356.9261 101.666)" class="st6" width="16.35" height="0.3"/>
+		
+			<rect x="104.12" y="229.15" transform="matrix(-1.836970e-16 1 -1 -1.836970e-16 341.593 116.9991)" class="st6" width="16.35" height="0.3"/>
+		
+			<rect x="111.92" y="229.15" transform="matrix(-1.836970e-16 1 -1 -1.836970e-16 349.3965 109.1956)" class="st6" width="16.35" height="0.3"/>
+		<g>
+			<rect x="118.29" y="229.62" class="st6" width="0.93" height="0.55"/>
+			<rect x="120.98" y="229.62" class="st6" width="0.93" height="0.55"/>
+		</g>
+	</g>
+	<rect x="149.03" y="232.91" class="st6" width="6.79" height="0.69"/>
+	<rect x="84.38" y="206.99" class="st4" width="6.79" height="10.5"/>
+	<polygon class="st5" points="91.16,217.49 85.81,217.49 88.49,206.99 91.16,206.99 	"/>
+	<rect x="84.38" y="217.49" class="st6" width="6.79" height="0.69"/>
+	<rect x="84.38" y="222.41" class="st4" width="6.79" height="10.5"/>
+	<polygon class="st5" points="91.16,232.91 85.81,232.91 88.49,222.41 91.16,222.41 	"/>
+	<rect x="84.38" y="232.91" class="st6" width="6.79" height="0.69"/>
+	<rect x="74.62" y="206.99" class="st4" width="6.79" height="10.5"/>
+	<polygon class="st5" points="81.41,217.49 76.06,217.49 78.74,206.99 81.41,206.99 	"/>
+	<rect x="74.62" y="217.49" class="st6" width="6.79" height="0.69"/>
+	<rect x="74.62" y="222.41" class="st4" width="6.79" height="10.5"/>
+	<polygon class="st5" points="81.41,232.91 76.06,232.91 78.74,222.41 81.41,222.41 	"/>
+	<rect x="74.62" y="232.91" class="st6" width="6.79" height="0.69"/>
+	<rect x="158.78" y="206.99" class="st4" width="6.79" height="10.5"/>
+	<polygon class="st5" points="165.57,217.49 160.22,217.49 162.89,206.99 165.57,206.99 	"/>
+	<rect x="158.78" y="217.49" class="st6" width="6.79" height="0.69"/>
+	<rect x="158.78" y="222.41" class="st4" width="6.79" height="10.5"/>
+	<polygon class="st5" points="165.57,232.91 160.22,232.91 162.89,222.41 165.57,222.41 	"/>
+	<rect x="158.78" y="232.91" class="st6" width="6.79" height="0.69"/>
+	<rect x="149.03" y="206.99" class="st4" width="6.79" height="10.5"/>
+	<polygon class="st5" points="155.81,217.49 150.46,217.49 153.14,206.99 155.81,206.99 	"/>
+	<rect x="149.03" y="222.41" class="st4" width="6.79" height="10.5"/>
+	<polygon class="st5" points="155.81,232.91 150.46,232.91 153.14,222.41 155.81,222.41 	"/>
+	<rect x="149.03" y="217.49" class="st6" width="6.79" height="0.69"/>
+	<g>
+		<rect x="113.11" y="204.04" class="st6" width="13.82" height="0.69"/>
+	</g>
+	<rect x="98.12" y="204.39" class="st6" width="6.79" height="0.69"/>
+	<rect x="135.19" y="204.39" class="st6" width="6.79" height="0.69"/>
+	<rect x="98.12" y="219.81" class="st6" width="6.79" height="0.69"/>
+	<rect x="135.19" y="219.81" class="st6" width="6.79" height="0.69"/>
+	<rect x="149.03" y="225.96" class="st6" width="6.79" height="0.69"/>
+	<rect x="84.38" y="210.54" class="st6" width="6.79" height="0.69"/>
+	<rect x="84.38" y="225.96" class="st6" width="6.79" height="0.69"/>
+	<rect x="74.62" y="210.54" class="st6" width="6.79" height="0.69"/>
+	<rect x="74.62" y="225.96" class="st6" width="6.79" height="0.69"/>
+	<rect x="158.78" y="210.54" class="st6" width="6.79" height="0.69"/>
+	<rect x="158.78" y="225.96" class="st6" width="6.79" height="0.69"/>
+	<rect x="149.03" y="210.54" class="st6" width="6.79" height="0.69"/>
+	<g>
+		<path class="st7" d="M125.54,184.19c0-2.84-2.3-5.14-5.14-5.14c-2.84,0-5.14,2.3-5.14,5.14c0,2.84,2.3,5.14,5.14,5.14
+			C123.24,189.34,125.54,187.03,125.54,184.19z"/>
+		<g>
+			<path class="st8" d="M120.4,188.76c-2.52,0-4.57-2.05-4.57-4.57c0-2.52,2.05-4.57,4.57-4.57c2.52,0,4.57,2.05,4.57,4.57
+				C124.97,186.71,122.92,188.76,120.4,188.76z M120.4,180.15c-2.23,0-4.04,1.81-4.04,4.04c0,2.23,1.81,4.04,4.04,4.04
+				c2.23,0,4.04-1.81,4.04-4.04C124.45,181.97,122.63,180.15,120.4,180.15z"/>
+		</g>
+		<path class="st8" d="M123.25,183.93h-2.58v-2.84c0-0.14-0.12-0.26-0.26-0.26c-0.14,0-0.26,0.12-0.26,0.26v3.1
+			c0,0.14,0.12,0.26,0.26,0.26h2.85c0.14,0,0.26-0.12,0.26-0.26C123.51,184.05,123.39,183.93,123.25,183.93z"/>
+	</g>
+	<g>
+		<g>
+			<g>
+				<g>
+					<rect x="130.27" y="217.21" class="st9" width="2.33" height="19.15"/>
+				</g>
+				<g>
+					<rect x="131.43" y="217.21" class="st2" width="1.16" height="19.15"/>
+				</g>
+				<rect x="129.02" y="236.36" class="st9" width="4.84" height="1.28"/>
+				<g>
+					<rect x="132.02" y="236.36" class="st9" width="1.84" height="1.28"/>
+				</g>
+				<rect x="129.51" y="235.83" class="st9" width="3.85" height="0.79"/>
+				<g>
+					<rect x="131.6" y="235.83" class="st9" width="1.76" height="0.79"/>
+				</g>
+				<path class="st9" d="M130.68,218.18c0-0.54-0.43-0.97-0.97-0.97s-0.97,0.43-0.97,0.97c0,0.54,0.43,0.97,0.97,0.97
+					S130.68,218.72,130.68,218.18z"/>
+				<rect x="129.71" y="217.21" class="st9" width="3.45" height="0.65"/>
+				<g>
+					<rect x="131.79" y="217.21" class="st9" width="1.37" height="0.65"/>
+				</g>
+				<g>
+					<path class="st9" d="M134.13,218.18c0-0.54-0.43-0.97-0.97-0.97c-0.54,0-0.97,0.43-0.97,0.97c0,0.54,0.43,0.97,0.97,0.97
+						C133.69,219.15,134.13,218.72,134.13,218.18z"/>
+				</g>
+			</g>
+		</g>
+		<g>
+			<g>
+				<g>
+					<rect x="107.33" y="217.21" class="st9" width="2.33" height="19.15"/>
+				</g>
+				<g>
+					<rect x="108.49" y="217.21" class="st2" width="1.16" height="19.15"/>
+				</g>
+				<rect x="106.07" y="236.36" class="st9" width="4.84" height="1.28"/>
+				<g>
+					<rect x="109.08" y="236.36" class="st9" width="1.84" height="1.28"/>
+				</g>
+				<rect x="106.57" y="235.83" class="st9" width="3.85" height="0.79"/>
+				<g>
+					<rect x="108.66" y="235.83" class="st9" width="1.76" height="0.79"/>
+				</g>
+				<path class="st9" d="M107.74,218.18c0-0.54-0.43-0.97-0.97-0.97c-0.54,0-0.97,0.43-0.97,0.97c0,0.54,0.43,0.97,0.97,0.97
+					C107.3,219.15,107.74,218.72,107.74,218.18z"/>
+				<rect x="106.77" y="217.21" class="st9" width="3.45" height="0.65"/>
+				<g>
+					<rect x="108.84" y="217.21" class="st9" width="1.37" height="0.65"/>
+				</g>
+				<g>
+					<path class="st9" d="M111.19,218.18c0-0.54-0.43-0.97-0.97-0.97c-0.54,0-0.97,0.43-0.97,0.97c0,0.54,0.43,0.97,0.97,0.97
+						C110.75,219.15,111.19,218.72,111.19,218.18z"/>
+				</g>
+			</g>
+		</g>
+	</g>
+	<g>
+		<g>
+			<g>
+				<g>
+					<rect x="130.27" y="195.12" class="st9" width="2.33" height="19.15"/>
+				</g>
+				<g>
+					<rect x="131.43" y="195.12" class="st2" width="1.16" height="19.15"/>
+				</g>
+				<rect x="129.02" y="214.26" class="st9" width="4.84" height="1.28"/>
+				<g>
+					<rect x="132.02" y="214.26" class="st9" width="1.84" height="1.28"/>
+				</g>
+				<rect x="129.51" y="213.74" class="st9" width="3.85" height="0.79"/>
+				<g>
+					<rect x="131.6" y="213.74" class="st9" width="1.76" height="0.79"/>
+				</g>
+				<path class="st9" d="M130.68,196.09c0-0.54-0.43-0.97-0.97-0.97s-0.97,0.43-0.97,0.97c0,0.54,0.43,0.97,0.97,0.97
+					S130.68,196.62,130.68,196.09z"/>
+				<rect x="129.71" y="195.12" class="st9" width="3.45" height="0.65"/>
+				<g>
+					<rect x="131.79" y="195.12" class="st9" width="1.37" height="0.65"/>
+				</g>
+				<g>
+					<path class="st9" d="M134.13,196.09c0-0.54-0.43-0.97-0.97-0.97c-0.54,0-0.97,0.43-0.97,0.97c0,0.54,0.43,0.97,0.97,0.97
+						C133.69,197.06,134.13,196.62,134.13,196.09z"/>
+				</g>
+			</g>
+		</g>
+		<g>
+			<g>
+				<g>
+					<rect x="107.33" y="195.12" class="st9" width="2.33" height="19.15"/>
+				</g>
+				<g>
+					<rect x="108.49" y="195.12" class="st2" width="1.16" height="19.15"/>
+				</g>
+				<rect x="106.07" y="214.26" class="st9" width="4.84" height="1.28"/>
+				<g>
+					<rect x="109.08" y="214.26" class="st9" width="1.84" height="1.28"/>
+				</g>
+				<rect x="106.57" y="213.74" class="st9" width="3.85" height="0.79"/>
+				<g>
+					<rect x="108.66" y="213.74" class="st9" width="1.76" height="0.79"/>
+				</g>
+				<path class="st9" d="M107.74,196.09c0-0.54-0.43-0.97-0.97-0.97c-0.54,0-0.97,0.43-0.97,0.97c0,0.54,0.43,0.97,0.97,0.97
+					C107.3,197.06,107.74,196.62,107.74,196.09z"/>
+				<rect x="106.77" y="195.12" class="st9" width="3.45" height="0.65"/>
+				<g>
+					<rect x="108.84" y="195.12" class="st9" width="1.37" height="0.65"/>
+				</g>
+				<g>
+					<path class="st9" d="M111.19,196.09c0-0.54-0.43-0.97-0.97-0.97c-0.54,0-0.97,0.43-0.97,0.97c0,0.54,0.43,0.97,0.97,0.97
+						C110.75,197.06,111.19,196.62,111.19,196.09z"/>
+				</g>
+			</g>
+		</g>
+	</g>
+	<rect x="105.2" y="214.5" class="st9" width="29.54" height="2.71"/>
+	<rect x="105.2" y="215.85" class="st2" width="29.54" height="1.36"/>
+	<polygon class="st7" points="123.58,165.77 124.68,165.46 124.68,161.57 123.58,161.88 	"/>
+	<polygon class="st7" points="122.24,163.54 122.24,164.64 126.03,163.8 126.03,162.7 	"/>
+</g>
+<g>
+	<g>
+		<rect x="111.74" y="112.85" class="st10" width="16.56" height="3.29"/>
+		<rect x="111.74" y="101.83" class="st10" width="16.56" height="3.29"/>
+		<rect x="111.74" y="90.81" class="st10" width="16.56" height="3.29"/>
+		<rect x="111.74" y="79.8" class="st10" width="16.56" height="3.29"/>
+		<rect x="111.74" y="145.85" class="st11" width="16.56" height="3.29"/>
+		<rect x="111.74" y="134.83" class="st10" width="16.56" height="3.29"/>
+		<rect x="111.74" y="123.81" class="st10" width="16.56" height="3.29"/>
+		<rect x="111.74" y="68.78" class="st10" width="16.56" height="3.29"/>
+		<rect x="111.74" y="57.76" class="st10" width="16.56" height="3.29"/>
+		<rect x="111.74" y="46.74" class="st10" width="16.56" height="3.29"/>
+		<rect x="111.74" y="35.73" class="st10" width="16.56" height="3.29"/>
+		<rect x="111.74" y="24.71" class="st10" width="16.56" height="3.29"/>
+		<rect x="111.74" y="14.11" class="st10" width="16.56" height="3.29"/>
+		<rect x="111.74" y="3.85" class="st10" width="16.56" height="3.29"/>
+	</g>
+	<g>
+		<rect x="115.21" y="0" class="st11" width="1.33" height="148"/>
+		<rect x="123.5" y="0" class="st11" width="1.33" height="148"/>
+	</g>
+</g>
+<rect x="86.5" y="92.5" transform="matrix(4.490459e-11 -1 1 4.490459e-11 39.5 235.5)" class="st5" width="102" height="11"/>
+<rect x="52.5" y="92.5" transform="matrix(4.489571e-11 -1 1 4.489571e-11 5.5 201.5)" class="st5" width="102" height="11"/>
+</svg>
diff --git a/svg/Bahnhof_#d50000_Deadend_rechts.svg b/svg/Bahnhof_#d50000_Deadend_rechts.svg
new file mode 100644
index 0000000000000000000000000000000000000000..bd1ff9204101853c0f33926b36217d2e4cf01413
--- /dev/null
+++ b/svg/Bahnhof_#d50000_Deadend_rechts.svg
@@ -0,0 +1,267 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 23.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 240 240" style="enable-background:new 0 0 240 240;" xml:space="preserve">
+<style type="text/css">
+	.st0{fill:none;}
+	.st1{fill:#D50000;}
+	.st2{fill:#858B8A;}
+	.st3{fill:#E20613;}
+	.st4{fill:#ECECEC;}
+	.st5{fill:#D9D9D9;}
+	.st6{fill:#585858;}
+	.st7{fill:#FFFFFF;}
+	.st8{fill:#1D1D1B;}
+	.st9{fill:#9EA5A3;}
+	.st10{fill:#978679;}
+	.st11{fill:#3D3D3D;}
+</style>
+<g>
+	<rect class="st0" width="240" height="240"/>
+</g>
+<g>
+	<g>
+		<polygon class="st1" points="167.31,56.74 167.31,50.78 167.31,45.54 131.08,45.54 116.79,45.54 116.79,56.74 92.39,56.74 
+			92.39,89.5 116.79,89.5 131.08,89.5 142.25,89.5 167.31,89.5 191.7,89.5 191.7,56.74 		"/>
+		<polygon class="st1" points="170.51,42.94 142.17,25.74 114.3,42.93 114.3,44.66 170.51,44.66 		"/>
+	</g>
+	<g>
+		<polygon class="st0" points="114.3,42.93 114.3,44.66 170.51,44.66 170.51,42.94 142.17,25.74 		"/>
+		<path class="st2" d="M142.16,22.96l-29.49,18.19v5.91h59.46v-5.91L142.16,22.96z M170.51,44.66H114.3v-1.73l27.87-17.19
+			l28.34,17.2V44.66z"/>
+	</g>
+	<polygon class="st3" points="142.44,19.35 149.82,17.62 149.82,11.99 142.44,13.73 	"/>
+	<rect x="141.68" y="13.72" class="st2" width="0.75" height="11.5"/>
+	<rect x="91.12" y="52.82" class="st2" width="101.86" height="3.92"/>
+	<rect x="91.12" y="89.5" class="st2" width="101.86" height="2"/>
+	<g>
+		<rect x="135.11" y="52.5" class="st4" width="13.82" height="10.5"/>
+		<polygon class="st5" points="148.93,62.99 138.03,62.99 143.48,52.5 148.93,52.5 		"/>
+		<rect x="135.11" y="62.99" class="st6" width="13.82" height="0.69"/>
+	</g>
+	<rect x="120.12" y="52.84" class="st4" width="6.79" height="10.5"/>
+	<polygon class="st5" points="126.9,63.34 121.55,63.34 124.23,52.84 126.9,52.84 	"/>
+	<rect x="120.12" y="63.34" class="st6" width="6.79" height="0.69"/>
+	<rect x="157.19" y="52.84" class="st4" width="6.79" height="10.5"/>
+	<polygon class="st5" points="163.98,63.34 158.63,63.34 161.3,52.84 163.98,52.84 	"/>
+	<rect x="157.19" y="63.34" class="st6" width="6.79" height="0.69"/>
+	<rect x="120.12" y="68.26" class="st4" width="6.79" height="10.5"/>
+	<polygon class="st5" points="126.9,78.76 121.55,78.76 124.23,68.26 126.9,68.26 	"/>
+	<rect x="120.12" y="78.76" class="st6" width="6.79" height="0.69"/>
+	<rect x="157.19" y="68.26" class="st4" width="6.79" height="10.5"/>
+	<polygon class="st5" points="163.98,78.76 158.63,78.76 161.3,68.26 163.98,68.26 	"/>
+	<rect x="157.19" y="78.76" class="st6" width="6.79" height="0.69"/>
+	<g>
+		<g>
+			<rect x="134.42" y="73.93" class="st4" width="15.06" height="14.59"/>
+			<polygon class="st5" points="149.48,88.52 137.61,88.52 143.55,73.93 149.48,73.93 			"/>
+		</g>
+		<rect x="134.42" y="88.52" class="st6" width="15.06" height="0.95"/>
+		<rect x="134.42" y="73.12" class="st6" width="15.06" height="0.81"/>
+		
+			<rect x="141.45" y="81.15" transform="matrix(-1.836970e-16 1 -1 -1.836970e-16 230.9261 -68.334)" class="st6" width="16.35" height="0.3"/>
+		
+			<rect x="126.12" y="81.15" transform="matrix(-1.836970e-16 1 -1 -1.836970e-16 215.593 -53.0009)" class="st6" width="16.35" height="0.3"/>
+		
+			<rect x="133.92" y="81.15" transform="matrix(-1.836970e-16 1 -1 -1.836970e-16 223.3965 -60.8044)" class="st6" width="16.35" height="0.3"/>
+		<g>
+			<rect x="140.29" y="81.62" class="st6" width="0.93" height="0.55"/>
+			<rect x="142.98" y="81.62" class="st6" width="0.93" height="0.55"/>
+		</g>
+	</g>
+	<rect x="171.03" y="84.91" class="st6" width="6.79" height="0.69"/>
+	<rect x="106.38" y="58.99" class="st4" width="6.79" height="10.5"/>
+	<polygon class="st5" points="113.16,69.49 107.81,69.49 110.49,58.99 113.16,58.99 	"/>
+	<rect x="106.38" y="69.49" class="st6" width="6.79" height="0.69"/>
+	<rect x="106.38" y="74.41" class="st4" width="6.79" height="10.5"/>
+	<polygon class="st5" points="113.16,84.91 107.81,84.91 110.49,74.41 113.16,74.41 	"/>
+	<rect x="106.38" y="84.91" class="st6" width="6.79" height="0.69"/>
+	<rect x="96.62" y="58.99" class="st4" width="6.79" height="10.5"/>
+	<polygon class="st5" points="103.41,69.49 98.06,69.49 100.74,58.99 103.41,58.99 	"/>
+	<rect x="96.62" y="69.49" class="st6" width="6.79" height="0.69"/>
+	<rect x="96.62" y="74.41" class="st4" width="6.79" height="10.5"/>
+	<polygon class="st5" points="103.41,84.91 98.06,84.91 100.74,74.41 103.41,74.41 	"/>
+	<rect x="96.62" y="84.91" class="st6" width="6.79" height="0.69"/>
+	<rect x="180.78" y="58.99" class="st4" width="6.79" height="10.5"/>
+	<polygon class="st5" points="187.57,69.49 182.22,69.49 184.89,58.99 187.57,58.99 	"/>
+	<rect x="180.78" y="69.49" class="st6" width="6.79" height="0.69"/>
+	<rect x="180.78" y="74.41" class="st4" width="6.79" height="10.5"/>
+	<polygon class="st5" points="187.57,84.91 182.22,84.91 184.89,74.41 187.57,74.41 	"/>
+	<rect x="180.78" y="84.91" class="st6" width="6.79" height="0.69"/>
+	<rect x="171.03" y="58.99" class="st4" width="6.79" height="10.5"/>
+	<polygon class="st5" points="177.81,69.49 172.46,69.49 175.14,58.99 177.81,58.99 	"/>
+	<rect x="171.03" y="74.41" class="st4" width="6.79" height="10.5"/>
+	<polygon class="st5" points="177.81,84.91 172.46,84.91 175.14,74.41 177.81,74.41 	"/>
+	<rect x="171.03" y="69.49" class="st6" width="6.79" height="0.69"/>
+	<g>
+		<rect x="135.11" y="56.04" class="st6" width="13.82" height="0.69"/>
+	</g>
+	<rect x="120.12" y="56.39" class="st6" width="6.79" height="0.69"/>
+	<rect x="157.19" y="56.39" class="st6" width="6.79" height="0.69"/>
+	<rect x="120.12" y="71.81" class="st6" width="6.79" height="0.69"/>
+	<rect x="157.19" y="71.81" class="st6" width="6.79" height="0.69"/>
+	<rect x="171.03" y="77.96" class="st6" width="6.79" height="0.69"/>
+	<rect x="106.38" y="62.54" class="st6" width="6.79" height="0.69"/>
+	<rect x="106.38" y="77.96" class="st6" width="6.79" height="0.69"/>
+	<rect x="96.62" y="62.54" class="st6" width="6.79" height="0.69"/>
+	<rect x="96.62" y="77.96" class="st6" width="6.79" height="0.69"/>
+	<rect x="180.78" y="62.54" class="st6" width="6.79" height="0.69"/>
+	<rect x="180.78" y="77.96" class="st6" width="6.79" height="0.69"/>
+	<rect x="171.03" y="62.54" class="st6" width="6.79" height="0.69"/>
+	<g>
+		<path class="st7" d="M147.54,36.19c0-2.84-2.3-5.14-5.14-5.14c-2.84,0-5.14,2.3-5.14,5.14c0,2.84,2.3,5.14,5.14,5.14
+			C145.24,41.34,147.54,39.03,147.54,36.19z"/>
+		<g>
+			<path class="st8" d="M142.4,40.76c-2.52,0-4.57-2.05-4.57-4.57c0-2.52,2.05-4.57,4.57-4.57c2.52,0,4.57,2.05,4.57,4.57
+				C146.97,38.71,144.92,40.76,142.4,40.76z M142.4,32.15c-2.23,0-4.04,1.81-4.04,4.04c0,2.23,1.81,4.04,4.04,4.04
+				c2.23,0,4.04-1.81,4.04-4.04C146.45,33.97,144.63,32.15,142.4,32.15z"/>
+		</g>
+		<path class="st8" d="M145.25,35.93h-2.58V33.1c0-0.14-0.12-0.26-0.26-0.26c-0.14,0-0.26,0.12-0.26,0.26v3.1
+			c0,0.14,0.12,0.26,0.26,0.26h2.85c0.14,0,0.26-0.12,0.26-0.26S145.39,35.93,145.25,35.93z"/>
+	</g>
+	<g>
+		<g>
+			<g>
+				<g>
+					<rect x="152.27" y="69.21" class="st9" width="2.33" height="19.15"/>
+				</g>
+				<g>
+					<rect x="153.43" y="69.21" class="st2" width="1.16" height="19.15"/>
+				</g>
+				<rect x="151.02" y="88.36" class="st9" width="4.84" height="1.28"/>
+				<g>
+					<rect x="154.02" y="88.36" class="st9" width="1.84" height="1.28"/>
+				</g>
+				<rect x="151.51" y="87.83" class="st9" width="3.85" height="0.79"/>
+				<g>
+					<rect x="153.6" y="87.83" class="st9" width="1.76" height="0.79"/>
+				</g>
+				<path class="st9" d="M152.68,70.18c0-0.54-0.43-0.97-0.97-0.97s-0.97,0.43-0.97,0.97c0,0.54,0.43,0.97,0.97,0.97
+					S152.68,70.72,152.68,70.18z"/>
+				<rect x="151.71" y="69.21" class="st9" width="3.45" height="0.65"/>
+				<g>
+					<rect x="153.79" y="69.21" class="st9" width="1.37" height="0.65"/>
+				</g>
+				<g>
+					<path class="st9" d="M156.13,70.18c0-0.54-0.43-0.97-0.97-0.97c-0.54,0-0.97,0.43-0.97,0.97c0,0.54,0.43,0.97,0.97,0.97
+						C155.69,71.15,156.13,70.72,156.13,70.18z"/>
+				</g>
+			</g>
+		</g>
+		<g>
+			<g>
+				<g>
+					<rect x="129.33" y="69.21" class="st9" width="2.33" height="19.15"/>
+				</g>
+				<g>
+					<rect x="130.49" y="69.21" class="st2" width="1.16" height="19.15"/>
+				</g>
+				<rect x="128.07" y="88.36" class="st9" width="4.84" height="1.28"/>
+				<g>
+					<rect x="131.08" y="88.36" class="st9" width="1.84" height="1.28"/>
+				</g>
+				<rect x="128.57" y="87.83" class="st9" width="3.85" height="0.79"/>
+				<g>
+					<rect x="130.66" y="87.83" class="st9" width="1.76" height="0.79"/>
+				</g>
+				<path class="st9" d="M129.74,70.18c0-0.54-0.43-0.97-0.97-0.97s-0.97,0.43-0.97,0.97c0,0.54,0.43,0.97,0.97,0.97
+					S129.74,70.72,129.74,70.18z"/>
+				<rect x="128.77" y="69.21" class="st9" width="3.45" height="0.65"/>
+				<g>
+					<rect x="130.84" y="69.21" class="st9" width="1.37" height="0.65"/>
+				</g>
+				<g>
+					<path class="st9" d="M133.19,70.18c0-0.54-0.43-0.97-0.97-0.97c-0.54,0-0.97,0.43-0.97,0.97c0,0.54,0.43,0.97,0.97,0.97
+						C132.75,71.15,133.19,70.72,133.19,70.18z"/>
+				</g>
+			</g>
+		</g>
+	</g>
+	<g>
+		<g>
+			<g>
+				<g>
+					<rect x="152.27" y="47.12" class="st9" width="2.33" height="19.15"/>
+				</g>
+				<g>
+					<rect x="153.43" y="47.12" class="st2" width="1.16" height="19.15"/>
+				</g>
+				<rect x="151.02" y="66.26" class="st9" width="4.84" height="1.28"/>
+				<g>
+					<rect x="154.02" y="66.26" class="st9" width="1.84" height="1.28"/>
+				</g>
+				<rect x="151.51" y="65.74" class="st9" width="3.85" height="0.79"/>
+				<g>
+					<rect x="153.6" y="65.74" class="st9" width="1.76" height="0.79"/>
+				</g>
+				<path class="st9" d="M152.68,48.09c0-0.54-0.43-0.97-0.97-0.97s-0.97,0.43-0.97,0.97c0,0.54,0.43,0.97,0.97,0.97
+					S152.68,48.62,152.68,48.09z"/>
+				<rect x="151.71" y="47.12" class="st9" width="3.45" height="0.65"/>
+				<g>
+					<rect x="153.79" y="47.12" class="st9" width="1.37" height="0.65"/>
+				</g>
+				<g>
+					<path class="st9" d="M156.13,48.09c0-0.54-0.43-0.97-0.97-0.97c-0.54,0-0.97,0.43-0.97,0.97c0,0.54,0.43,0.97,0.97,0.97
+						C155.69,49.06,156.13,48.62,156.13,48.09z"/>
+				</g>
+			</g>
+		</g>
+		<g>
+			<g>
+				<g>
+					<rect x="129.33" y="47.12" class="st9" width="2.33" height="19.15"/>
+				</g>
+				<g>
+					<rect x="130.49" y="47.12" class="st2" width="1.16" height="19.15"/>
+				</g>
+				<rect x="128.07" y="66.26" class="st9" width="4.84" height="1.28"/>
+				<g>
+					<rect x="131.08" y="66.26" class="st9" width="1.84" height="1.28"/>
+				</g>
+				<rect x="128.57" y="65.74" class="st9" width="3.85" height="0.79"/>
+				<g>
+					<rect x="130.66" y="65.74" class="st9" width="1.76" height="0.79"/>
+				</g>
+				<path class="st9" d="M129.74,48.09c0-0.54-0.43-0.97-0.97-0.97s-0.97,0.43-0.97,0.97c0,0.54,0.43,0.97,0.97,0.97
+					S129.74,48.62,129.74,48.09z"/>
+				<rect x="128.77" y="47.12" class="st9" width="3.45" height="0.65"/>
+				<g>
+					<rect x="130.84" y="47.12" class="st9" width="1.37" height="0.65"/>
+				</g>
+				<g>
+					<path class="st9" d="M133.19,48.09c0-0.54-0.43-0.97-0.97-0.97c-0.54,0-0.97,0.43-0.97,0.97c0,0.54,0.43,0.97,0.97,0.97
+						C132.75,49.06,133.19,48.62,133.19,48.09z"/>
+				</g>
+			</g>
+		</g>
+	</g>
+	<rect x="127.2" y="66.5" class="st9" width="29.54" height="2.71"/>
+	<rect x="127.2" y="67.85" class="st2" width="29.54" height="1.36"/>
+	<polygon class="st7" points="145.58,17.77 146.68,17.46 146.68,13.57 145.58,13.88 	"/>
+	<polygon class="st7" points="144.24,15.54 144.24,16.64 148.03,15.8 148.03,14.7 	"/>
+</g>
+<g>
+	<g>
+		<rect x="123.87" y="111.24" class="st10" width="3.29" height="16.56"/>
+		<rect x="134.88" y="111.24" class="st10" width="3.29" height="16.56"/>
+		<rect x="145.9" y="111.24" class="st10" width="3.29" height="16.56"/>
+		<rect x="156.92" y="111.24" class="st10" width="3.29" height="16.56"/>
+		<rect x="90.87" y="111.24" class="st11" width="3.29" height="16.56"/>
+		<rect x="101.88" y="111.24" class="st10" width="3.29" height="16.56"/>
+		<rect x="112.9" y="111.24" class="st10" width="3.29" height="16.56"/>
+		<rect x="167.93" y="111.24" class="st10" width="3.29" height="16.56"/>
+		<rect x="178.95" y="111.24" class="st10" width="3.29" height="16.56"/>
+		<rect x="189.97" y="111.24" class="st10" width="3.29" height="16.56"/>
+		<rect x="200.99" y="111.24" class="st10" width="3.29" height="16.56"/>
+		<rect x="212" y="111.24" class="st10" width="3.29" height="16.56"/>
+		<rect x="222.6" y="111.24" class="st10" width="3.29" height="16.56"/>
+		<rect x="232.86" y="111.24" class="st10" width="3.29" height="16.56"/>
+	</g>
+	<g>
+		<rect x="92" y="114.71" class="st11" width="148" height="1.33"/>
+		<rect x="92" y="123" class="st11" width="148" height="1.33"/>
+	</g>
+</g>
+<rect x="91" y="131.5" class="st5" width="102" height="11"/>
+<rect x="91" y="97.5" class="st5" width="102" height="11"/>
+</svg>
diff --git a/svg/Bahnhof_#d50000_Deadend_unten.svg b/svg/Bahnhof_#d50000_Deadend_unten.svg
new file mode 100644
index 0000000000000000000000000000000000000000..7acf6eea6fb911e9c66ad92fc69ddd6dd8d23d1d
--- /dev/null
+++ b/svg/Bahnhof_#d50000_Deadend_unten.svg
@@ -0,0 +1,267 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 23.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 240 240" style="enable-background:new 0 0 240 240;" xml:space="preserve">
+<style type="text/css">
+	.st0{fill:none;}
+	.st1{fill:#D50000;}
+	.st2{fill:#858B8A;}
+	.st3{fill:#E20613;}
+	.st4{fill:#ECECEC;}
+	.st5{fill:#D9D9D9;}
+	.st6{fill:#585858;}
+	.st7{fill:#FFFFFF;}
+	.st8{fill:#1D1D1B;}
+	.st9{fill:#9EA5A3;}
+	.st10{fill:#978679;}
+	.st11{fill:#3D3D3D;}
+</style>
+<g>
+	<rect class="st0" width="240" height="240"/>
+</g>
+<g>
+	<g>
+		<polygon class="st1" points="145.31,45.74 145.31,39.78 145.31,34.54 109.08,34.54 94.79,34.54 94.79,45.74 70.39,45.74 
+			70.39,78.5 94.79,78.5 109.08,78.5 120.25,78.5 145.31,78.5 169.7,78.5 169.7,45.74 		"/>
+		<polygon class="st1" points="148.51,31.94 120.17,14.74 92.3,31.93 92.3,33.66 148.51,33.66 		"/>
+	</g>
+	<g>
+		<polygon class="st0" points="92.3,31.93 92.3,33.66 148.51,33.66 148.51,31.94 120.17,14.74 		"/>
+		<path class="st2" d="M120.16,11.96L90.67,30.15v5.91h59.46v-5.91L120.16,11.96z M148.51,33.66H92.3v-1.73l27.87-17.19l28.34,17.2
+			V33.66z"/>
+	</g>
+	<polygon class="st3" points="120.44,8.35 127.82,6.62 127.82,0.99 120.44,2.73 	"/>
+	<rect x="119.68" y="2.72" class="st2" width="0.75" height="11.5"/>
+	<rect x="69.12" y="41.82" class="st2" width="101.86" height="3.92"/>
+	<rect x="69.12" y="78.5" class="st2" width="101.86" height="2"/>
+	<g>
+		<rect x="113.11" y="41.5" class="st4" width="13.82" height="10.5"/>
+		<polygon class="st5" points="126.93,51.99 116.03,51.99 121.48,41.5 126.93,41.5 		"/>
+		<rect x="113.11" y="51.99" class="st6" width="13.82" height="0.69"/>
+	</g>
+	<rect x="98.12" y="41.84" class="st4" width="6.79" height="10.5"/>
+	<polygon class="st5" points="104.9,52.34 99.55,52.34 102.23,41.84 104.9,41.84 	"/>
+	<rect x="98.12" y="52.34" class="st6" width="6.79" height="0.69"/>
+	<rect x="135.19" y="41.84" class="st4" width="6.79" height="10.5"/>
+	<polygon class="st5" points="141.98,52.34 136.63,52.34 139.3,41.84 141.98,41.84 	"/>
+	<rect x="135.19" y="52.34" class="st6" width="6.79" height="0.69"/>
+	<rect x="98.12" y="57.26" class="st4" width="6.79" height="10.5"/>
+	<polygon class="st5" points="104.9,67.76 99.55,67.76 102.23,57.26 104.9,57.26 	"/>
+	<rect x="98.12" y="67.76" class="st6" width="6.79" height="0.69"/>
+	<rect x="135.19" y="57.26" class="st4" width="6.79" height="10.5"/>
+	<polygon class="st5" points="141.98,67.76 136.63,67.76 139.3,57.26 141.98,57.26 	"/>
+	<rect x="135.19" y="67.76" class="st6" width="6.79" height="0.69"/>
+	<g>
+		<g>
+			<rect x="112.42" y="62.93" class="st4" width="15.06" height="14.59"/>
+			<polygon class="st5" points="127.48,77.52 115.61,77.52 121.55,62.93 127.48,62.93 			"/>
+		</g>
+		<rect x="112.42" y="77.52" class="st6" width="15.06" height="0.95"/>
+		<rect x="112.42" y="62.12" class="st6" width="15.06" height="0.81"/>
+		
+			<rect x="119.45" y="70.15" transform="matrix(-1.836970e-16 1 -1 -1.836970e-16 197.9261 -57.334)" class="st6" width="16.35" height="0.3"/>
+		
+			<rect x="104.12" y="70.15" transform="matrix(-1.836970e-16 1 -1 -1.836970e-16 182.593 -42.0009)" class="st6" width="16.35" height="0.3"/>
+		
+			<rect x="111.92" y="70.15" transform="matrix(-1.836970e-16 1 -1 -1.836970e-16 190.3965 -49.8044)" class="st6" width="16.35" height="0.3"/>
+		<g>
+			<rect x="118.29" y="70.62" class="st6" width="0.93" height="0.55"/>
+			<rect x="120.98" y="70.62" class="st6" width="0.93" height="0.55"/>
+		</g>
+	</g>
+	<rect x="149.03" y="73.91" class="st6" width="6.79" height="0.69"/>
+	<rect x="84.38" y="47.99" class="st4" width="6.79" height="10.5"/>
+	<polygon class="st5" points="91.16,58.49 85.81,58.49 88.49,47.99 91.16,47.99 	"/>
+	<rect x="84.38" y="58.49" class="st6" width="6.79" height="0.69"/>
+	<rect x="84.38" y="63.41" class="st4" width="6.79" height="10.5"/>
+	<polygon class="st5" points="91.16,73.91 85.81,73.91 88.49,63.41 91.16,63.41 	"/>
+	<rect x="84.38" y="73.91" class="st6" width="6.79" height="0.69"/>
+	<rect x="74.62" y="47.99" class="st4" width="6.79" height="10.5"/>
+	<polygon class="st5" points="81.41,58.49 76.06,58.49 78.74,47.99 81.41,47.99 	"/>
+	<rect x="74.62" y="58.49" class="st6" width="6.79" height="0.69"/>
+	<rect x="74.62" y="63.41" class="st4" width="6.79" height="10.5"/>
+	<polygon class="st5" points="81.41,73.91 76.06,73.91 78.74,63.41 81.41,63.41 	"/>
+	<rect x="74.62" y="73.91" class="st6" width="6.79" height="0.69"/>
+	<rect x="158.78" y="47.99" class="st4" width="6.79" height="10.5"/>
+	<polygon class="st5" points="165.57,58.49 160.22,58.49 162.89,47.99 165.57,47.99 	"/>
+	<rect x="158.78" y="58.49" class="st6" width="6.79" height="0.69"/>
+	<rect x="158.78" y="63.41" class="st4" width="6.79" height="10.5"/>
+	<polygon class="st5" points="165.57,73.91 160.22,73.91 162.89,63.41 165.57,63.41 	"/>
+	<rect x="158.78" y="73.91" class="st6" width="6.79" height="0.69"/>
+	<rect x="149.03" y="47.99" class="st4" width="6.79" height="10.5"/>
+	<polygon class="st5" points="155.81,58.49 150.46,58.49 153.14,47.99 155.81,47.99 	"/>
+	<rect x="149.03" y="63.41" class="st4" width="6.79" height="10.5"/>
+	<polygon class="st5" points="155.81,73.91 150.46,73.91 153.14,63.41 155.81,63.41 	"/>
+	<rect x="149.03" y="58.49" class="st6" width="6.79" height="0.69"/>
+	<g>
+		<rect x="113.11" y="45.04" class="st6" width="13.82" height="0.69"/>
+	</g>
+	<rect x="98.12" y="45.39" class="st6" width="6.79" height="0.69"/>
+	<rect x="135.19" y="45.39" class="st6" width="6.79" height="0.69"/>
+	<rect x="98.12" y="60.81" class="st6" width="6.79" height="0.69"/>
+	<rect x="135.19" y="60.81" class="st6" width="6.79" height="0.69"/>
+	<rect x="149.03" y="66.96" class="st6" width="6.79" height="0.69"/>
+	<rect x="84.38" y="51.54" class="st6" width="6.79" height="0.69"/>
+	<rect x="84.38" y="66.96" class="st6" width="6.79" height="0.69"/>
+	<rect x="74.62" y="51.54" class="st6" width="6.79" height="0.69"/>
+	<rect x="74.62" y="66.96" class="st6" width="6.79" height="0.69"/>
+	<rect x="158.78" y="51.54" class="st6" width="6.79" height="0.69"/>
+	<rect x="158.78" y="66.96" class="st6" width="6.79" height="0.69"/>
+	<rect x="149.03" y="51.54" class="st6" width="6.79" height="0.69"/>
+	<g>
+		<path class="st7" d="M125.54,25.19c0-2.84-2.3-5.14-5.14-5.14c-2.84,0-5.14,2.3-5.14,5.14c0,2.84,2.3,5.14,5.14,5.14
+			C123.24,30.34,125.54,28.03,125.54,25.19z"/>
+		<g>
+			<path class="st8" d="M120.4,29.76c-2.52,0-4.57-2.05-4.57-4.57c0-2.52,2.05-4.57,4.57-4.57c2.52,0,4.57,2.05,4.57,4.57
+				C124.97,27.71,122.92,29.76,120.4,29.76z M120.4,21.15c-2.23,0-4.04,1.81-4.04,4.04c0,2.23,1.81,4.04,4.04,4.04
+				c2.23,0,4.04-1.81,4.04-4.04C124.45,22.97,122.63,21.15,120.4,21.15z"/>
+		</g>
+		<path class="st8" d="M123.25,24.93h-2.58V22.1c0-0.14-0.12-0.26-0.26-0.26c-0.14,0-0.26,0.12-0.26,0.26v3.1
+			c0,0.14,0.12,0.26,0.26,0.26h2.85c0.14,0,0.26-0.12,0.26-0.26S123.39,24.93,123.25,24.93z"/>
+	</g>
+	<g>
+		<g>
+			<g>
+				<g>
+					<rect x="130.27" y="58.21" class="st9" width="2.33" height="19.15"/>
+				</g>
+				<g>
+					<rect x="131.43" y="58.21" class="st2" width="1.16" height="19.15"/>
+				</g>
+				<rect x="129.02" y="77.36" class="st9" width="4.84" height="1.28"/>
+				<g>
+					<rect x="132.02" y="77.36" class="st9" width="1.84" height="1.28"/>
+				</g>
+				<rect x="129.51" y="76.83" class="st9" width="3.85" height="0.79"/>
+				<g>
+					<rect x="131.6" y="76.83" class="st9" width="1.76" height="0.79"/>
+				</g>
+				<path class="st9" d="M130.68,59.18c0-0.54-0.43-0.97-0.97-0.97s-0.97,0.43-0.97,0.97c0,0.54,0.43,0.97,0.97,0.97
+					S130.68,59.72,130.68,59.18z"/>
+				<rect x="129.71" y="58.21" class="st9" width="3.45" height="0.65"/>
+				<g>
+					<rect x="131.79" y="58.21" class="st9" width="1.37" height="0.65"/>
+				</g>
+				<g>
+					<path class="st9" d="M134.13,59.18c0-0.54-0.43-0.97-0.97-0.97c-0.54,0-0.97,0.43-0.97,0.97c0,0.54,0.43,0.97,0.97,0.97
+						C133.69,60.15,134.13,59.72,134.13,59.18z"/>
+				</g>
+			</g>
+		</g>
+		<g>
+			<g>
+				<g>
+					<rect x="107.33" y="58.21" class="st9" width="2.33" height="19.15"/>
+				</g>
+				<g>
+					<rect x="108.49" y="58.21" class="st2" width="1.16" height="19.15"/>
+				</g>
+				<rect x="106.07" y="77.36" class="st9" width="4.84" height="1.28"/>
+				<g>
+					<rect x="109.08" y="77.36" class="st9" width="1.84" height="1.28"/>
+				</g>
+				<rect x="106.57" y="76.83" class="st9" width="3.85" height="0.79"/>
+				<g>
+					<rect x="108.66" y="76.83" class="st9" width="1.76" height="0.79"/>
+				</g>
+				<path class="st9" d="M107.74,59.18c0-0.54-0.43-0.97-0.97-0.97c-0.54,0-0.97,0.43-0.97,0.97c0,0.54,0.43,0.97,0.97,0.97
+					C107.3,60.15,107.74,59.72,107.74,59.18z"/>
+				<rect x="106.77" y="58.21" class="st9" width="3.45" height="0.65"/>
+				<g>
+					<rect x="108.84" y="58.21" class="st9" width="1.37" height="0.65"/>
+				</g>
+				<g>
+					<path class="st9" d="M111.19,59.18c0-0.54-0.43-0.97-0.97-0.97c-0.54,0-0.97,0.43-0.97,0.97c0,0.54,0.43,0.97,0.97,0.97
+						C110.75,60.15,111.19,59.72,111.19,59.18z"/>
+				</g>
+			</g>
+		</g>
+	</g>
+	<g>
+		<g>
+			<g>
+				<g>
+					<rect x="130.27" y="36.12" class="st9" width="2.33" height="19.15"/>
+				</g>
+				<g>
+					<rect x="131.43" y="36.12" class="st2" width="1.16" height="19.15"/>
+				</g>
+				<rect x="129.02" y="55.26" class="st9" width="4.84" height="1.28"/>
+				<g>
+					<rect x="132.02" y="55.26" class="st9" width="1.84" height="1.28"/>
+				</g>
+				<rect x="129.51" y="54.74" class="st9" width="3.85" height="0.79"/>
+				<g>
+					<rect x="131.6" y="54.74" class="st9" width="1.76" height="0.79"/>
+				</g>
+				<path class="st9" d="M130.68,37.09c0-0.54-0.43-0.97-0.97-0.97s-0.97,0.43-0.97,0.97c0,0.54,0.43,0.97,0.97,0.97
+					S130.68,37.62,130.68,37.09z"/>
+				<rect x="129.71" y="36.12" class="st9" width="3.45" height="0.65"/>
+				<g>
+					<rect x="131.79" y="36.12" class="st9" width="1.37" height="0.65"/>
+				</g>
+				<g>
+					<path class="st9" d="M134.13,37.09c0-0.54-0.43-0.97-0.97-0.97c-0.54,0-0.97,0.43-0.97,0.97c0,0.54,0.43,0.97,0.97,0.97
+						C133.69,38.06,134.13,37.62,134.13,37.09z"/>
+				</g>
+			</g>
+		</g>
+		<g>
+			<g>
+				<g>
+					<rect x="107.33" y="36.12" class="st9" width="2.33" height="19.15"/>
+				</g>
+				<g>
+					<rect x="108.49" y="36.12" class="st2" width="1.16" height="19.15"/>
+				</g>
+				<rect x="106.07" y="55.26" class="st9" width="4.84" height="1.28"/>
+				<g>
+					<rect x="109.08" y="55.26" class="st9" width="1.84" height="1.28"/>
+				</g>
+				<rect x="106.57" y="54.74" class="st9" width="3.85" height="0.79"/>
+				<g>
+					<rect x="108.66" y="54.74" class="st9" width="1.76" height="0.79"/>
+				</g>
+				<path class="st9" d="M107.74,37.09c0-0.54-0.43-0.97-0.97-0.97c-0.54,0-0.97,0.43-0.97,0.97c0,0.54,0.43,0.97,0.97,0.97
+					C107.3,38.06,107.74,37.62,107.74,37.09z"/>
+				<rect x="106.77" y="36.12" class="st9" width="3.45" height="0.65"/>
+				<g>
+					<rect x="108.84" y="36.12" class="st9" width="1.37" height="0.65"/>
+				</g>
+				<g>
+					<path class="st9" d="M111.19,37.09c0-0.54-0.43-0.97-0.97-0.97c-0.54,0-0.97,0.43-0.97,0.97c0,0.54,0.43,0.97,0.97,0.97
+						C110.75,38.06,111.19,37.62,111.19,37.09z"/>
+				</g>
+			</g>
+		</g>
+	</g>
+	<rect x="105.2" y="55.5" class="st9" width="29.54" height="2.71"/>
+	<rect x="105.2" y="56.85" class="st2" width="29.54" height="1.36"/>
+	<polygon class="st7" points="123.58,6.77 124.68,6.46 124.68,2.57 123.58,2.88 	"/>
+	<polygon class="st7" points="122.24,4.54 122.24,5.64 126.03,4.8 126.03,3.7 	"/>
+</g>
+<g>
+	<g>
+		<rect x="112.2" y="123.87" class="st10" width="16.56" height="3.29"/>
+		<rect x="112.2" y="134.88" class="st10" width="16.56" height="3.29"/>
+		<rect x="112.2" y="145.9" class="st10" width="16.56" height="3.29"/>
+		<rect x="112.2" y="156.92" class="st10" width="16.56" height="3.29"/>
+		<rect x="112.2" y="90.87" class="st11" width="16.56" height="3.29"/>
+		<rect x="112.2" y="101.88" class="st10" width="16.56" height="3.29"/>
+		<rect x="112.2" y="112.9" class="st10" width="16.56" height="3.29"/>
+		<rect x="112.2" y="167.93" class="st10" width="16.56" height="3.29"/>
+		<rect x="112.2" y="178.95" class="st10" width="16.56" height="3.29"/>
+		<rect x="112.2" y="189.97" class="st10" width="16.56" height="3.29"/>
+		<rect x="112.2" y="200.99" class="st10" width="16.56" height="3.29"/>
+		<rect x="112.2" y="212" class="st10" width="16.56" height="3.29"/>
+		<rect x="112.2" y="222.6" class="st10" width="16.56" height="3.29"/>
+		<rect x="112.2" y="232.86" class="st10" width="16.56" height="3.29"/>
+	</g>
+	<g>
+		<rect x="123.96" y="92" class="st11" width="1.33" height="148"/>
+		<rect x="115.68" y="92" class="st11" width="1.33" height="148"/>
+	</g>
+</g>
+<rect x="52" y="136.5" transform="matrix(-4.490471e-11 1 -1 -4.490471e-11 245 39)" class="st5" width="102" height="11"/>
+<rect x="86" y="136.5" transform="matrix(-4.486829e-11 1 -1 -4.486829e-11 279 5)" class="st5" width="102" height="11"/>
+</svg>
diff --git a/svg/Bahnhof_#d50000_Gleis_horizontal.svg b/svg/Bahnhof_#d50000_Gleis_horizontal.svg
new file mode 100644
index 0000000000000000000000000000000000000000..93dcd898545f4d00f3ac50c85a5453683d01915c
--- /dev/null
+++ b/svg/Bahnhof_#d50000_Gleis_horizontal.svg
@@ -0,0 +1,283 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 23.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 240 240" style="enable-background:new 0 0 240 240;" xml:space="preserve">
+<style type="text/css">
+	.st0{fill:none;}
+	.st1{fill:#D50000;}
+	.st2{fill:#858B8A;}
+	.st3{fill:#E20613;}
+	.st4{fill:#ECECEC;}
+	.st5{fill:#D9D9D9;}
+	.st6{fill:#585858;}
+	.st7{fill:#FFFFFF;}
+	.st8{fill:#1D1D1B;}
+	.st9{fill:#9EA5A3;}
+	.st10{fill:#978679;}
+	.st11{fill:#3D3D3D;}
+</style>
+<g>
+	<rect class="st0" width="240" height="240"/>
+</g>
+<g>
+	<g>
+		<polygon class="st1" points="145.31,56.74 145.31,50.78 145.31,45.54 109.08,45.54 94.79,45.54 94.79,56.74 70.39,56.74 
+			70.39,89.5 94.79,89.5 109.08,89.5 120.25,89.5 145.31,89.5 169.7,89.5 169.7,56.74 		"/>
+		<polygon class="st1" points="148.51,42.94 120.17,25.74 92.3,42.93 92.3,44.66 148.51,44.66 		"/>
+	</g>
+	<g>
+		<polygon class="st0" points="92.3,42.93 92.3,44.66 148.51,44.66 148.51,42.94 120.17,25.74 		"/>
+		<path class="st2" d="M120.16,22.96L90.67,41.15v5.91h59.46v-5.91L120.16,22.96z M148.51,44.66H92.3v-1.73l27.87-17.19l28.34,17.2
+			V44.66z"/>
+	</g>
+	<polygon class="st3" points="120.44,19.35 127.82,17.62 127.82,11.99 120.44,13.73 	"/>
+	<rect x="119.68" y="13.72" class="st2" width="0.75" height="11.5"/>
+	<rect x="69.12" y="52.82" class="st2" width="101.86" height="3.92"/>
+	<rect x="69.12" y="89.5" class="st2" width="101.86" height="2"/>
+	<g>
+		<rect x="113.11" y="52.5" class="st4" width="13.82" height="10.5"/>
+		<polygon class="st5" points="126.93,62.99 116.03,62.99 121.48,52.5 126.93,52.5 		"/>
+		<rect x="113.11" y="62.99" class="st6" width="13.82" height="0.69"/>
+	</g>
+	<rect x="98.12" y="52.84" class="st4" width="6.79" height="10.5"/>
+	<polygon class="st5" points="104.9,63.34 99.55,63.34 102.23,52.84 104.9,52.84 	"/>
+	<rect x="98.12" y="63.34" class="st6" width="6.79" height="0.69"/>
+	<rect x="135.19" y="52.84" class="st4" width="6.79" height="10.5"/>
+	<polygon class="st5" points="141.98,63.34 136.63,63.34 139.3,52.84 141.98,52.84 	"/>
+	<rect x="135.19" y="63.34" class="st6" width="6.79" height="0.69"/>
+	<rect x="98.12" y="68.26" class="st4" width="6.79" height="10.5"/>
+	<polygon class="st5" points="104.9,78.76 99.55,78.76 102.23,68.26 104.9,68.26 	"/>
+	<rect x="98.12" y="78.76" class="st6" width="6.79" height="0.69"/>
+	<rect x="135.19" y="68.26" class="st4" width="6.79" height="10.5"/>
+	<polygon class="st5" points="141.98,78.76 136.63,78.76 139.3,68.26 141.98,68.26 	"/>
+	<rect x="135.19" y="78.76" class="st6" width="6.79" height="0.69"/>
+	<g>
+		<g>
+			<rect x="112.42" y="73.93" class="st4" width="15.06" height="14.59"/>
+			<polygon class="st5" points="127.48,88.52 115.61,88.52 121.55,73.93 127.48,73.93 			"/>
+		</g>
+		<rect x="112.42" y="88.52" class="st6" width="15.06" height="0.95"/>
+		<rect x="112.42" y="73.12" class="st6" width="15.06" height="0.81"/>
+		
+			<rect x="119.45" y="81.15" transform="matrix(-1.836970e-16 1 -1 -1.836970e-16 208.9261 -46.334)" class="st6" width="16.35" height="0.3"/>
+		
+			<rect x="104.12" y="81.15" transform="matrix(-1.836970e-16 1 -1 -1.836970e-16 193.593 -31.0009)" class="st6" width="16.35" height="0.3"/>
+		
+			<rect x="111.92" y="81.15" transform="matrix(-1.836970e-16 1 -1 -1.836970e-16 201.3965 -38.8044)" class="st6" width="16.35" height="0.3"/>
+		<g>
+			<rect x="118.29" y="81.62" class="st6" width="0.93" height="0.55"/>
+			<rect x="120.98" y="81.62" class="st6" width="0.93" height="0.55"/>
+		</g>
+	</g>
+	<rect x="149.03" y="84.91" class="st6" width="6.79" height="0.69"/>
+	<rect x="84.38" y="58.99" class="st4" width="6.79" height="10.5"/>
+	<polygon class="st5" points="91.16,69.49 85.81,69.49 88.49,58.99 91.16,58.99 	"/>
+	<rect x="84.38" y="69.49" class="st6" width="6.79" height="0.69"/>
+	<rect x="84.38" y="74.41" class="st4" width="6.79" height="10.5"/>
+	<polygon class="st5" points="91.16,84.91 85.81,84.91 88.49,74.41 91.16,74.41 	"/>
+	<rect x="84.38" y="84.91" class="st6" width="6.79" height="0.69"/>
+	<rect x="74.62" y="58.99" class="st4" width="6.79" height="10.5"/>
+	<polygon class="st5" points="81.41,69.49 76.06,69.49 78.74,58.99 81.41,58.99 	"/>
+	<rect x="74.62" y="69.49" class="st6" width="6.79" height="0.69"/>
+	<rect x="74.62" y="74.41" class="st4" width="6.79" height="10.5"/>
+	<polygon class="st5" points="81.41,84.91 76.06,84.91 78.74,74.41 81.41,74.41 	"/>
+	<rect x="74.62" y="84.91" class="st6" width="6.79" height="0.69"/>
+	<rect x="158.78" y="58.99" class="st4" width="6.79" height="10.5"/>
+	<polygon class="st5" points="165.57,69.49 160.22,69.49 162.89,58.99 165.57,58.99 	"/>
+	<rect x="158.78" y="69.49" class="st6" width="6.79" height="0.69"/>
+	<rect x="158.78" y="74.41" class="st4" width="6.79" height="10.5"/>
+	<polygon class="st5" points="165.57,84.91 160.22,84.91 162.89,74.41 165.57,74.41 	"/>
+	<rect x="158.78" y="84.91" class="st6" width="6.79" height="0.69"/>
+	<rect x="149.03" y="58.99" class="st4" width="6.79" height="10.5"/>
+	<polygon class="st5" points="155.81,69.49 150.46,69.49 153.14,58.99 155.81,58.99 	"/>
+	<rect x="149.03" y="74.41" class="st4" width="6.79" height="10.5"/>
+	<polygon class="st5" points="155.81,84.91 150.46,84.91 153.14,74.41 155.81,74.41 	"/>
+	<rect x="149.03" y="69.49" class="st6" width="6.79" height="0.69"/>
+	<g>
+		<rect x="113.11" y="56.04" class="st6" width="13.82" height="0.69"/>
+	</g>
+	<rect x="98.12" y="56.39" class="st6" width="6.79" height="0.69"/>
+	<rect x="135.19" y="56.39" class="st6" width="6.79" height="0.69"/>
+	<rect x="98.12" y="71.81" class="st6" width="6.79" height="0.69"/>
+	<rect x="135.19" y="71.81" class="st6" width="6.79" height="0.69"/>
+	<rect x="149.03" y="77.96" class="st6" width="6.79" height="0.69"/>
+	<rect x="84.38" y="62.54" class="st6" width="6.79" height="0.69"/>
+	<rect x="84.38" y="77.96" class="st6" width="6.79" height="0.69"/>
+	<rect x="74.62" y="62.54" class="st6" width="6.79" height="0.69"/>
+	<rect x="74.62" y="77.96" class="st6" width="6.79" height="0.69"/>
+	<rect x="158.78" y="62.54" class="st6" width="6.79" height="0.69"/>
+	<rect x="158.78" y="77.96" class="st6" width="6.79" height="0.69"/>
+	<rect x="149.03" y="62.54" class="st6" width="6.79" height="0.69"/>
+	<g>
+		<path class="st7" d="M125.54,36.19c0-2.84-2.3-5.14-5.14-5.14c-2.84,0-5.14,2.3-5.14,5.14c0,2.84,2.3,5.14,5.14,5.14
+			C123.24,41.34,125.54,39.03,125.54,36.19z"/>
+		<g>
+			<path class="st8" d="M120.4,40.76c-2.52,0-4.57-2.05-4.57-4.57c0-2.52,2.05-4.57,4.57-4.57c2.52,0,4.57,2.05,4.57,4.57
+				C124.97,38.71,122.92,40.76,120.4,40.76z M120.4,32.15c-2.23,0-4.04,1.81-4.04,4.04c0,2.23,1.81,4.04,4.04,4.04
+				c2.23,0,4.04-1.81,4.04-4.04C124.45,33.97,122.63,32.15,120.4,32.15z"/>
+		</g>
+		<path class="st8" d="M123.25,35.93h-2.58V33.1c0-0.14-0.12-0.26-0.26-0.26c-0.14,0-0.26,0.12-0.26,0.26v3.1
+			c0,0.14,0.12,0.26,0.26,0.26h2.85c0.14,0,0.26-0.12,0.26-0.26S123.39,35.93,123.25,35.93z"/>
+	</g>
+	<g>
+		<g>
+			<g>
+				<g>
+					<rect x="130.27" y="69.21" class="st9" width="2.33" height="19.15"/>
+				</g>
+				<g>
+					<rect x="131.43" y="69.21" class="st2" width="1.16" height="19.15"/>
+				</g>
+				<rect x="129.02" y="88.36" class="st9" width="4.84" height="1.28"/>
+				<g>
+					<rect x="132.02" y="88.36" class="st9" width="1.84" height="1.28"/>
+				</g>
+				<rect x="129.51" y="87.83" class="st9" width="3.85" height="0.79"/>
+				<g>
+					<rect x="131.6" y="87.83" class="st9" width="1.76" height="0.79"/>
+				</g>
+				<path class="st9" d="M130.68,70.18c0-0.54-0.43-0.97-0.97-0.97s-0.97,0.43-0.97,0.97c0,0.54,0.43,0.97,0.97,0.97
+					S130.68,70.72,130.68,70.18z"/>
+				<rect x="129.71" y="69.21" class="st9" width="3.45" height="0.65"/>
+				<g>
+					<rect x="131.79" y="69.21" class="st9" width="1.37" height="0.65"/>
+				</g>
+				<g>
+					<path class="st9" d="M134.13,70.18c0-0.54-0.43-0.97-0.97-0.97c-0.54,0-0.97,0.43-0.97,0.97c0,0.54,0.43,0.97,0.97,0.97
+						C133.69,71.15,134.13,70.72,134.13,70.18z"/>
+				</g>
+			</g>
+		</g>
+		<g>
+			<g>
+				<g>
+					<rect x="107.33" y="69.21" class="st9" width="2.33" height="19.15"/>
+				</g>
+				<g>
+					<rect x="108.49" y="69.21" class="st2" width="1.16" height="19.15"/>
+				</g>
+				<rect x="106.07" y="88.36" class="st9" width="4.84" height="1.28"/>
+				<g>
+					<rect x="109.08" y="88.36" class="st9" width="1.84" height="1.28"/>
+				</g>
+				<rect x="106.57" y="87.83" class="st9" width="3.85" height="0.79"/>
+				<g>
+					<rect x="108.66" y="87.83" class="st9" width="1.76" height="0.79"/>
+				</g>
+				<path class="st9" d="M107.74,70.18c0-0.54-0.43-0.97-0.97-0.97c-0.54,0-0.97,0.43-0.97,0.97c0,0.54,0.43,0.97,0.97,0.97
+					C107.3,71.15,107.74,70.72,107.74,70.18z"/>
+				<rect x="106.77" y="69.21" class="st9" width="3.45" height="0.65"/>
+				<g>
+					<rect x="108.84" y="69.21" class="st9" width="1.37" height="0.65"/>
+				</g>
+				<g>
+					<path class="st9" d="M111.19,70.18c0-0.54-0.43-0.97-0.97-0.97c-0.54,0-0.97,0.43-0.97,0.97c0,0.54,0.43,0.97,0.97,0.97
+						C110.75,71.15,111.19,70.72,111.19,70.18z"/>
+				</g>
+			</g>
+		</g>
+	</g>
+	<g>
+		<g>
+			<g>
+				<g>
+					<rect x="130.27" y="47.12" class="st9" width="2.33" height="19.15"/>
+				</g>
+				<g>
+					<rect x="131.43" y="47.12" class="st2" width="1.16" height="19.15"/>
+				</g>
+				<rect x="129.02" y="66.26" class="st9" width="4.84" height="1.28"/>
+				<g>
+					<rect x="132.02" y="66.26" class="st9" width="1.84" height="1.28"/>
+				</g>
+				<rect x="129.51" y="65.74" class="st9" width="3.85" height="0.79"/>
+				<g>
+					<rect x="131.6" y="65.74" class="st9" width="1.76" height="0.79"/>
+				</g>
+				<path class="st9" d="M130.68,48.09c0-0.54-0.43-0.97-0.97-0.97s-0.97,0.43-0.97,0.97c0,0.54,0.43,0.97,0.97,0.97
+					S130.68,48.62,130.68,48.09z"/>
+				<rect x="129.71" y="47.12" class="st9" width="3.45" height="0.65"/>
+				<g>
+					<rect x="131.79" y="47.12" class="st9" width="1.37" height="0.65"/>
+				</g>
+				<g>
+					<path class="st9" d="M134.13,48.09c0-0.54-0.43-0.97-0.97-0.97c-0.54,0-0.97,0.43-0.97,0.97c0,0.54,0.43,0.97,0.97,0.97
+						C133.69,49.06,134.13,48.62,134.13,48.09z"/>
+				</g>
+			</g>
+		</g>
+		<g>
+			<g>
+				<g>
+					<rect x="107.33" y="47.12" class="st9" width="2.33" height="19.15"/>
+				</g>
+				<g>
+					<rect x="108.49" y="47.12" class="st2" width="1.16" height="19.15"/>
+				</g>
+				<rect x="106.07" y="66.26" class="st9" width="4.84" height="1.28"/>
+				<g>
+					<rect x="109.08" y="66.26" class="st9" width="1.84" height="1.28"/>
+				</g>
+				<rect x="106.57" y="65.74" class="st9" width="3.85" height="0.79"/>
+				<g>
+					<rect x="108.66" y="65.74" class="st9" width="1.76" height="0.79"/>
+				</g>
+				<path class="st9" d="M107.74,48.09c0-0.54-0.43-0.97-0.97-0.97c-0.54,0-0.97,0.43-0.97,0.97c0,0.54,0.43,0.97,0.97,0.97
+					C107.3,49.06,107.74,48.62,107.74,48.09z"/>
+				<rect x="106.77" y="47.12" class="st9" width="3.45" height="0.65"/>
+				<g>
+					<rect x="108.84" y="47.12" class="st9" width="1.37" height="0.65"/>
+				</g>
+				<g>
+					<path class="st9" d="M111.19,48.09c0-0.54-0.43-0.97-0.97-0.97c-0.54,0-0.97,0.43-0.97,0.97c0,0.54,0.43,0.97,0.97,0.97
+						C110.75,49.06,111.19,48.62,111.19,48.09z"/>
+				</g>
+			</g>
+		</g>
+	</g>
+	<rect x="105.2" y="66.5" class="st9" width="29.54" height="2.71"/>
+	<rect x="105.2" y="67.85" class="st2" width="29.54" height="1.36"/>
+	<polygon class="st7" points="123.58,17.77 124.68,17.46 124.68,13.57 123.58,13.88 	"/>
+	<polygon class="st7" points="122.24,15.54 122.24,16.64 126.03,15.8 126.03,14.7 	"/>
+</g>
+<rect x="26" y="97.5" class="st5" width="189" height="11"/>
+<rect x="26" y="131.5" class="st5" width="189" height="11"/>
+<g>
+	<g>
+		<rect x="3.87" y="111.7" class="st10" width="3.29" height="16.56"/>
+		<rect x="14.88" y="111.7" class="st10" width="3.29" height="16.56"/>
+		<rect x="25.9" y="111.7" class="st10" width="3.29" height="16.56"/>
+		<rect x="36.92" y="111.7" class="st10" width="3.29" height="16.56"/>
+		<rect x="47.93" y="111.7" class="st10" width="3.29" height="16.56"/>
+		<rect x="58.95" y="111.7" class="st10" width="3.29" height="16.56"/>
+		<rect x="69.97" y="111.7" class="st10" width="3.29" height="16.56"/>
+		<rect x="80.99" y="111.7" class="st10" width="3.29" height="16.56"/>
+		<rect x="92" y="111.7" class="st10" width="3.29" height="16.56"/>
+		<rect x="102.6" y="111.7" class="st10" width="3.29" height="16.56"/>
+		<rect x="112.86" y="111.7" class="st10" width="3.29" height="16.56"/>
+	</g>
+	<g>
+		<rect y="123.46" class="st11" width="120" height="1.33"/>
+		<rect y="115.18" class="st11" width="120" height="1.33"/>
+	</g>
+</g>
+<g>
+	<g>
+		<rect x="123.87" y="111.7" class="st10" width="3.29" height="16.56"/>
+		<rect x="134.88" y="111.7" class="st10" width="3.29" height="16.56"/>
+		<rect x="145.9" y="111.7" class="st10" width="3.29" height="16.56"/>
+		<rect x="156.92" y="111.7" class="st10" width="3.29" height="16.56"/>
+		<rect x="167.93" y="111.7" class="st10" width="3.29" height="16.56"/>
+		<rect x="178.95" y="111.7" class="st10" width="3.29" height="16.56"/>
+		<rect x="189.97" y="111.7" class="st10" width="3.29" height="16.56"/>
+		<rect x="200.99" y="111.7" class="st10" width="3.29" height="16.56"/>
+		<rect x="212" y="111.7" class="st10" width="3.29" height="16.56"/>
+		<rect x="222.6" y="111.7" class="st10" width="3.29" height="16.56"/>
+		<rect x="232.86" y="111.7" class="st10" width="3.29" height="16.56"/>
+	</g>
+	<g>
+		<rect x="120" y="123.46" class="st11" width="120" height="1.33"/>
+		<rect x="120" y="115.18" class="st11" width="120" height="1.33"/>
+	</g>
+</g>
+</svg>
diff --git a/svg/Bahnhof_#d50000_Gleis_vertikal.svg b/svg/Bahnhof_#d50000_Gleis_vertikal.svg
new file mode 100644
index 0000000000000000000000000000000000000000..6746ae5b062d5e8cc5f739c74f1adca400ed3472
--- /dev/null
+++ b/svg/Bahnhof_#d50000_Gleis_vertikal.svg
@@ -0,0 +1,286 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 23.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 240 240" style="enable-background:new 0 0 240 240;" xml:space="preserve">
+<style type="text/css">
+	.st0{fill:none;}
+	.st1{fill:#D9D9D9;}
+	.st2{fill:#978679;}
+	.st3{fill:#3D3D3D;}
+	.st4{fill:#FFFFFF;}
+	.st5{fill:#D50000;}
+	.st6{fill:#858B8A;}
+	.st7{fill:#E20613;}
+	.st8{fill:#ECECEC;}
+	.st9{fill:#585858;}
+	.st10{fill:#1D1D1B;}
+	.st11{fill:#9EA5A3;}
+</style>
+<g>
+	<rect class="st0" width="240" height="240"/>
+</g>
+<rect x="110" y="182.5" transform="matrix(1.143782e-06 1 -1 1.143782e-06 324.9999 50.9997)" class="st1" width="54" height="11"/>
+<rect x="76" y="182.5" transform="matrix(1.143782e-06 1 -1 1.143782e-06 291 84.9997)" class="st1" width="54" height="11"/>
+<g>
+	<g>
+		<rect x="111.74" y="3.87" class="st2" width="16.56" height="3.29"/>
+		<rect x="111.74" y="14.88" class="st2" width="16.56" height="3.29"/>
+		<rect x="111.74" y="25.9" class="st2" width="16.56" height="3.29"/>
+		<rect x="111.74" y="36.92" class="st2" width="16.56" height="3.29"/>
+		<rect x="111.74" y="47.93" class="st2" width="16.56" height="3.29"/>
+		<rect x="111.74" y="58.95" class="st2" width="16.56" height="3.29"/>
+		<rect x="111.74" y="69.97" class="st2" width="16.56" height="3.29"/>
+		<rect x="111.74" y="80.99" class="st2" width="16.56" height="3.29"/>
+		<rect x="111.74" y="92" class="st2" width="16.56" height="3.29"/>
+		<rect x="111.74" y="102.6" class="st2" width="16.56" height="3.29"/>
+		<rect x="111.74" y="112.86" class="st2" width="16.56" height="3.29"/>
+	</g>
+	<g>
+		<rect x="115.21" y="0" class="st3" width="1.33" height="120"/>
+		<rect x="123.5" y="0" class="st3" width="1.33" height="120"/>
+	</g>
+</g>
+<g>
+	<g>
+		<rect x="111.74" y="123.87" class="st2" width="16.56" height="3.29"/>
+		<rect x="111.74" y="134.88" class="st2" width="16.56" height="3.29"/>
+		<rect x="111.74" y="145.9" class="st2" width="16.56" height="3.29"/>
+		<rect x="111.74" y="156.92" class="st2" width="16.56" height="3.29"/>
+		<rect x="111.74" y="167.93" class="st2" width="16.56" height="3.29"/>
+		<rect x="111.74" y="178.95" class="st2" width="16.56" height="3.29"/>
+		<rect x="111.74" y="189.97" class="st2" width="16.56" height="3.29"/>
+		<rect x="111.74" y="200.99" class="st2" width="16.56" height="3.29"/>
+		<rect x="111.74" y="212" class="st2" width="16.56" height="3.29"/>
+		<rect x="111.74" y="222.6" class="st2" width="16.56" height="3.29"/>
+		<rect x="111.74" y="232.86" class="st2" width="16.56" height="3.29"/>
+	</g>
+	<g>
+		<rect x="115.21" y="120" class="st3" width="1.33" height="120"/>
+		<rect x="123.5" y="120" class="st3" width="1.33" height="120"/>
+	</g>
+</g>
+<rect x="61" y="69" class="st4" width="118" height="92"/>
+<g>
+	<g>
+		<polygon class="st5" points="145.31,119.74 145.31,113.78 145.31,108.54 109.08,108.54 94.79,108.54 94.79,119.74 70.39,119.74 
+			70.39,152.5 94.79,152.5 109.08,152.5 120.25,152.5 145.31,152.5 169.7,152.5 169.7,119.74 		"/>
+		<polygon class="st5" points="148.51,105.94 120.17,88.74 92.3,105.93 92.3,107.66 148.51,107.66 		"/>
+	</g>
+	<g>
+		<polygon class="st0" points="92.3,105.93 92.3,107.66 148.51,107.66 148.51,105.94 120.17,88.74 		"/>
+		<path class="st6" d="M120.16,85.96l-29.49,18.19v5.91h59.46v-5.91L120.16,85.96z M148.51,107.66H92.3v-1.73l27.87-17.19
+			l28.34,17.2V107.66z"/>
+	</g>
+	<polygon class="st7" points="120.44,82.35 127.82,80.62 127.82,74.99 120.44,76.73 	"/>
+	<rect x="119.68" y="76.72" class="st6" width="0.75" height="11.5"/>
+	<rect x="69.12" y="115.82" class="st6" width="101.86" height="3.92"/>
+	<rect x="69.12" y="152.5" class="st6" width="101.86" height="2"/>
+	<g>
+		<rect x="113.11" y="115.5" class="st8" width="13.82" height="10.5"/>
+		<polygon class="st1" points="126.93,125.99 116.03,125.99 121.48,115.5 126.93,115.5 		"/>
+		<rect x="113.11" y="125.99" class="st9" width="13.82" height="0.69"/>
+	</g>
+	<rect x="98.12" y="115.84" class="st8" width="6.79" height="10.5"/>
+	<polygon class="st1" points="104.9,126.34 99.55,126.34 102.23,115.84 104.9,115.84 	"/>
+	<rect x="98.12" y="126.34" class="st9" width="6.79" height="0.69"/>
+	<rect x="135.19" y="115.84" class="st8" width="6.79" height="10.5"/>
+	<polygon class="st1" points="141.98,126.34 136.63,126.34 139.3,115.84 141.98,115.84 	"/>
+	<rect x="135.19" y="126.34" class="st9" width="6.79" height="0.69"/>
+	<rect x="98.12" y="131.26" class="st8" width="6.79" height="10.5"/>
+	<polygon class="st1" points="104.9,141.76 99.55,141.76 102.23,131.26 104.9,131.26 	"/>
+	<rect x="98.12" y="141.76" class="st9" width="6.79" height="0.69"/>
+	<rect x="135.19" y="131.26" class="st8" width="6.79" height="10.5"/>
+	<polygon class="st1" points="141.98,141.76 136.63,141.76 139.3,131.26 141.98,131.26 	"/>
+	<rect x="135.19" y="141.76" class="st9" width="6.79" height="0.69"/>
+	<g>
+		<g>
+			<rect x="112.42" y="136.93" class="st8" width="15.06" height="14.59"/>
+			<polygon class="st1" points="127.48,151.52 115.61,151.52 121.55,136.93 127.48,136.93 			"/>
+		</g>
+		<rect x="112.42" y="151.52" class="st9" width="15.06" height="0.95"/>
+		<rect x="112.42" y="136.12" class="st9" width="15.06" height="0.81"/>
+		
+			<rect x="119.45" y="144.15" transform="matrix(-1.836970e-16 1 -1 -1.836970e-16 271.9261 16.666)" class="st9" width="16.35" height="0.3"/>
+		
+			<rect x="104.12" y="144.15" transform="matrix(-1.836970e-16 1 -1 -1.836970e-16 256.593 31.9991)" class="st9" width="16.35" height="0.3"/>
+		
+			<rect x="111.92" y="144.15" transform="matrix(-1.836970e-16 1 -1 -1.836970e-16 264.3965 24.1956)" class="st9" width="16.35" height="0.3"/>
+		<g>
+			<rect x="118.29" y="144.62" class="st9" width="0.93" height="0.55"/>
+			<rect x="120.98" y="144.62" class="st9" width="0.93" height="0.55"/>
+		</g>
+	</g>
+	<rect x="149.03" y="147.91" class="st9" width="6.79" height="0.69"/>
+	<rect x="84.38" y="121.99" class="st8" width="6.79" height="10.5"/>
+	<polygon class="st1" points="91.16,132.49 85.81,132.49 88.49,121.99 91.16,121.99 	"/>
+	<rect x="84.38" y="132.49" class="st9" width="6.79" height="0.69"/>
+	<rect x="84.38" y="137.41" class="st8" width="6.79" height="10.5"/>
+	<polygon class="st1" points="91.16,147.91 85.81,147.91 88.49,137.41 91.16,137.41 	"/>
+	<rect x="84.38" y="147.91" class="st9" width="6.79" height="0.69"/>
+	<rect x="74.62" y="121.99" class="st8" width="6.79" height="10.5"/>
+	<polygon class="st1" points="81.41,132.49 76.06,132.49 78.74,121.99 81.41,121.99 	"/>
+	<rect x="74.62" y="132.49" class="st9" width="6.79" height="0.69"/>
+	<rect x="74.62" y="137.41" class="st8" width="6.79" height="10.5"/>
+	<polygon class="st1" points="81.41,147.91 76.06,147.91 78.74,137.41 81.41,137.41 	"/>
+	<rect x="74.62" y="147.91" class="st9" width="6.79" height="0.69"/>
+	<rect x="158.78" y="121.99" class="st8" width="6.79" height="10.5"/>
+	<polygon class="st1" points="165.57,132.49 160.22,132.49 162.89,121.99 165.57,121.99 	"/>
+	<rect x="158.78" y="132.49" class="st9" width="6.79" height="0.69"/>
+	<rect x="158.78" y="137.41" class="st8" width="6.79" height="10.5"/>
+	<polygon class="st1" points="165.57,147.91 160.22,147.91 162.89,137.41 165.57,137.41 	"/>
+	<rect x="158.78" y="147.91" class="st9" width="6.79" height="0.69"/>
+	<rect x="149.03" y="121.99" class="st8" width="6.79" height="10.5"/>
+	<polygon class="st1" points="155.81,132.49 150.46,132.49 153.14,121.99 155.81,121.99 	"/>
+	<rect x="149.03" y="137.41" class="st8" width="6.79" height="10.5"/>
+	<polygon class="st1" points="155.81,147.91 150.46,147.91 153.14,137.41 155.81,137.41 	"/>
+	<rect x="149.03" y="132.49" class="st9" width="6.79" height="0.69"/>
+	<g>
+		<rect x="113.11" y="119.04" class="st9" width="13.82" height="0.69"/>
+	</g>
+	<rect x="98.12" y="119.39" class="st9" width="6.79" height="0.69"/>
+	<rect x="135.19" y="119.39" class="st9" width="6.79" height="0.69"/>
+	<rect x="98.12" y="134.81" class="st9" width="6.79" height="0.69"/>
+	<rect x="135.19" y="134.81" class="st9" width="6.79" height="0.69"/>
+	<rect x="149.03" y="140.96" class="st9" width="6.79" height="0.69"/>
+	<rect x="84.38" y="125.54" class="st9" width="6.79" height="0.69"/>
+	<rect x="84.38" y="140.96" class="st9" width="6.79" height="0.69"/>
+	<rect x="74.62" y="125.54" class="st9" width="6.79" height="0.69"/>
+	<rect x="74.62" y="140.96" class="st9" width="6.79" height="0.69"/>
+	<rect x="158.78" y="125.54" class="st9" width="6.79" height="0.69"/>
+	<rect x="158.78" y="140.96" class="st9" width="6.79" height="0.69"/>
+	<rect x="149.03" y="125.54" class="st9" width="6.79" height="0.69"/>
+	<g>
+		<path class="st4" d="M125.54,99.19c0-2.84-2.3-5.14-5.14-5.14c-2.84,0-5.14,2.3-5.14,5.14c0,2.84,2.3,5.14,5.14,5.14
+			C123.24,104.34,125.54,102.03,125.54,99.19z"/>
+		<g>
+			<path class="st10" d="M120.4,103.76c-2.52,0-4.57-2.05-4.57-4.57c0-2.52,2.05-4.57,4.57-4.57c2.52,0,4.57,2.05,4.57,4.57
+				C124.97,101.71,122.92,103.76,120.4,103.76z M120.4,95.15c-2.23,0-4.04,1.81-4.04,4.04c0,2.23,1.81,4.04,4.04,4.04
+				c2.23,0,4.04-1.81,4.04-4.04C124.45,96.97,122.63,95.15,120.4,95.15z"/>
+		</g>
+		<path class="st10" d="M123.25,98.93h-2.58V96.1c0-0.14-0.12-0.26-0.26-0.26c-0.14,0-0.26,0.12-0.26,0.26v3.1
+			c0,0.14,0.12,0.26,0.26,0.26h2.85c0.14,0,0.26-0.12,0.26-0.26C123.51,99.05,123.39,98.93,123.25,98.93z"/>
+	</g>
+	<g>
+		<g>
+			<g>
+				<g>
+					<rect x="130.27" y="132.21" class="st11" width="2.33" height="19.15"/>
+				</g>
+				<g>
+					<rect x="131.43" y="132.21" class="st6" width="1.16" height="19.15"/>
+				</g>
+				<rect x="129.02" y="151.36" class="st11" width="4.84" height="1.28"/>
+				<g>
+					<rect x="132.02" y="151.36" class="st11" width="1.84" height="1.28"/>
+				</g>
+				<rect x="129.51" y="150.83" class="st11" width="3.85" height="0.79"/>
+				<g>
+					<rect x="131.6" y="150.83" class="st11" width="1.76" height="0.79"/>
+				</g>
+				<path class="st11" d="M130.68,133.18c0-0.54-0.43-0.97-0.97-0.97s-0.97,0.43-0.97,0.97c0,0.54,0.43,0.97,0.97,0.97
+					S130.68,133.72,130.68,133.18z"/>
+				<rect x="129.71" y="132.21" class="st11" width="3.45" height="0.65"/>
+				<g>
+					<rect x="131.79" y="132.21" class="st11" width="1.37" height="0.65"/>
+				</g>
+				<g>
+					<path class="st11" d="M134.13,133.18c0-0.54-0.43-0.97-0.97-0.97c-0.54,0-0.97,0.43-0.97,0.97c0,0.54,0.43,0.97,0.97,0.97
+						C133.69,134.15,134.13,133.72,134.13,133.18z"/>
+				</g>
+			</g>
+		</g>
+		<g>
+			<g>
+				<g>
+					<rect x="107.33" y="132.21" class="st11" width="2.33" height="19.15"/>
+				</g>
+				<g>
+					<rect x="108.49" y="132.21" class="st6" width="1.16" height="19.15"/>
+				</g>
+				<rect x="106.07" y="151.36" class="st11" width="4.84" height="1.28"/>
+				<g>
+					<rect x="109.08" y="151.36" class="st11" width="1.84" height="1.28"/>
+				</g>
+				<rect x="106.57" y="150.83" class="st11" width="3.85" height="0.79"/>
+				<g>
+					<rect x="108.66" y="150.83" class="st11" width="1.76" height="0.79"/>
+				</g>
+				<path class="st11" d="M107.74,133.18c0-0.54-0.43-0.97-0.97-0.97c-0.54,0-0.97,0.43-0.97,0.97c0,0.54,0.43,0.97,0.97,0.97
+					C107.3,134.15,107.74,133.72,107.74,133.18z"/>
+				<rect x="106.77" y="132.21" class="st11" width="3.45" height="0.65"/>
+				<g>
+					<rect x="108.84" y="132.21" class="st11" width="1.37" height="0.65"/>
+				</g>
+				<g>
+					<path class="st11" d="M111.19,133.18c0-0.54-0.43-0.97-0.97-0.97c-0.54,0-0.97,0.43-0.97,0.97c0,0.54,0.43,0.97,0.97,0.97
+						C110.75,134.15,111.19,133.72,111.19,133.18z"/>
+				</g>
+			</g>
+		</g>
+	</g>
+	<g>
+		<g>
+			<g>
+				<g>
+					<rect x="130.27" y="110.12" class="st11" width="2.33" height="19.15"/>
+				</g>
+				<g>
+					<rect x="131.43" y="110.12" class="st6" width="1.16" height="19.15"/>
+				</g>
+				<rect x="129.02" y="129.26" class="st11" width="4.84" height="1.28"/>
+				<g>
+					<rect x="132.02" y="129.26" class="st11" width="1.84" height="1.28"/>
+				</g>
+				<rect x="129.51" y="128.74" class="st11" width="3.85" height="0.79"/>
+				<g>
+					<rect x="131.6" y="128.74" class="st11" width="1.76" height="0.79"/>
+				</g>
+				<path class="st11" d="M130.68,111.09c0-0.54-0.43-0.97-0.97-0.97s-0.97,0.43-0.97,0.97c0,0.54,0.43,0.97,0.97,0.97
+					S130.68,111.62,130.68,111.09z"/>
+				<rect x="129.71" y="110.12" class="st11" width="3.45" height="0.65"/>
+				<g>
+					<rect x="131.79" y="110.12" class="st11" width="1.37" height="0.65"/>
+				</g>
+				<g>
+					<path class="st11" d="M134.13,111.09c0-0.54-0.43-0.97-0.97-0.97c-0.54,0-0.97,0.43-0.97,0.97c0,0.54,0.43,0.97,0.97,0.97
+						C133.69,112.06,134.13,111.62,134.13,111.09z"/>
+				</g>
+			</g>
+		</g>
+		<g>
+			<g>
+				<g>
+					<rect x="107.33" y="110.12" class="st11" width="2.33" height="19.15"/>
+				</g>
+				<g>
+					<rect x="108.49" y="110.12" class="st6" width="1.16" height="19.15"/>
+				</g>
+				<rect x="106.07" y="129.26" class="st11" width="4.84" height="1.28"/>
+				<g>
+					<rect x="109.08" y="129.26" class="st11" width="1.84" height="1.28"/>
+				</g>
+				<rect x="106.57" y="128.74" class="st11" width="3.85" height="0.79"/>
+				<g>
+					<rect x="108.66" y="128.74" class="st11" width="1.76" height="0.79"/>
+				</g>
+				<path class="st11" d="M107.74,111.09c0-0.54-0.43-0.97-0.97-0.97c-0.54,0-0.97,0.43-0.97,0.97c0,0.54,0.43,0.97,0.97,0.97
+					C107.3,112.06,107.74,111.62,107.74,111.09z"/>
+				<rect x="106.77" y="110.12" class="st11" width="3.45" height="0.65"/>
+				<g>
+					<rect x="108.84" y="110.12" class="st11" width="1.37" height="0.65"/>
+				</g>
+				<g>
+					<path class="st11" d="M111.19,111.09c0-0.54-0.43-0.97-0.97-0.97c-0.54,0-0.97,0.43-0.97,0.97c0,0.54,0.43,0.97,0.97,0.97
+						C110.75,112.06,111.19,111.62,111.19,111.09z"/>
+				</g>
+			</g>
+		</g>
+	</g>
+	<rect x="105.2" y="129.5" class="st11" width="29.54" height="2.71"/>
+	<rect x="105.2" y="130.85" class="st6" width="29.54" height="1.36"/>
+	<polygon class="st4" points="123.58,80.77 124.68,80.46 124.68,76.57 123.58,76.88 	"/>
+	<polygon class="st4" points="122.24,78.54 122.24,79.64 126.03,78.8 126.03,77.7 	"/>
+</g>
+<rect x="110" y="47.5" transform="matrix(1.143782e-06 1 -1 1.143782e-06 189.9999 -84.0001)" class="st1" width="54" height="11"/>
+<rect x="76" y="47.5" transform="matrix(1.143782e-06 1 -1 1.143782e-06 155.9999 -50.0001)" class="st1" width="54" height="11"/>
+</svg>
diff --git a/tests/test_player.py b/tests/test_player.py
index 7b2745f2e372ca80cd2fb5cf9dcaa3db96fb910a..668afb96a502ce5c25fa1e6d6fe9383a1facbf87 100644
--- a/tests/test_player.py
+++ b/tests/test_player.py
@@ -1,8 +1,12 @@
 
-# from examples.play_model import main
-from examples.tkplay import tkmain
+from examples.play_model import main
+# from examples.tkplay import tkmain
 
 
 def test_main():
-    tkmain(n_trials=2)
+    main(render=True, n_steps=20, n_trials=2, sGL="PILSVG")
+    # main(render=True, n_steps=20, n_trials=2, sGL="PIL")
 
+
+if __name__ == "__main__":
+    test_main()
diff --git a/tests/test_rendertools.py b/tests/test_rendertools.py
index 8204a305328df746a772d034f3c763c848cceb93..1bfce0323322638447ed11191e7d5d9bbea565b5 100644
--- a/tests/test_rendertools.py
+++ b/tests/test_rendertools.py
@@ -12,6 +12,7 @@ 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
+from flatland.envs.generators import empty_rail_generator
 
 
 def checkFrozenImage(oRT, sFileImage, resave=False):
@@ -39,14 +40,15 @@ def test_render_env(save_new_images=False):
     # random.seed(100)
     np.random.seed(100)
     oEnv = RailEnv(width=10, height=10,
-                   rail_generator=random_rail_generator(),
+                   # rail_generator=random_rail_generator(),
+                   rail_generator=empty_rail_generator(),
                    number_of_agents=0,
                    # obs_builder_object=GlobalObsForRailEnv())
                    obs_builder_object=TreeObsForRailEnv(max_depth=2)
                    )
     sfTestEnv = "env-data/tests/test1.npy"
     oEnv.rail.load_transition_map(sfTestEnv)
-    oRT = rt.RenderTool(oEnv, gl="PIL", show=False)
+    oRT = rt.RenderTool(oEnv, gl="PILSVG", show=False)
     oRT.renderEnv(show=False)
 
     checkFrozenImage(oRT, "basic-env.npz", resave=save_new_images)
@@ -82,6 +84,7 @@ def main():
         test_render_env(save_new_images=True)
     else:
         print("Run 'python test_rendertools.py save' to regenerate images")
+        test_render_env()
 
 
 if __name__ == "__main__":