diff --git a/component/adapter.py b/component/adapter.py
index 494e8c721fdbd37332e16f79633cc8f4cd2b42f7..50d9ed2ac578d611828f5ace486443ab827cb0b5 100644
--- a/component/adapter.py
+++ b/component/adapter.py
@@ -28,14 +28,14 @@ from Model_Library.component.core import (
     ComponentCommodity,
     ComponentKind,
 )
-from Model_Library.dynamics import resample, resample_variable
+from Model_Library.dynamics import resample_variable
 from Model_Library.optimization_model import VariableKind
 
 import pyomo.environ as pyo
 
 
 class AssetAdapter(AbstractComponent):
-    def __init__(self, name, configuration, dynamic, assets):
+    def __init__(self, name, configuration, assets):
         self.asset = assets[configuration["asset"]]
         self.grid = self.asset._components[configuration["grid"]]
 
@@ -47,7 +47,6 @@ class AssetAdapter(AbstractComponent):
             commodity_4=None,
             configuration=configuration,
             capacity=ComponentCapacity.NONE,
-            dynamic=dynamic,
         )
 
         self.commodity = self.grid.commodity
@@ -100,7 +99,7 @@ class AssetAdapter(AbstractComponent):
 
 
 class MemberAdapter(AbstractComponent):
-    def __init__(self, name, configuration, dynamic, members):
+    def __init__(self, name, configuration, members):
         self.member = members[configuration["member"]]
         self.grid = self.member._components[configuration["grid"]]
 
@@ -112,7 +111,6 @@ class MemberAdapter(AbstractComponent):
             commodity_4=None,
             configuration=configuration,
             capacity=ComponentCapacity.NONE,
-            dynamic=dynamic,
         )
 
         self.commodity = self.grid.commodity
diff --git a/component/cold.py b/component/cold.py
index 5e1a3bbf22d6d50e892843329592c862adcd6be9..3915f068e9136b1dd808133a5046513deaaa8f27 100644
--- a/component/cold.py
+++ b/component/cold.py
@@ -31,7 +31,7 @@ from Model_Library.component.core import (
 
 
 class AbsorptionChiller(BaseComponent):
-    def __init__(self, name, configuration, dynamic):
+    def __init__(self, name, configuration):
         super().__init__(
             name=name,
             commodity_1=ComponentCommodity.HEAT,
@@ -39,12 +39,11 @@ class AbsorptionChiller(BaseComponent):
             commodity_3=ComponentCommodity.COLD,
             commodity_4=None,
             configuration=configuration,
-            dynamic=dynamic,
         )
 
 
 class CompressorChiller(BaseComponent):
-    def __init__(self, name, configuration, dynamic):
+    def __init__(self, name, configuration):
         super().__init__(
             name=name,
             commodity_1=ComponentCommodity.ELECTRICITY,
@@ -52,25 +51,18 @@ class CompressorChiller(BaseComponent):
             commodity_3=ComponentCommodity.COLD,
             commodity_4=None,
             configuration=configuration,
-            dynamic=dynamic,
         )
 
 
 class ColdConsumption(BaseConsumption):
-    def __init__(self, name, configuration, dynamic):
+    def __init__(self, name, configuration):
         super().__init__(
-            name=name,
-            commodity=ComponentCommodity.COLD,
-            configuration=configuration,
-            dynamic=dynamic,
+            name=name, commodity=ComponentCommodity.COLD, configuration=configuration
         )
 
 
 class ColdGrid(BaseGrid):
-    def __init__(self, name, configuration, dynamic):
+    def __init__(self, name, configuration):
         super().__init__(
-            name=name,
-            commodity=ComponentCommodity.COLD,
-            configuration=configuration,
-            dynamic=dynamic,
+            name=name, commodity=ComponentCommodity.COLD, configuration=configuration
         )
diff --git a/component/core.py b/component/core.py
index c138fdc8433c5ccc41dffd391365219996c595dc..4b56d4725be01b92c35af796dcdb4b1b2480a01e 100644
--- a/component/core.py
+++ b/component/core.py
@@ -69,7 +69,6 @@ class AbstractComponent:
         commodity_4,
         configuration,
         capacity,
-        dynamic,
     ):
         self.name = name
         self.input_commodity_1 = commodity_1
