diff --git a/src/main/java/model/FireFighter.java b/src/main/java/model/FireFighter.java
index 96ccf72945b1500d319e723865aa3870ee105350..4b9866d7a9e3bd464100ae5825c0f21a2f2401c5 100644
--- a/src/main/java/model/FireFighter.java
+++ b/src/main/java/model/FireFighter.java
@@ -13,10 +13,10 @@ public class FireFighter {
 
     }
 
-    public void setFirefighterPositions(Position firefighterPositions) {
+    public void setFirefighterPosition(Position firefighterPositions) {
             this.firefighterPositions = firefighterPositions;
     }
-    public Position getFirefighterPositions() {
+    public Position getFirefighterPosition() {
         return firefighterPositions;
     }
 }
diff --git a/src/main/java/model/FirefighterBoard.java b/src/main/java/model/FirefighterBoard.java
index b0f46a915b51ad68f585dc6ca9dd830a6e9005e5..4c674b7a39c1e96868b79a39cc670e2bfd49bddb 100644
--- a/src/main/java/model/FirefighterBoard.java
+++ b/src/main/java/model/FirefighterBoard.java
@@ -1,6 +1,7 @@
 package model;
 
 import util.Position;
+import util.TargetStrategy;
 
 import java.util.*;
 
@@ -56,10 +57,12 @@ public class FirefighterBoard implements Board<List<ModelElement>> {
   public List<ModelElement> getState(Position position) {
     List<ModelElement> result = new ArrayList<>();
     for (FireFighter firefighter : firefighter)
-      if (firefighter.getFirefighterPositions().equals(position))
+      if (firefighter.getFirefighterPosition().equals(position))
         result.add(ModelElement.FIREFIGHTER);
-    if (fire.contains(position))
-      result.add(ModelElement.FIRE);
+
+    for (Fire fire: fire)
+      if (fire.getFirePositions().equals(position))
+       result.add(ModelElement.FIRE);
     return result;
   }
 
@@ -84,10 +87,12 @@ public class FirefighterBoard implements Board<List<ModelElement>> {
     List<Position> modifiedPositions = new ArrayList<>();
     if (step % 2 == 0) {
       List<Position> newFirePositions = new ArrayList<>();
-      for (Position fire : firePositions) {
+      for (Fire fire : fire) {
         newFirePositions.addAll(neighbors.get(fire));
       }
-      firePositions.addAll(newFirePositions);
+      for(Position position : newFirePositions) {
+        fire.add(new Fire(position));
+      }
       modifiedPositions.addAll(newFirePositions);
     }
     return modifiedPositions;
@@ -102,7 +107,7 @@ public class FirefighterBoard implements Board<List<ModelElement>> {
   private List<Position> updateFirefighters() {
     List<Position> modifiedPosition = new ArrayList<>();
     List<Position> firefighterNewPositions = new ArrayList<>();
-    for (Position firefighterPosition : firefighterPositions) {
+    for (FireFighter firefighterPosition : firefighter) {
       Position newFirefighterPosition =
               targetStrategy.neighborClosestToFire(firefighterPosition,
                       firePositions, neighbors);
diff --git a/src/main/java/util/TargetStrategy.java b/src/main/java/util/TargetStrategy.java
index 583186787d4d8d47173fbe61cc424f2f7ee384c9..071869cfe268ffb832b1568abaad12c2947f12e6 100644
--- a/src/main/java/util/TargetStrategy.java
+++ b/src/main/java/util/TargetStrategy.java
@@ -1,4 +1,4 @@
-package model;
+package util;
 
 import util.Position;