diff --git a/set_up_default_resources.py b/set_up_default_resources.py
index 5ff829e..32c4506 100755
--- a/set_up_default_resources.py
+++ b/set_up_default_resources.py
@@ -204,18 +204,18 @@
     for i in range(len(strings_ids)):
         if config_name.startswith(strings_ids[i]):
             npu_config_id = config_name.replace(strings_ids[i], prefix_ids[i])
-            return  NPUConfig(config_name=config_name,
-                              memory_mode=memory_modes[i],
-                              system_config=system_configs[i],
-                              ethos_u_npu_id=processor_ids[i],
-                              ethos_u_config_id=npu_config_id,
-                              arena_cache_size=memory_modes_arena[memory_modes[i]])
+            return NPUConfig(config_name=config_name,
+                             memory_mode=memory_modes[i],
+                             system_config=system_configs[i],
+                             ethos_u_npu_id=processor_ids[i],
+                             ethos_u_config_id=npu_config_id,
+                             arena_cache_size=memory_modes_arena[memory_modes[i]])
 
     return None
 
 
 def set_up_resources(run_vela_on_models: bool = False,
-                     additional_npu_config_names: list = [],
+                     additional_npu_config_names: list = (),
                      arena_cache_size: int = 0):
     """
     Helpers function that retrieve the output from a command.