@@ -113,8 +112,6 @@ class AbstractComponent:
                 "factor_effort_maintenance_operation", 0
             )
 
-        self.dynamic = dynamic
-
         if configuration is not None and "additional_model_logic" in configuration:
             self.additional_model_logic = configuration["additional_model_logic"]
         else:
@@ -301,7 +298,7 @@ class AbstractComponent:
 
 
 class BaseBusBar(AbstractComponent):
-    def __init__(self, name, commodity, dynamic):
+    def __init__(self, name, commodity):
         super().__init__(
             name=name,
             commodity_1=commodity,
@@ -310,11 +307,8 @@ class BaseBusBar(AbstractComponent):
             commodity_4=None,
             configuration=None,
             capacity=ComponentCapacity.NONE,
-            dynamic=dynamic,
         )
 
-        self.dynamic = dynamic
-
     def match(self, kind=ComponentKind.ALL, commodity=ComponentCommodity.ALL):
         match_kind = kind == ComponentKind.ALL or kind == ComponentKind.BUSBAR
         match_commodity = (
@@ -345,14 +339,7 @@ class BaseBusBar(AbstractComponent):
 
 class BaseComponent(AbstractComponent):
     def __init__(
-        self,
-        name,
-        commodity_1,
-        commodity_2,
-        commodity_3,
-        commodity_4,
-        configuration,
-        dynamic,
+        self, name, commodity_1, commodity_2, commodity_3, commodity_4, configuration
     ):
         super().__init__(
             name=name,
@@ -362,7 +349,6 @@ class BaseComponent(AbstractComponent):
             commodity_4=commodity_4,
             configuration=configuration,
             capacity=ComponentCapacity.REQUIRED,
-            dynamic=dynamic,
         )
 
         self._setup_conversions(configuration)
@@ -520,7 +506,7 @@ class BaseComponent(AbstractComponent):
 
 
 class BaseConsumption(AbstractComponent):
-    def __init__(self, name, commodity, configuration, dynamic):
+    def __init__(self, name, commodity, configuration):
         super().__init__(
             name=name,
             commodity_1=commodity,
@@ -529,12 +515,11 @@ class BaseConsumption(AbstractComponent):
             commodity_4=None,
             configuration=configuration,
             capacity=ComponentCapacity.NONE,
-            dynamic=dynamic,
         )
 
         self.commodity = commodity
 
-        self.consumption = configuration["consumption"].resample(dynamic)
+        self.consumption = configuration["consumption"]
 
     def match(self, kind=ComponentKind.ALL, commodity=ComponentCommodity.ALL):
         match_kind = kind == ComponentKind.ALL or kind == ComponentKind.CONSUMPTION
@@ -563,7 +548,7 @@ class BaseConsumption(AbstractComponent):
 
 
 class BaseGeneration(AbstractComponent):
-    def __init__(self, name, commodity, configuration, dynamic):
+    def __init__(self, name, commodity, configuration):
         super().__init__(
             name=name,
             commodity_1=None,
@@ -572,12 +557,11 @@ class BaseGeneration(AbstractComponent):
             commodity_4=None,
             configuration=configuration,
             capacity=ComponentCapacity.NONE,
-            dynamic=dynamic,
         )
 
         self.commodity = commodity
 
-        self.generation = configuration["generation"].resample(dynamic)
+        self.generation = configuration["generation"]
 
     def match(self, kind=ComponentKind.ALL, commodity=ComponentCommodity.ALL):
         match_kind = kind == ComponentKind.ALL or kind == ComponentKind.GENERATION
@@ -606,7 +590,7 @@ class BaseGeneration(AbstractComponent):
 
 
 class BaseGrid(AbstractComponent):
-    def __init__(self, name, commodity, configuration, dynamic):
+    def __init__(self, name, commodity, configuration):
         super().__init__(
             name=name,
             commodity_1=commodity,
@@ -615,25 +599,16 @@ class BaseGrid(AbstractComponent):
             commodity_4=None,
             configuration=configuration,
             capacity=ComponentCapacity.OPTIONAL,
-            dynamic=dynamic,
         )
 
         self.commodity = commodity
 
         if "price" in configuration:
-            if isinstance(configuration["price"], (int, float)):
-                self.price = configuration["price"]
-            else:
-                self.price = configuration["price"].resample(dynamic)
+            self.price = configuration["price"]
         else:
             self.price = 0
         if "injection_price" in configuration:
-            if isinstance(configuration["injection_price"], (int, float)):
-                self.injection_price = configuration["injection_price"]
-            else:
-                self.injection_price = configuration["injection_price"].resample(
-                    dynamic
-                )
+            self.injection_price = configuration["injection_price"]
         else:
             self.injection_price = 0
         if "peak_power_cost" in configuration:
@@ -641,10 +616,7 @@ class BaseGrid(AbstractComponent):
         else:
             self.peak_power_cost_ = 0
         if "co2_emissions" in configuration:
-            if isinstance(configuration["co2_emissions"], (int, float)):
-                self.co2_emissions_ = configuration["co2_emissions"]
-            else:
-                self.co2_emissions_ = configuration["co2_emissions"].resample(dynamic)
+            self.co2_emissions_ = configuration["co2_emissions"]
         else:
             self.co2_emissions_ = 0
 
@@ -737,7 +709,7 @@ class BaseGrid(AbstractComponent):
 
 
 class BaseStorage(AbstractComponent):
-    def __init__(self, name, commodity, configuration, dynamic):
+    def __init__(self, name, commodity, configuration):
         super().__init__(
             name=name,
             commodity_1=commodity,
@@ -746,7 +718,6 @@ class BaseStorage(AbstractComponent):
             commodity_4=None,
             configuration=configuration,
             capacity=ComponentCapacity.REQUIRED,
-            dynamic=dynamic,
         )
 
         self.commodity = commodity
diff --git a/component/electricity.py b/component/electricity.py
index e97207ed0a4b65cad331ee3b3c79bd28d7e39874..00b4c396c4c82b8464f6274097932d261e130b85 100644
--- a/component/electricity.py
+++ b/component/electricity.py
@@ -38,14 +38,12 @@ import pyomo.environ as pyo
 
 
 class ElectricalBusBar(BaseBusBar):
-    def __init__(self, name, configuration, dynamic):
-        super().__init__(
-            name=name, commodity=ComponentCommodity.ELECTRICITY, dynamic=dynamic
-        )
+    def __init__(self, name, configuration):
+        super().__init__(name=name, commodity=ComponentCommodity.ELECTRICITY)
 
 
 class BiPowerElectronic(BaseComponent):
-    def __init__(self, name, configuration, dynamic):
+    def __init__(self, name, configuration):
         super().__init__(
             name=name,
             commodity_1=ComponentCommodity.ELECTRICITY,
@@ -53,7 +51,6 @@ class BiPowerElectronic(BaseComponent):
             commodity_3=ComponentCommodity.ELECTRICITY,
             commodity_4=ComponentCommodity.ELECTRICITY,
             configuration=configuration,
-            dynamic=dynamic,
         )
 
     def _load_conversions(self, configuration):
@@ -76,7 +73,7 @@ class BiPowerElectronic(BaseComponent):
 
 
 class PowerElectronic(BaseComponent):
-    def __init__(self, name, configuration, dynamic):
+    def __init__(self, name, configuration):
         super().__init__(
             name=name,
             commodity_1=ComponentCommodity.ELECTRICITY,
@@ -84,7 +81,6 @@ class PowerElectronic(BaseComponent):
             commodity_3=ComponentCommodity.ELECTRICITY,
             commodity_4=None,
             configuration=configuration,
-            dynamic=dynamic,
         )
 
     def _load_conversions(self, configuration):
@@ -102,7 +98,7 @@ class PowerElectronic(BaseComponent):
 
 
 class PVGenerator(BaseComponent):
-    def __init__(self, name, configuration, dynamic):
+    def __init__(self, name, configuration):
         super().__init__(
             name=name,
             commodity_1=None,
@@ -110,15 +106,14 @@ class PVGenerator(BaseComponent):
             commodity_3=ComponentCommodity.ELECTRICITY,
             commodity_4=None,
             configuration=configuration,
-            dynamic=dynamic,
         )
 
         if "irradiance" in configuration:
-            self.irradiance = configuration["irradiance"].resample(dynamic)
+            self.irradiance = configuration["irradiance"]
         if "temperature" in configuration:
-            self.temperature = configuration["temperature"].resample(dynamic)
+            self.temperature = configuration["temperature"]
         if "power_factors" in configuration:
-            self.power_factors = configuration["power_factors"].resample(dynamic)
+            self.power_factors = configuration["power_factors"]
 
     def _setup_conversions(self, configuration):
         with open(configuration["model"]) as f:
@@ -155,40 +150,36 @@ class PVGenerator(BaseComponent):
 
 
 class ElectricalConsumption(BaseConsumption):
-    def __init__(self, name, configuration, dynamic):
+    def __init__(self, name, configuration):
         super().__init__(
             name=name,
             commodity=ComponentCommodity.ELECTRICITY,
             configuration=configuration,
-            dynamic=dynamic,
         )
 
 
 class ElectricalGeneration(BaseGeneration):
-    def __init__(self, name, configuration, dynamic):
+    def __init__(self, name, configuration):
         super().__init__(
             name=name,
             commodity=ComponentCommodity.ELECTRICITY,
             configuration=configuration,
-            dynamic=dynamic,
         )
 
 
 class ElectricalGrid(BaseGrid):
-    def __init__(self, name, configuration, dynamic):
+    def __init__(self, name, configuration):
         super().__init__(
             name=name,
             commodity=ComponentCommodity.ELECTRICITY,
             configuration=configuration,
-            dynamic=dynamic,
         )
 
 
 class Battery(BaseStorage):
-    def __init__(self, name, configuration, dynamic):
+    def __init__(self, name, configuration):
         super().__init__(
             name=name,
             commodity=ComponentCommodity.ELECTRICITY,
             configuration=configuration,
-            dynamic=dynamic,
         )
diff --git a/component/gas.py b/component/gas.py
index 8793cebe14825433c50bd5a8e48d9a41e57bcef3..e191ce2006d834a40031704c2a4dd33309ec2630 100644
--- a/component/gas.py
+++ b/component/gas.py
@@ -26,7 +26,7 @@ from Model_Library.component.core import BaseComponent, BaseGrid, ComponentCommo
 
 
 class CHP(BaseComponent):
-    def __init__(self, name, configuration, dynamic):
+    def __init__(self, name, configuration):
         super().__init__(
             name=name,
             commodity_1=ComponentCommodity.GAS,
@@ -34,7 +34,6 @@ class CHP(BaseComponent):
             commodity_3=ComponentCommodity.ELECTRICITY,
             commodity_4=ComponentCommodity.HEAT,
             configuration=configuration,
-            dynamic=dynamic,
         )
 
     def _load_conversions(self, configuration):
@@ -56,10 +55,7 @@ class CHP(BaseComponent):
 
 
 class GasGrid(BaseGrid):
-    def __init__(self, name, configuration, dynamic):
+    def __init__(self, name, configuration):
         super().__init__(
-            name=name,
-            commodity=ComponentCommodity.GAS,
-            configuration=configuration,
-            dynamic=dynamic,
+            name=name, commodity=ComponentCommodity.GAS, configuration=configuration
         )
diff --git a/component/heat.py b/component/heat.py
index 56ea9c922be4b3ea97693dbb1b8cf0ad778105d9..68cec38ce80b1b1470748c84b80dd6c8123af53a 100644
--- a/component/heat.py
+++ b/component/heat.py
@@ -35,7 +35,7 @@ import pyomo.environ as pyo
 
 
 class ElectricBoiler(BaseComponent):
-    def __init__(self, name, configuration, dynamic):
+    def __init__(self, name, configuration):
         super().__init__(
             name=name,
             commodity_1=ComponentCommodity.ELECTRICITY,
@@ -43,12 +43,11 @@ class ElectricBoiler(BaseComponent):
             commodity_3=ComponentCommodity.HEAT,
             commodity_4=None,
             configuration=configuration,
-            dynamic=dynamic,
         )
 
 
 class GasBoiler(BaseComponent):
-    def __init__(self, name, configuration, dynamic):
+    def __init__(self, name, configuration):
         super().__init__(
             name=name,
             commodity_1=ComponentCommodity.GAS,
@@ -56,12 +55,11 @@ class GasBoiler(BaseComponent):
             commodity_3=ComponentCommodity.HEAT,
             commodity_4=None,
             configuration=configuration,
-            dynamic=dynamic,
         )
 
 
 class GasHeatPump(BaseComponent):
-    def __init__(self, name, configuration, dynamic):
+    def __init__(self, name, configuration):
         super().__init__(
             name=name,
             commodity_1=ComponentCommodity.GAS,
@@ -69,12 +67,11 @@ class GasHeatPump(BaseComponent):
             commodity_3=ComponentCommodity.HEAT,
             commodity_4=None,
             configuration=configuration,
-            dynamic=dynamic,
         )
 
 
 class HeatExchanger(BaseComponent):
-    def __init__(self, name, configuration, dynamic):
+    def __init__(self, name, configuration):
         super().__init__(
             name=name,
             commodity_1=ComponentCommodity.HEAT,
@@ -82,12 +79,11 @@ class HeatExchanger(BaseComponent):
             commodity_3=ComponentCommodity.HEAT,
             commodity_4=None,
             configuration=configuration,
-            dynamic=dynamic,
         )
 
 
 class HeatPump(BaseComponent):
-    def __init__(self, name, configuration, dynamic):
+    def __init__(self, name, configuration):
         super().__init__(
             name=name,
             commodity_1=ComponentCommodity.ELECTRICITY,
@@ -95,13 +91,12 @@ class HeatPump(BaseComponent):
             commodity_3=ComponentCommodity.HEAT,
             commodity_4=None,
             configuration=configuration,
-            dynamic=dynamic,
         )
 
     def _load_conversions(self, configuration):
         efficiency = configuration["efficiency"]
 
-        temperature = configuration["temperature"].resample(self.dynamic).values
+        temperature = configuration["temperature"].values
         set_temperature = 40.0
         cop = (set_temperature + 273.15) / (set_temperature - temperature) * efficiency
 
@@ -112,7 +107,7 @@ class HeatPump(BaseComponent):
 
 
 class SolarThermalCollector(BaseComponent):
-    def __init__(self, name, configuration, dynamic):
+    def __init__(self, name, configuration):
         super().__init__(
             name=name,
             commodity_1=None,
@@ -120,10 +115,9 @@ class SolarThermalCollector(BaseComponent):
             commodity_3=ComponentCommodity.HEAT,
             commodity_4=None,
             configuration=configuration,
-            dynamic=dynamic,
         )
 
-        self.irradiance = configuration["irradiance"].resample(dynamic)
+        self.irradiance = configuration["irradiance"]
 
     def _setup_conversions(self, configuration):
         self.operational_variables = [(self.name + ".output_1", VariableKind.INDEXED)]
@@ -146,30 +140,21 @@ class SolarThermalCollector(BaseComponent):
 
 
 class HotWaterConsumption(BaseConsumption):
-    def __init__(self, name, configuration, dynamic):
+    def __init__(self, name, configuration):
         super().__init__(
-            name=name,
-            commodity=ComponentCommodity.HEAT,
-            configuration=configuration,
-            dynamic=dynamic,
+            name=name, commodity=ComponentCommodity.HEAT, configuration=configuration
         )
 
 
 class HeatGrid(BaseGrid):
-    def __init__(self, name, configuration, dynamic):
+    def __init__(self, name, configuration):
         super().__init__(
-            name=name,
-            commodity=ComponentCommodity.HEAT,
-            configuration=configuration,
-            dynamic=dynamic,
+            name=name, commodity=ComponentCommodity.HEAT, configuration=configuration
         )
 
 
 class HeatStorage(BaseStorage):
-    def __init__(self, name, configuration, dynamic):
+    def __init__(self, name, configuration):
         super().__init__(
-            name=name,
-            commodity=ComponentCommodity.HEAT,
-            configuration=configuration,
-            dynamic=dynamic,
+            name=name, commodity=ComponentCommodity.HEAT, configuration=configuration
         )
diff --git a/component/hydrogen.py b/component/hydrogen.py
index 493c5effce569b384ae59e2a3d8ffd791740abcf..25315ab707a1dddc33b8224603283b53b340eed2 100644
--- a/component/hydrogen.py
+++ b/component/hydrogen.py
@@ -26,7 +26,7 @@ from Model_Library.component.core import BaseComponent, BaseStorage, ComponentCo
 
 
 class Electrolyzer(BaseComponent):
-    def __init__(self, name, configuration, dynamic):
+    def __init__(self, name, configuration):
         super().__init__(
             name=name,
             commodity_1=ComponentCommodity.ELECTRICITY,
@@ -34,7 +34,6 @@ class Electrolyzer(BaseComponent):
             commodity_3=ComponentCommodity.HYDROGEN,
             commodity_4=None,
             configuration=configuration,
-            dynamic=dynamic,
         )
 
     def _load_conversions(self, configuration):
@@ -47,7 +46,7 @@ class Electrolyzer(BaseComponent):
 
 
 class FuelCell(BaseComponent):
-    def __init__(self, name, configuration, dynamic):
+    def __init__(self, name, configuration):
         super().__init__(
             name=name,
             commodity_1=ComponentCommodity.HYDROGEN,
@@ -55,7 +54,6 @@ class FuelCell(BaseComponent):
             commodity_3=ComponentCommodity.ELECTRICITY,
             commodity_4=ComponentCommodity.HEAT,
             configuration=configuration,
-            dynamic=dynamic,
         )
 
     def _load_conversions(self, configuration):
@@ -77,7 +75,7 @@ class FuelCell(BaseComponent):
 
 
 class HydrogenStorage(BaseStorage):
-    def __init__(self, name, configuration, dynamic):
+    def __init__(self, name, configuration):
         super().__init__(
             name=name,
             commodity=ComponentCommodity.HYDROGEN,
diff --git a/component/space_heat.py b/component/space_heat.py
index f6e85c2567eba471eea69ceda399477b84d7e08e..486bdbea4403e0ff1bf6d9b418e48fcbd6384f61 100644
--- a/component/space_heat.py
+++ b/component/space_heat.py
@@ -30,7 +30,7 @@ from Model_Library.component.core import (
 
 
 class ElectricRadiator(BaseComponent):
-    def __init__(self, name, configuration, dynamic):
+    def __init__(self, name, configuration):
         super().__init__(
             name=name,
             commodity_1=ComponentCommodity.ELECTRICITY,
@@ -38,12 +38,11 @@ class ElectricRadiator(BaseComponent):
             commodity_3=ComponentCommodity.SPACE_HEAT,
             commodity_4=None,
             configuration=configuration,
-            dynamic=dynamic,
         )
 
 
 class Radiator(BaseComponent):
-    def __init__(self, name, configuration, dynamic):
+    def __init__(self, name, configuration):
         super().__init__(
             name=name,
             commodity_1=ComponentCommodity.HEAT,
@@ -51,15 +50,13 @@ class Radiator(BaseComponent):
             commodity_3=ComponentCommodity.SPACE_HEAT,
             commodity_4=None,
             configuration=configuration,
-            dynamic=dynamic,
         )
 
 
 class HeatConsumption(BaseConsumption):
-    def __init__(self, name, configuration, dynamic):
+    def __init__(self, name, configuration):
         super().__init__(
             name=name,
             commodity=ComponentCommodity.SPACE_HEAT,
             configuration=configuration,
-            dynamic=dynamic,
         )
diff --git a/topology.py b/topology.py
index 37d67c2cc8fc5aefbcacfe4fbdc0c7ffe0d79897..798bda3ae2fcc7b25fffd069b1399fa9ad12096b 100644
--- a/topology.py
+++ b/topology.py
@@ -83,7 +83,7 @@ class SumConnection:
 
 
 class Topology:
-    def __init__(self, name, configuration, members, assets, dynamic):
+    def __init__(self, name, configuration, members, assets):
         self._name = name
         self._members = members
         self._assets = assets
@@ -97,15 +97,15 @@ class Topology:
             component_type = component_configuration["type"]
             if component_type == "MemberAdapter":
                 component = component_library[component_type](
-                    component_name, component_configuration, dynamic, members
+                    component_name, component_configuration, members
                 )
             elif component_type == "AssetAdapter":
                 component = component_library[component_type](
-                    component_name, component_configuration, dynamic, assets
+                    component_name, component_configuration, assets
                 )
             else:
                 component = component_library[component_type](
-                    component_name, component_configuration, dynamic
+                    component_name, component_configuration
                 )
             self._components[component_name] = component
 
@@ -209,8 +209,6 @@ class Topology:
                     connector.flows[0] = connector.name
                     other_side.replace_flow(flow_to_remove, connector.name)
 
-        self._dynamic = dynamic
-
         if "additional_model_logic" in configuration:
             self._additional_model_logic = configuration["additional_model_logic"]
         else:
@@ -241,8 +239,8 @@ class Topology:
             if component.match(kind=kind, commodity=commodity)
         )
 
-    def optimize(self, key, strategy):
-        model = self.build_model(self._dynamic, strategy)
+    def optimize(self, key, dynamic, strategy):
+        model = self.build_model(dynamic, strategy)
 
         options = dict()
         options["MIPGap"] = 0.01
@@ -254,24 +252,24 @@ class Topology:
         if not model.is_ok():
             raise RuntimeError("Model is infeasible or unbounded!")
 
-        self.create_empty_entity_result(key, self._dynamic)
+        self.create_empty_entity_result(key, dynamic)
 
         self.extract_result(model, key)
 
     def build_model(self, dynamic, strategy):
         model = OptimizationModel(self._name, dynamic)
 
-        self.fill_block(model, strategy)
+        self.fill_block(model, dynamic, strategy)
 
         model.collect_objectives()
 
         return model
 
-    def fill_block(self, block, strategy):
+    def fill_block(self, block, dynamic, strategy):
         for asset in self._assets.values():
-            asset_block = OptimizationBlock(asset._name, asset._dynamic)
+            asset_block = OptimizationBlock(asset._name, dynamic)
             block.add(asset._name, asset_block)
-            asset.fill_block(asset_block, strategy)
+            asset.fill_block(asset_block, dynamic, strategy)
 
         if strategy is None:
             objectives = {"objective": []}
@@ -586,25 +584,25 @@ class Topology:
 
 
 class Prosumer(Topology):
-    def __init__(self, name, configuration, dynamic):
-        super().__init__(name, configuration, dict(), dict(), dynamic)
+    def __init__(self, name, configuration):
+        super().__init__(name, configuration, dict(), dict())
 
 
 class DistrictAsset(Topology):
-    def __init__(self, name, configuration, dynamic):
-        super().__init__(name, configuration, dict(), dict(), dynamic)
+    def __init__(self, name, configuration):
+        super().__init__(name, configuration, dict(), dict())
 
 
 class District(Topology):
-    def __init__(self, name, configuration, prosumers, district_assets, dynamic):
-        super().__init__(name, configuration, prosumers, district_assets, dynamic)
+    def __init__(self, name, configuration, prosumers, district_assets):
+        super().__init__(name, configuration, prosumers, district_assets)
 
 
 class CityAsset(Topology):
-    def __init__(self, name, configuration, dynamic):
-        super().__init__(name, configuration, dict(), dict(), dynamic)
+    def __init__(self, name, configuration):
+        super().__init__(name, configuration, dict(), dict())
 
 
 class City(Topology):
-    def __init__(self, name, configuration, districts, city_assets, dynamic):
-        super().__init__(name, configuration, districts, city_assets, dynamic)
+    def __init__(self, name, configuration, districts, city_assets):
+        super().__init__(name, configuration, districts, city_assets)