diff --git a/src/main/java/model/FirefighterBoard.java b/src/main/java/model/FirefighterBoard.java
index 4c674b7a39c1e96868b79a39cc670e2bfd49bddb..92a18ec751b61455a7c3c89eb517caeda4e72e87 100644
--- a/src/main/java/model/FirefighterBoard.java
+++ b/src/main/java/model/FirefighterBoard.java
@@ -113,7 +113,7 @@ public class FirefighterBoard implements Board<List<ModelElement>> {
                       firePositions, neighbors);
       firefighterNewPositions.add(newFirefighterPosition);
       extinguish(newFirefighterPosition);
-      modifiedPosition.add(firefighterPosition);
+      modifiedPosition.add(firefighterPosition.getFirefighterPosition());
       modifiedPosition.add(newFirefighterPosition);
       List<Position> neighborFirePositions = neighbors.get(newFirefighterPosition).stream()
               .filter(firePositions::contains).toList();
@@ -132,20 +132,20 @@ public class FirefighterBoard implements Board<List<ModelElement>> {
   }
 
   private void extinguish(Position position) {
-    firePositions.remove(position);
+    fire.remove(position);
   }
 
 
   @Override
   public void setState(List<ModelElement> state, Position position) {
-    firePositions.remove(position);
+    extinguish(position);
     for (; ; ) {
-      if (!firefighterPositions.remove(position)) break;
+      if (!firefighterPostion.remove(position)) break;
     }
     for (ModelElement element : state) {
       switch (element) {
-        case FIRE -> firePositions.add(position);
-        case FIREFIGHTER -> firefighterPositions.add(position);
+        case FIRE -> fire.add(new Fire(position));
+        case FIREFIGHTER -> firefighter.add(new FireFighter(position));
       }
     }
   }