diff --git a/simrunner/config_processing.py b/simrunner/config_processing.py
index 0f9375b80866ceb5b2d15732c2bd61fc88331a8c..253e5b85a19fac2d46411fcb5b1701d19242bc48 100644
--- a/simrunner/config_processing.py
+++ b/simrunner/config_processing.py
@@ -7,8 +7,7 @@ import os
 BYTE_SIZES = ['16', '32', '64', '128', '256', '512', '1024', '2048', '4096', '8192',
                   '16384', '32768', '65536', '131072', '262144', '524288', '1048576', '2097152',
                   '4194304', '8388608', '16777216', '33554432', '67108864']
-#BYTE_SIZES = ['16', '32', '64', '128', '256', '512', '1024', '2048', '4096', '8192',
-                  #'16384', '32768', '65536', '131072', '262144', '524288']
+#BYTE_SIZES = ['16', '32', '64', '128']
 
 
 # Function to parse command-line arguments
@@ -43,47 +42,42 @@ def read_config():
 # Function to set arguments for various data configurations
 def set_arguments_various(da_config, test_data_path):
     data_config = da_config
-    e_list = []
-    # Loop through each byte size to create corresponding event arguments
-    for event in BYTE_SIZES:
-        event_name = 'Data_Set_' + event
-        arguments = ['-s', event]
-        # Loop through the data configuration and append key-value pairs as arguments
+    e_dict = {}
+    # Loop durch jede Byte-Größe, um entsprechende Ereignisargumente zu erstellen
+    for size in BYTE_SIZES:
+        event_name = f'Data_Set_{size}'
+        # Loop durch die Datenkonfiguration und füge Schlüssel-Wert-Paare als Argumente hinzu
         for outer_key in data_config.keys():
             if outer_key == 'data_config_various':
                 inner_dict = data_config[outer_key]
+                event_arguments = {}
                 for k, v in inner_dict.items():
-                    arguments.append(k)
-                    arguments.append(v)
-                arguments.append('--posixDataDir')
-                arguments.append(test_data_path)
-                arguments.append('-o')
-                arguments.append(event_name)
-                e_list.append(arguments)
-    # Return the list of event arguments for various byte sizes
-    return e_list
+                    event_arguments[k] = v
+                event_arguments['-s'] = size
+                event_arguments['--posixDataDir'] = test_data_path
+                event_arguments['-o'] = event_name
+                e_dict[event_name] = event_arguments
+    # Gib das Dictionary der Ereignisargumente für verschiedene Byte-Größen zurück
+    return e_dict
 
 
 # Function to set arguments for long data configurations
 def set_arguments_long(da_config, test_data_path):
     data_config = da_config
-    e_list = []
+    e_dict = {}
     event_name = 'Data_Set_Long'
-    arguments = []
     # Loop through the data configuration and append key-value pairs as arguments
     for outer_key in data_config.keys():
         if outer_key == 'data_config_long':
             inner_dict = data_config[outer_key]
+            event_arguments = {}
             for k, v in inner_dict.items():
-                arguments.append(k)
-                arguments.append(v)
-            arguments.append('--posixDataDir')
-            arguments.append(test_data_path)
-            arguments.append('-o')
-            arguments.append(event_name)
-            e_list.append(arguments)
+                event_arguments[k] = v
+            event_arguments['--posixDataDir'] = test_data_path
+            event_arguments['-o'] = event_name
+            e_dict[event_name] = event_arguments
     # Return the list of event arguments for long data configuration
-    return e_list
+    return e_dict
 
 
 # Function to create the list of event arguments based on the chosen function
