diff --git a/input_files/models/prosumer_models/building_types_aachen_2022/AC_0_PV8.0_STR/components.csv b/input_files/models/prosumer_models/building_types_aachen_2022/AC_0_PV8.0_STR/components.csv
new file mode 100644
index 0000000000000000000000000000000000000000..fa80863238b1447846bcfc54512805f0eee1e881
--- /dev/null
+++ b/input_files/models/prosumer_models/building_types_aachen_2022/AC_0_PV8.0_STR/components.csv
@@ -0,0 +1,7 @@
+name,name,type,model,min_size,max_size,current_size
+pv_roof,pv_roof,PVGenerator,PV2,7.5034625,7.5034625,0.0
+inv_pv,inv_pv,StaticInverter,INVPV,7.5034625,7.5034625,0.0
+battery,battery,LiionBattery,BAT1,0.0,1000.0,0.0
+grd,grd,ElectricalGrid,GRD1,1000000.0,1000000.0,0.0
+elec_cns,elec_cns,ElectricalConsumption,,,,
+inv_bat,inv_bat,StaticBiInverter,INVBAT,0.0,1000.0,0.0
diff --git a/input_files/models/prosumer_models/building_types_aachen_2022/AC_0_PV8.0_STR/config.csv b/input_files/models/prosumer_models/building_types_aachen_2022/AC_0_PV8.0_STR/config.csv
new file mode 100644
index 0000000000000000000000000000000000000000..975002f601d6d8a963e9a690004b4c7bdce2af41
--- /dev/null
+++ b/input_files/models/prosumer_models/building_types_aachen_2022/AC_0_PV8.0_STR/config.csv
@@ -0,0 +1,2 @@
+grd_injection_price,gas_grd_price,grd_price,gas_grd_injection_price,grd_emission,gas_grd_emission,yearly_interest,planning_horizon
+0.0793,0.0606,0.3046,0,0.401,0.21,0.03,20
diff --git a/input_files/models/prosumer_models/building_types_aachen_2022/AC_0_PV8.0_STR/connections.csv b/input_files/models/prosumer_models/building_types_aachen_2022/AC_0_PV8.0_STR/connections.csv
new file mode 100644
index 0000000000000000000000000000000000000000..20bc94fbda78a3c0da45c74f85f024f2d5c11f6c
--- /dev/null
+++ b/input_files/models/prosumer_models/building_types_aachen_2022/AC_0_PV8.0_STR/connections.csv
@@ -0,0 +1,11 @@
+,from,output,to,input
+0,pv_roof,1,inv_pv,1
+1,inv_pv,1,grd,1
+2,inv_pv,1,elec_cns,1
+3,inv_pv,1,battery,1
+4,battery,1,inv_bat,2
+5,grd,1,elec_cns,1
+6,grd,1,inv_bat,1
+7,inv_bat,2,battery,1
+8,inv_bat,1,grd,1
+9,inv_bat,1,elec_cns,1
diff --git a/input_files/models/prosumer_models/building_types_aachen_2022/A_16_PV9.0/components.csv b/input_files/models/prosumer_models/building_types_aachen_2022/A_16_PV9.0/components.csv
new file mode 100644
index 0000000000000000000000000000000000000000..765a12fcfc054af3ed0bf71b5a5b2ce06ad1abe7
--- /dev/null
+++ b/input_files/models/prosumer_models/building_types_aachen_2022/A_16_PV9.0/components.csv
@@ -0,0 +1,5 @@
+name,name,type,model,min_size,max_size,current_size
+pv_roof,pv_roof,PVGenerator,PV2,8.962421829,8.962421829,0.0
+inv_pv,inv_pv,StaticInverter,INVPV,8.962421829,8.962421829,0.0
+grd,grd,ElectricalGrid,GRD1,1000000.0,1000000.0,0.0
+elec_cns,elec_cns,ElectricalConsumption,,,,
diff --git a/input_files/models/prosumer_models/building_types_aachen_2022/A_16_PV9.0/config.csv b/input_files/models/prosumer_models/building_types_aachen_2022/A_16_PV9.0/config.csv
new file mode 100644
index 0000000000000000000000000000000000000000..975002f601d6d8a963e9a690004b4c7bdce2af41
--- /dev/null
+++ b/input_files/models/prosumer_models/building_types_aachen_2022/A_16_PV9.0/config.csv
@@ -0,0 +1,2 @@
+grd_injection_price,gas_grd_price,grd_price,gas_grd_injection_price,grd_emission,gas_grd_emission,yearly_interest,planning_horizon
+0.0793,0.0606,0.3046,0,0.401,0.21,0.03,20
diff --git a/input_files/models/prosumer_models/building_types_aachen_2022/A_16_PV9.0/connections.csv b/input_files/models/prosumer_models/building_types_aachen_2022/A_16_PV9.0/connections.csv
new file mode 100644
index 0000000000000000000000000000000000000000..5df171b0e146ce10a79a154df74058281102e152
--- /dev/null
+++ b/input_files/models/prosumer_models/building_types_aachen_2022/A_16_PV9.0/connections.csv
@@ -0,0 +1,9 @@
+,from,output,to,input
+0,pv_roof,1,inv_pv,1
+1,inv_pv,1,grd,1
+2,inv_pv,1,elec_cns,1
+3,inv_pv,1,battery,1
+5,grd,1,elec_cns,1
+6,grd,1,inv_bat,1
+
+
diff --git a/input_files/models/prosumer_models/building_types_aachen_2022/A_4_PV9.0_STR/components.csv b/input_files/models/prosumer_models/building_types_aachen_2022/A_4_PV9.0_STR/components.csv
new file mode 100644
index 0000000000000000000000000000000000000000..7ef9374f369594d93616b9ae20ea51da5adb54d7
--- /dev/null
+++ b/input_files/models/prosumer_models/building_types_aachen_2022/A_4_PV9.0_STR/components.csv
@@ -0,0 +1,7 @@
+name,name,type,model,min_size,max_size,current_size
+pv_roof,pv_roof,PVGenerator,PV2,8.962421829,8.962421829,0.0
+inv_pv,inv_pv,StaticInverter,INVPV,8.962421829,8.962421829,0.0
+grd,grd,ElectricalGrid,GRD1,1000000.0,1000000.0,0.0
+elec_cns,elec_cns,ElectricalConsumption,,,,
+inv_bat,inv_bat,StaticBiInverter,INVBAT,0.0,1000.0,0.0
+battery,battery,LiionBattery,BAT1,0.0,1000.0,0.0
diff --git a/input_files/models/prosumer_models/building_types_aachen_2022/A_4_PV9.0_STR/config.csv b/input_files/models/prosumer_models/building_types_aachen_2022/A_4_PV9.0_STR/config.csv
new file mode 100644
index 0000000000000000000000000000000000000000..975002f601d6d8a963e9a690004b4c7bdce2af41
--- /dev/null
+++ b/input_files/models/prosumer_models/building_types_aachen_2022/A_4_PV9.0_STR/config.csv
@@ -0,0 +1,2 @@
+grd_injection_price,gas_grd_price,grd_price,gas_grd_injection_price,grd_emission,gas_grd_emission,yearly_interest,planning_horizon
+0.0793,0.0606,0.3046,0,0.401,0.21,0.03,20
diff --git a/input_files/models/prosumer_models/building_types_aachen_2022/A_4_PV9.0_STR/connections.csv b/input_files/models/prosumer_models/building_types_aachen_2022/A_4_PV9.0_STR/connections.csv
new file mode 100644
index 0000000000000000000000000000000000000000..20bc94fbda78a3c0da45c74f85f024f2d5c11f6c
--- /dev/null
+++ b/input_files/models/prosumer_models/building_types_aachen_2022/A_4_PV9.0_STR/connections.csv
@@ -0,0 +1,11 @@
+,from,output,to,input
+0,pv_roof,1,inv_pv,1
+1,inv_pv,1,grd,1
+2,inv_pv,1,elec_cns,1
+3,inv_pv,1,battery,1
+4,battery,1,inv_bat,2
+5,grd,1,elec_cns,1
+6,grd,1,inv_bat,1
+7,inv_bat,2,battery,1
+8,inv_bat,1,grd,1
+9,inv_bat,1,elec_cns,1
diff --git a/runme.py b/runme.py
index e1040cc5defa87d13d64445d05667982dfa37908..67f2bbbabc71a2cb7d89a06c5c4c296229ff6d31 100644
--- a/runme.py
+++ b/runme.py
@@ -24,21 +24,31 @@ def extract_base_name(s):
 # Define a function to split strings and extract base names
 def extract_str_name(s):
     splits = s.split("_")
