diff --git a/OBSW_TmTcClient.py b/OBSW_TmTcClient.py
index 56bf0ce7883bc9271003a720d85666cc0144b254..4e8d08b3b292edced6b9f8075ee8727a8580c939 100644
--- a/OBSW_TmTcClient.py
+++ b/OBSW_TmTcClient.py
@@ -57,6 +57,7 @@ import atexit
 import queue
 import unittest
 import logging
+from multiprocessing import Process
 
 from test import OBSW_PusServiceTest
 from config import OBSW_Config as g
@@ -69,7 +70,8 @@ from utility.OBSW_ArgParser import parseInputArguments
 from utility.OBSW_TmTcPrinter import TmtcPrinter
 from comIF.OBSW_Ethernet_ComIF import EthernetComIF
 from comIF.OBSW_Serial_ComIF import SerialComIF
-from gui.OBSW_TmtcGUI import TmtcGUI
+from gui.OBSW_TmtcGUI import TmTcGUI
+from gui.OBSW_BackendTest import TmTcBackend
 from utility.OBSW_ExitHandler import keyboardInterruptHandler
 
 
@@ -79,8 +81,14 @@ def main():
     tmtcPrinter = TmtcPrinter(g.displayMode, g.printToFile, True)
     communicationInterface = 0
     if g.modeId == "GUIMode":
-        GUI = TmtcGUI()
-        GUI.open()
+        backend = TmTcBackend()
+        backend.start()
+        GUI = TmTcGUI()
+        GUI.start()
+        backend.join()
+        GUI.join()
+        print("Both processes have closed")
+        exit()
     else:
         communicationInterface = setCommunicationInterface(tmtcPrinter)
         atexit.register(keyboardInterruptHandler, comInterface=communicationInterface)
diff --git a/gui/OBSW_ClientTest.py b/gui/Client.py
similarity index 100%
rename from gui/OBSW_ClientTest.py
rename to gui/Client.py
diff --git a/gui/OBSW_ListenerTest.py b/gui/Listener.py
similarity index 88%
rename from gui/OBSW_ListenerTest.py
rename to gui/Listener.py
index b675d2ca43a3fb70d59fe4e29055af34500366e1..3d65092b6f118532dfebc7cc544961e2ba198644 100644
--- a/gui/OBSW_ListenerTest.py
+++ b/gui/Listener.py
@@ -1,4 +1,5 @@
 from multiprocessing.connection import Listener
+from multiprocessing import Process
 
 address = ('localhost', 6000)     # family is deduced to be 'AF_INET'
 listener = Listener(address, authkey=None)
@@ -7,7 +8,6 @@ print('connection accepted from' + str(listener.last_accepted))
 while True:
     msg = conn.recv()
     # do something with msg
-    print("I received something")
     if msg == 'close':
         conn.close()
         break
diff --git a/gui/OBSW_BackendTest.py b/gui/OBSW_BackendTest.py
new file mode 100644
index 0000000000000000000000000000000000000000..a17f9571314b9b861a7b2e2eb1f24fc6458d2588
--- /dev/null
+++ b/gui/OBSW_BackendTest.py
@@ -0,0 +1,30 @@
+from multiprocessing.connection import Listener
+from multiprocessing import Process
+import logging
+
+
+class TmTcBackend(Process):
+    def __init__(self):
+        super(TmTcBackend, self).__init__()
+        self.address = ('localhost', 6000)     # family is deduced to be 'AF_INET'
+        self.listener = Listener(self.address, authkey=None)
+        self.conn = 0
+
+    def run(self):
+        self.listen()
+
+    def listen(self):
+        self.conn = self.listener.accept()
+        print('connection accepted from' + str(self.listener.last_accepted))
+        while True:
+            msg = self.conn.recv()
+            # do something with msg
+            if msg == 'test':
+                print("Hallo Welt !")
+            elif msg == 'close':
+                try:
+                    self.conn.close()
+                    break
+                except OSError:
+                    logging.exception("Error: ")
+        self.listener.close()
diff --git a/gui/OBSW_TmtcGUI.py b/gui/OBSW_TmtcGUI.py
index 6f89bd55853da9256a033e05fa8e8a9e0745f195..b55b16003c1eee04df19bf8b10cd5203c74e0193 100644
--- a/gui/OBSW_TmtcGUI.py
+++ b/gui/OBSW_TmtcGUI.py
@@ -13,8 +13,10 @@
 @author:
     R. Mueller
 """
-from tkinter import Tk
+import tkinter as tk
 from multiprocessing.connection import Client
+from multiprocessing import Process
+import time
 
 
 # A first simple version has drop down menus to chose all necessary options
@@ -24,16 +26,31 @@ from multiprocessing.connection import Client
 # A third button to perform a keyboard interrupt should be implemented
 # include a really nice source badge and make it large !
 # plan this on paper first...
-class TmtcGUI:
+class TmTcGUI(Process):
     def __init__(self):
-        self.window = Tk()
+        super(TmTcGUI, self).__init__()
+        self.root = None
         self.address = ('localhost', 6000)
         self.conn = Client(self.address, authkey=None)
+        self.counter = 0
+
+    def run(self):
+        self.open()
 
     def open(self):
-        self.window.title("Hallo Welt")
-        self.window.mainloop()
-        self.conn.send("close")
+        self.root = tk.Tk("Hallo Welt !")
+        self.root.title("Hallo Welt")
+        while True:
+            self.conn.send("test")
+            self.root.update()
+            time.sleep(2)
+            self.counter = self.counter + 1
+            if self.counter == 3:
+                self.conn.send("close")
+                self.conn.close()
+                break
+        # self.window.mainloop()
 
     def close(self):
-        self.window.quit()
+        pass
+        # self.window.quit()