diff --git a/SimulationGraph/main.py b/SimulationGraph/main.py
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/impulse/UDP_App/DATA/RealData/_data-30sec.txt b/UDP_App/DATA/RealData/_data-30sec.txt
similarity index 100%
rename from impulse/UDP_App/DATA/RealData/_data-30sec.txt
rename to UDP_App/DATA/RealData/_data-30sec.txt
diff --git a/impulse/UDP_App/DATA/RealData/_data-60sec.txt b/UDP_App/DATA/RealData/_data-60sec.txt
similarity index 100%
rename from impulse/UDP_App/DATA/RealData/_data-60sec.txt
rename to UDP_App/DATA/RealData/_data-60sec.txt
diff --git a/impulse/UDP_App/DATA/RealData/data-30sec.txt b/UDP_App/DATA/RealData/data-30sec.txt
similarity index 100%
rename from impulse/UDP_App/DATA/RealData/data-30sec.txt
rename to UDP_App/DATA/RealData/data-30sec.txt
diff --git a/impulse/UDP_App/DATA/RealData/data-60sec.txt b/UDP_App/DATA/RealData/data-60sec.txt
similarity index 100%
rename from impulse/UDP_App/DATA/RealData/data-60sec.txt
rename to UDP_App/DATA/RealData/data-60sec.txt
diff --git a/impulse/UDP_App/DATA/TestData/backward-3sec.txt b/UDP_App/DATA/TestData/backward-3sec.txt
similarity index 100%
rename from impulse/UDP_App/DATA/TestData/backward-3sec.txt
rename to UDP_App/DATA/TestData/backward-3sec.txt
diff --git a/impulse/UDP_App/DATA/TestData/custom-movement.txt b/UDP_App/DATA/TestData/custom-movement.txt
similarity index 100%
rename from impulse/UDP_App/DATA/TestData/custom-movement.txt
rename to UDP_App/DATA/TestData/custom-movement.txt
diff --git a/impulse/UDP_App/DATA/TestData/forward-3sec.txt b/UDP_App/DATA/TestData/forward-3sec.txt
similarity index 100%
rename from impulse/UDP_App/DATA/TestData/forward-3sec.txt
rename to UDP_App/DATA/TestData/forward-3sec.txt
diff --git a/impulse/UDP_App/DATA/TestData/left-3sec.txt b/UDP_App/DATA/TestData/left-3sec.txt
similarity index 100%
rename from impulse/UDP_App/DATA/TestData/left-3sec.txt
rename to UDP_App/DATA/TestData/left-3sec.txt
diff --git a/impulse/UDP_App/DATA/TestData/right-3sec.txt b/UDP_App/DATA/TestData/right-3sec.txt
similarity index 100%
rename from impulse/UDP_App/DATA/TestData/right-3sec.txt
rename to UDP_App/DATA/TestData/right-3sec.txt
diff --git a/impulse/UDP_App/DATA/TestData/static-5sec.txt b/UDP_App/DATA/TestData/static-5sec.txt
similarity index 100%
rename from impulse/UDP_App/DATA/TestData/static-5sec.txt
rename to UDP_App/DATA/TestData/static-5sec.txt
diff --git a/impulse/UDP_App/UDPsender.py b/UDP_App/UDPsender.py
similarity index 100%
rename from impulse/UDP_App/UDPsender.py
rename to UDP_App/UDPsender.py
diff --git a/impulse/UDP_App/UDPsender_v1.py b/impulse/UDP_App/UDPsender_v1.py
deleted file mode 100644
index d474b5441edf15b75d98d4d3f6e35a78ea42dd47..0000000000000000000000000000000000000000
--- a/impulse/UDP_App/UDPsender_v1.py
+++ /dev/null
@@ -1,96 +0,0 @@
-import socket
-import random
-import time
-import pyautogui
-
-# UDP_IP = "192.168.1.112" # VR headset: 192.168.1.112
-UDP_IP = "127.0.0.1"
-UDP_PORT = 5000
-
-FOLDER_PATH = "DATA/"
-SUBFOLDER_PATH = "TestData/"
-# DATA = "static-5sec.txt"
-# DATA = "forward-3sec.txt"
-# DATA = "backward-3sec.txt"
-# DATA = "left-3sec.txt"
-# DATA = "right-3sec.txt"
-# DATA = "custom-movement.txt" # left, right, back, left, right, left, right
-
-DATA = ""
-
-# SUBFOLDER_PATH = "RealData/"
-# DATA = "data-30sec.txt"
-# DATA = "data-60sec.txt"
-
-# refreshRate = 0.02
-refreshRate = 0.5
-
-# Initialize spatial values
-x = 0
-y = 0
-z = 0
-x_theta = 0
-y_theta = 0
-z_theta = 0
-
-# Create a UDP socket
-sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
-
-
-# Aggregate values into a string
-# Output format: (x, y, z, x_theta, y_theta, z_theta)
-def aggregateValuesToString(x, y, z, x_theta, y_theta, z_theta):
-    return (
-        str(x)
-        + ","
-        + str(y)
-        + ","
-        + str(z)
-        + ","
-        + str(x_theta)
-        + ","
-        + str(y_theta)
-        + ","
-        + str(z_theta)
-    )
-
-
-# Read data from file
-if DATA != "":
-
-    # If a file with data exist, let's use it
-    with open(FOLDER_PATH + SUBFOLDER_PATH + DATA) as file:
-
-        for line in file:
-
-            # Split the line into strings (it's seperated by spaces)
-            # strings = line.split('\x00')
-            strings = line.split("|")
-
-            # Split each string into values (seperated by _)
-            for string in strings:
-
-                values = string.split("_")
-                print(values)
-                # Assign values
-                timestamp, x, y, z, x_theta, y_theta, z_theta = values
-
-                # Send values
-                data = aggregateValuesToString(x, y, z, x_theta, y_theta, z_theta)
-                sock.sendto(data.encode(), (UDP_IP, UDP_PORT))
-
-                # print(data)
-
-                # Sleep for 0.1 seconds
-                time.sleep(refreshRate)
-
-# If no file with data exist, let's use mouse position
-else:
-    while True:
-        # Use mouse position as data instead
-        x = pyautogui.position()[0]
-        z = pyautogui.position()[1]
-        data = aggregateValuesToString(x, y, z, x_theta, y_theta, z_theta)
-        sock.sendto(data.encode(), (UDP_IP, UDP_PORT))
-        print("Sent: " + data)
-        time.sleep(refreshRate)
diff --git a/impulse/UDP_App/UDPsender_v2.py b/impulse/UDP_App/UDPsender_v2.py
deleted file mode 100644
index 7411bcae10ea56b0ca65cf50c61468b24269a7a1..0000000000000000000000000000000000000000
--- a/impulse/UDP_App/UDPsender_v2.py
+++ /dev/null
@@ -1,112 +0,0 @@
-import socket
-import tkinter as tk
-
-# Window Configuration
-WINDOW_SIZE = 400
-CENTER_X = WINDOW_SIZE // 2
-CENTER_Y = WINDOW_SIZE // 2
-
-# UDP Configuration
-UDP_IP = "127.0.0.1"
-UDP_PORT = 5000
-sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
-
-# Rotation angle
-y_theta = 0
-
-
-def aggregate_values_to_string(x, y, z, x_theta, y_theta, z_theta):
-    return f"{x},{y},{z},{x_theta},{y_theta},{z_theta}"
-
-
-def send_mouse_position(event):
-    global y_theta
-    x = event.x - CENTER_X
-    y = event.y - CENTER_Y
-    z = 0
-    x_theta = 0
-    z_theta = 0
-
-    data = aggregate_values_to_string(x, y, z, x_theta, y_theta, z_theta)
-    sock.sendto(data.encode(), (UDP_IP, UDP_PORT))
-    print("Sent:", data)
-
-
-def adjust_rotation(event):
-    global y_theta
-    if event.delta > 0:
-        y_theta += 5
-    else:
-        y_theta -= 5
-    print(f"Rotation Angle (Y): {y_theta}°")
-
-
-def draw_center_and_arrows(canvas):
-    CIRCLE_RADIUS = 20
-    # Draw central circle
-    canvas.create_oval(
-        CENTER_X - CIRCLE_RADIUS,
-        CENTER_Y - CIRCLE_RADIUS,
-        CENTER_X + CIRCLE_RADIUS,
-        CENTER_Y + CIRCLE_RADIUS,
-        fill="black",
-    )
-
-    # Draw arrows
-    ARROW_MARGIN = 30
-    ARROW_LENGTH = 150
-    canvas.create_line(
-        CENTER_X,
-        CENTER_Y - ARROW_MARGIN,
-        CENTER_X,
-        CENTER_Y - ARROW_LENGTH,
-        arrow=tk.LAST,
-        width=2,
-    )  # Up
-    canvas.create_line(
-        CENTER_X + ARROW_MARGIN,
-        CENTER_Y,
-        CENTER_X + ARROW_LENGTH,
-        CENTER_Y,
-        arrow=tk.LAST,
-        width=2,
-    )  # Right
-    canvas.create_line(
-        CENTER_X,
-        CENTER_Y + ARROW_MARGIN,
-        CENTER_X,
-        CENTER_Y + ARROW_LENGTH,
-        arrow=tk.LAST,
-        width=2,
-    )  # Down
-    canvas.create_line(
-        CENTER_X - ARROW_MARGIN,
-        CENTER_Y,
-        CENTER_X - ARROW_LENGTH,
-        CENTER_Y,
-        arrow=tk.LAST,
-        width=2,
-    )  # Left
-
-
-def main():
-    root = tk.Tk()
-    root.title("Mouse Tracker")
-    root.geometry(f"{WINDOW_SIZE}x{WINDOW_SIZE}")
-    root.resizable(False, False)
-
-    canvas = tk.Canvas(root, width=WINDOW_SIZE, height=WINDOW_SIZE, bg="white")
-    canvas.pack()
-
-    draw_center_and_arrows(canvas)
-
-    # Bind mouse movement event
-    root.bind("<Motion>", send_mouse_position)
-    # Bind mouse wheel event
-    root.bind("<MouseWheel>", adjust_rotation)
-
-    root.mainloop()
-
-
-if __name__ == "__main__":
-    main()