diff --git a/simrunner/data_config.json b/simrunner/data_config.json
index 9599ddb8ceeee868b5c97e6e213c57aa46c608f2..2ceb79447973ade54212cf5452991851e60b9250 100644
--- a/simrunner/data_config.json
+++ b/simrunner/data_config.json
@@ -1,8 +1,8 @@
 {
   "data_config_various":{
-    "-n": "200",
+    "-n": "100",
     "-i": "0.1s",
-    "-N": "8"},
+    "-N": "4"},
   "data_config_long":{
     "-s": "32",
     "-n": "5000",
diff --git a/simrunner/main.py b/simrunner/main.py
index 57bd3c2e5804afe97a741bdaba202e1cb723b717..8689dbb569c83008f74dd1b2123ef4328ebad83a 100644
--- a/simrunner/main.py
+++ b/simrunner/main.py
@@ -1,4 +1,5 @@
 import os
+import time
 import subprocess
 import logging
 import concurrent.futures as cf
@@ -28,35 +29,44 @@ def pull_data(source_path, desti_path):
             subprocess.run(scp_cmd, shell=True, check=True)
 
 
-# Function to run the detector simulation with the given event arguments
-def run_sim(e_list, d_path, td_path, sim_path, main_path):
+def rm_data(t_data_path):
+    if args.hosts:
+        host = args.hosts[0]
+        ssh_target = f'{args.user}@{host}'
+        rm_cmd = f'ssh {ssh_target} rm -f {t_data_path}/*'
+        subprocess.run(rm_cmd, shell=True, check=True)
+
 
+# Function to run the detector simulation with the given event arguments
+def run_sim(e_dict, d_path, sim_path, main_path):
     with cf.ThreadPoolExecutor() as executor:
-        futures = []
-        for event in e_list:
-            folder_name = event[-1]
+        for event in e_dict:
+            futures = []
+            folder_name = e_dict[event]['-o']
+            e_dict[event]['--startTime'] = f'@{int(time.time() + 10)}'
             output_path = os.path.join(d_path, folder_name)
             if args and args.hosts:
                 # Remote execution on multiple machines with specified user
                 for host in args.hosts:
                     ssh_target = f'{args.user}@{host}'
-                    future = executor.submit(sim.remote_simulation, sim_path, event, output_path, td_path,
+                    future = executor.submit(sim.remote_simulation, sim_path, e_dict[event], output_path,
                                              ssh_target, host)
                     futures.append((folder_name, host, future))
             # Local execution
             else:
-                future = executor.submit(sim.local_simulation, sim_path, event, td_path, output_path)
+                future = executor.submit(sim.local_simulation, sim_path, e_dict[event], output_path)
                 futures.append((folder_name, None, future))
 
-        for folder_name, host, future in futures:
-            output, errors, result = future.result()
-            terminal_output(output, errors, result)
-            if host:
-                stat_file_name = f'statistics_{folder_name}_{host}'
-            else:
-                stat_file_name = f'statistics_{folder_name}_lokal'
-            op.write_statistics(main_path, stat_file_name, output)
-            logger.info(f'{folder_name}_{host if host else ""} done!')
+            for folder_name, host, future in futures:
+                output, errors, result = future.result()
+                terminal_output(output, errors, result)
+                if host:
+                    stat_file_name = f'statistics_{folder_name}_{host}'
+                else:
+                    stat_file_name = f'statistics_{folder_name}_lokal'
+                op.write_statistics(main_path, stat_file_name, output)
+                logger.info(f'{folder_name}_{host if host else ""} done!')
+            rm_data(test_data_path)
 
 
 # --- MAIN ---
@@ -71,10 +81,11 @@ if __name__ == '__main__':
     test_data_path = os.path.join(args.data, 'test_data')
 
     # Setup arguments for Sim
-    event_list = con.create_event_list(args, test_data_path)
-
+    #event_dict = con.create_event_list(args, test_data_path)
     # Run detectorSimulation
-    run_sim(event_list, data_path, test_data_path, simulation_path, main_folder_path)
+    #run_sim(event_dict, data_path, simulation_path, main_folder_path)
 
-    # Pull data for visualizer
     pull_data(data_path, main_folder_path)
+
+
+
diff --git a/simrunner/output_processing.py b/simrunner/output_processing.py
index c5b0c2655e281624ae3b3d76673ff29eed85fa62..933b71b205ab9b9d045d0e4d87cc3f4bc757d3b2 100644
--- a/simrunner/output_processing.py
+++ b/simrunner/output_processing.py
@@ -25,6 +25,5 @@ def write_statistics(main_path, stat_file_name, output):
     stat_path = os.path.join(main_path, 'output/statistics')
     os.makedirs(stat_path, mode=0o777, exist_ok=True)
     file_path = os.path.join(stat_path, stat_file_name + '.dat')
-    print(file_path)
     with open(file_path, 'w') as stat_file:
         stat_file.write(output)
diff --git a/simrunner/simulation.py b/simrunner/simulation.py
index ab173611e9ebca5cce21c4c62516cc31119fde68..7485a20007b5f8ec15aeee555a0db3dfa30cff1a 100644
--- a/simrunner/simulation.py
+++ b/simrunner/simulation.py
@@ -3,12 +3,17 @@ import output_processing as op
 
 
 # Function to run the detector simulation remote
-def remote_simulation(sim_path, event, output_path, test_data_path, ssh_target, host):
+def remote_simulation(sim_path, event, output_path, ssh_target, host):
+    test_data_path = event['--posixDataDir']
     # Create remote output folders and update the event path accordingly
     remote_output = op.make_folders_remote(test_data_path, output_path, ssh_target, host)
-    event[-1] = remote_output
+    event['-o'] = remote_output
+    e_list = []
+    for k, v in event.items():
+        e_list.append(k)
+        e_list.append(v)
     # Construct the command to run the simulation on the remote machine via SSH
-    command = ['ssh', ssh_target, sim_path] + event
+    command = ['ssh', ssh_target, sim_path] + e_list
     result = subprocess.run(command, capture_output=True, text=True)
     output = result.stdout
     errors = result.stderr
@@ -16,10 +21,15 @@ def remote_simulation(sim_path, event, output_path, test_data_path, ssh_target,
 
 
 # Function to run the detector simulation local
-def local_simulation(sim_path, event, test_path, output_path):
-    output_path_lokal = op.make_folders_lokal(test_path, output_path)
-    event[-1] = output_path_lokal
-    command = [sim_path] + event
+def local_simulation(sim_path, event, output_path):
+    test_data_path = event['--posixDataDir']
+    output_path_lokal = op.make_folders_lokal(test_data_path, output_path)
+    event['-o'] = output_path_lokal
+    e_list = []
+    for k, v in event.items():
+        e_list.append(k)
+        e_list.append(v)
+    command = [sim_path] + e_list
     result = subprocess.run(command, capture_output=True, text=True)
     output = result.stdout
     errors = result.stderr
diff --git a/visualizer/visualizer/SeabornPlotter.py b/visualizer/visualizer/SeabornPlotter.py
index eb39ac550ee68d4f54395d8c780374783d2f2585..47933001d6b83c7afadf96e24b3777760e723450 100644
--- a/visualizer/visualizer/SeabornPlotter.py
+++ b/visualizer/visualizer/SeabornPlotter.py
@@ -62,6 +62,7 @@ class SeabornPlotter:
         plt.plot(mean_x_values, mean_y_values, color='red', markersize=10, label='Mean')
 
         # Set axis labels and formatting
+        ax.set_ylim(1e-8, 1e1)
         ax.set_xscale('log')
         ax.set_yscale('log')
         ax.set_xlabel("Data size [Bytes]")