-    if len(splits) == 3 and 'STR' in splits[2]:  # only storage in prosumer  -> return original
-        return s
-    elif len(splits) == 3 and 'PV' in splits[2]:  # only pv in prosumer  --> add storage
+    if len(splits) == 3 and 'PV' in splits[2]:  # only PV in prosumer --> add storage
         return s + '_STR'
-    else:  # pv and storage in prosumer  --> return original
+    elif len(splits) == 3 and 'STR' in splits[2]:
+        if 'A_16' in s or 'A_4' in s or 'A_11 in s':  # only storage --> add PV
+            pv_size = str(9.0)
+        elif 'A_14' in s:
+            pv_size = str(10.0)
+        return splits[0] + "_" + splits[1] + "_PV" + pv_size + '_STR'
+    else:  # pv and storage already included
         return s
 
 
 # Define a function to split strings and extract base names
 def extract_pv_name(s):
     splits = s.split("_")
-    if len(splits) > 2 and 'PV' in splits[2]:  # only give back pv system
-        return splits[0] + "_" + splits[1] + "_" + splits[2]
-    else:  # there is a storage in the prosumer --> exclude it
-        return splits[0] + "_" + splits[1]
+    if len(splits) == 3 and 'PV' in splits[2]:  # only give back pv system
+        return s
+    elif len(splits) == 3 and 'STR' in splits[2]:
+        if 'A_16' in s or 'A_4' in s or 'A_11' in s: # only storage --> add PV
+            pv_size= str(9.0)
+        elif 'A_14' in s:
+            pv_size = str(10.0)
+        return splits[0] + "_" + splits[1] + "_PV" + pv_size
+    else:  # pv and storage already included
+        return s
 
 simulation_scope = SimulationScope.DISTRICT
 t_start = pd.Timestamp("2019-01-01 00:00:00") # start time of simulation