diff --git a/execution/run_uc.py b/execution/run_uc.py
index 52112d859e7b308217ebd2731a8d8637b493ff94..0d7ca59ad23fac3c343cf2c6411716d7185cfcb5 100644
--- a/execution/run_uc.py
+++ b/execution/run_uc.py
@@ -24,7 +24,7 @@ def load_variables():
     parser = execution_parser(description='Run use case Programm')
     args = parser.parse_args()
     print(args)
-    if args.exp_id is None or args.uc is None or args.load is None or args.instances is None :
+    if args.exp_id is None or args.uc is None or args.load is None or args.instances is None:
         print('The options --exp-id, --uc, --load and --instances are mandatory.')
         print('Some might not be set!')
         sys.exit(1)
@@ -132,18 +132,20 @@ def start_workload_generator(wg_yaml, dim_value, uc_id):
 
     # Customize workload generator creations
     wg_yaml['spec']['replicas'] = wl_instances
-    # TODO: acces over name of container
     # Set used use case
-    wg_containter = wg_yaml['spec']['template']['spec']['containers'][0]
+    wg_containter = next(filter(
+        lambda x: x['name'] == 'workload-generator', wg_yaml['spec']['template']['spec']['containers']))
     wg_containter['image'] = 'theodolite/theodolite-uc' + uc_id + \
         '-workload-generator:latest'
-    # TODO: acces over name of attribute
     # Set environment variables
-    wg_containter['env'][0]['value'] = str(num_sensors)
-    wg_containter['env'][1]['value'] = str(wl_instances)
-    if uc_id == '2':  # Special configuration for uc2
-        wg_containter['env'][2]['value'] = str(num_nested_groups)
 
+    next(filter(lambda x: x['name'] == 'NUM_SENSORS', wg_containter['env']))[
+        'value'] = str(num_sensors)
+    next(filter(lambda x: x['name'] == 'INSTANCES', wg_containter['env']))[
+        'value'] = str(wl_instances)
+    if uc_id == '2':  # Special configuration for uc2
+        next(filter(lambda x: x['name'] == 'NUM_NESTED_GROUPS', wg_containter['env']))[
+            'value'] = str(num_nested_groups)
     try:
         wg_ss = appsApi.create_namespaced_deployment(
             namespace=namespace,
@@ -211,12 +213,12 @@ def start_application(svc_yaml, svc_monitor_yaml, jmx_yaml, deploy_yaml, instanc
 
     # Create deployment
     deploy_yaml['spec']['replicas'] = instances
-    # TODO: acces over name of container
-    app_container = deploy_yaml['spec']['template']['spec']['containers'][0]
+    app_container = next(filter(
+        lambda x: x['name'] == 'uc-application', deploy_yaml['spec']['template']['spec']['containers']))
     app_container['image'] = 'theodolite/theodolite-uc' + uc_id \
         + '-kstreams-app:latest'
-    # TODO: acces over name of attribute
-    app_container['env'][0]['value'] = str(commit_interval_ms)
+    next(filter(lambda x: x['name'] == 'COMMIT_INTERVAL_MS', app_container['env']))[
+        'value'] = str(commit_interval_ms)
     app_container['resources']['limits']['memory'] = memory_limit
     app_container['resources']['limits']['cpu'] = cpu_limit
     try:
@@ -403,12 +405,12 @@ def reset_zookeeper():
 
         # Check data is deleted
         client = stream(coreApi.connect_get_namespaced_pod_exec,
-                      "zookeeper-client",
-                      namespace,
-                      command=check_zoo_data_command,
-                      stderr=True, stdin=False,
-                      stdout=True, tty=False,
-                      _preload_content=False)  # Get client for returncode
+                        "zookeeper-client",
+                        namespace,
+                        command=check_zoo_data_command,
+                        stderr=True, stdin=False,
+                        stdout=True, tty=False,
+                        _preload_content=False)  # Get client for returncode
         client.run_forever(timeout=60)  # Start the client
 
         if client.returncode == 1:  # Means data not available anymore
@@ -429,11 +431,13 @@ def stop_lag_exporter():
 
     try:
         # Get lag exporter
-        pod_list = coreApi.list_namespaced_pod(namespace=namespace, label_selector='app.kubernetes.io/name=kafka-lag-exporter')
+        pod_list = coreApi.list_namespaced_pod(
+            namespace=namespace, label_selector='app.kubernetes.io/name=kafka-lag-exporter')
         lag_exporter_pod = pod_list.items[0].metadata.name
 
         # Delete lag exporter pod
-        res = coreApi.delete_namespaced_pod(name=lag_exporter_pod, namespace=namespace)
+        res = coreApi.delete_namespaced_pod(
+            name=lag_exporter_pod, namespace=namespace)
     except ApiException as e:
         logging.error('Exception while stopping lag exporter')
         logging.error(e)
@@ -523,7 +527,8 @@ def main(exp_id, uc_id, dim_value, instances, partitions, cpu_limit, memory_limi
     wait_execution(execution_minutes)
     print('---------------------')
 
-    run_evaluation(exp_id, uc_id, dim_value, instances, execution_minutes, prometheus_base_url)
+    run_evaluation(exp_id, uc_id, dim_value, instances,
+                   execution_minutes, prometheus_base_url)
     print('---------------------')
 
     # Reset cluster regular, therefore abort exit not needed anymore