diff --git a/src/smart_grid/ModelState.hpp b/src/smart_grid/ModelState.hpp
index 5e72dd03a34526a591e4d2f7ae53cef7bc092d4a..9a4bd8fc2cd75f317d3d2803f04f2a59377f2e85 100644
--- a/src/smart_grid/ModelState.hpp
+++ b/src/smart_grid/ModelState.hpp
@@ -60,7 +60,7 @@ struct PowerUsage
 
 
 class StateLogger;
-class ModelState : Subject<StateLogger, ModelState>
+class ModelState : public Subject<StateLogger, ModelState>
 {
 public:
     ModelState(SmartGridModell &modell);
diff --git a/src/smg_server.cpp b/src/smg_server.cpp
index f7dfec4f441f08499aa83ce783ccd91c1e22059a..8c4cfcc71bdb1c0c0f5561c3508849bcf9d4f076 100644
--- a/src/smg_server.cpp
+++ b/src/smg_server.cpp
@@ -48,6 +48,8 @@ void run_sim()
 
     SmartGridModell modell{i2c_device};
     ModelState day{modell};
+    auto log = std::make_shared<StateLogger>();
+    day.attach(log);
 
     MainState main_state {MainState::Simulation};
     SimState sim_state {SimState::Entry};