diff --git a/.gradle/8.4/executionHistory/executionHistory.bin b/.gradle/8.4/executionHistory/executionHistory.bin
index 081f2727a4b72073919321bcc6c20e24f4f173c9..f84ef8498b8b5049936eb04fec700633f625bc0b 100644
Binary files a/.gradle/8.4/executionHistory/executionHistory.bin and b/.gradle/8.4/executionHistory/executionHistory.bin differ
diff --git a/.gradle/8.4/executionHistory/executionHistory.lock b/.gradle/8.4/executionHistory/executionHistory.lock
index 19d069dc1bb8acfdd4ceb1c9555c46f0c800308d..584c58c264ded8a4cc878c1ef260c758712aa6bc 100644
Binary files a/.gradle/8.4/executionHistory/executionHistory.lock and b/.gradle/8.4/executionHistory/executionHistory.lock differ
diff --git a/.gradle/8.4/fileHashes/fileHashes.bin b/.gradle/8.4/fileHashes/fileHashes.bin
index c9a08a77d62dd366ea28a84b10887c3805d1861e..29043a2bc1179d522a50cf9b909ae36f711ce3eb 100644
Binary files a/.gradle/8.4/fileHashes/fileHashes.bin and b/.gradle/8.4/fileHashes/fileHashes.bin differ
diff --git a/.gradle/8.4/fileHashes/fileHashes.lock b/.gradle/8.4/fileHashes/fileHashes.lock
index 6a377ff71b33b12ad96936f7c7774a09f9f0bec6..797f7ce222793c73535024fee2ac478c8740e1d0 100644
Binary files a/.gradle/8.4/fileHashes/fileHashes.lock and b/.gradle/8.4/fileHashes/fileHashes.lock differ
diff --git a/.gradle/8.4/fileHashes/resourceHashesCache.bin b/.gradle/8.4/fileHashes/resourceHashesCache.bin
index 43e6b8fe7daa35a36ad8ffdc44fda913b9a1c3c4..0299e170bd1a58c6114ddd2a115bcc7b95cf1738 100644
Binary files a/.gradle/8.4/fileHashes/resourceHashesCache.bin and b/.gradle/8.4/fileHashes/resourceHashesCache.bin differ
diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock
index 3c1b49a3a3c7cef009c40d886fcf5344a686328a..8f4c4f8be1eafa911e0b426006694127242ebc78 100644
Binary files a/.gradle/buildOutputCleanup/buildOutputCleanup.lock and b/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ
diff --git a/build/tmp/compileJava/previous-compilation-data.bin b/build/tmp/compileJava/previous-compilation-data.bin
index 93d41b69789889bb0071a5ebfdf757a3f009a5f5..9f40e871db1454f66acd6b65c95c2a1c341f8807 100644
Binary files a/build/tmp/compileJava/previous-compilation-data.bin and b/build/tmp/compileJava/previous-compilation-data.bin differ
diff --git a/src/main/java/model/ModelElement.java b/src/main/java/model/ModelElement.java
index 2b2122b19bf0480928820f9e0ba4ebb5b73fd230..fa0297c53fa8e6c9d2f87bcfa835e466980fb715 100644
--- a/src/main/java/model/ModelElement.java
+++ b/src/main/java/model/ModelElement.java
@@ -2,5 +2,5 @@ package model;
 
 //this class represents two types of constant Firefighter or fire
 public enum ModelElement {
-  FIREFIGHTER, FIRE
+  FIREFIGHTER, FIRE ,
 }
diff --git a/src/main/java/newmodel/Fboard.java b/src/main/java/newmodel/Fboard.java
index e62afa5372a93cd3cdaab205eca9f0c8da7441b1..853728fe44364c439e42b15c9af5395c70f32310 100644
--- a/src/main/java/newmodel/Fboard.java
+++ b/src/main/java/newmodel/Fboard.java
@@ -1,7 +1,7 @@
 package newmodel;
-
 import model.ModelElement;
 import util.Position;
+import view.ViewElement;
 
 import java.util.*;
 
@@ -31,12 +31,12 @@ public class Fboard {
     public List<Position> updateToNextGeneration() {
         List<Position> result = new ArrayList<>();
         for(item item : items){
-            if(item.getID()==1){
+            if(item.getID()==1 && step % 2 ==0){
                 result.addAll(item.update(this));
             }
         }
         for(item item : items){
-            if(item.getID()==0 && step % 2 ==0){
+            if(item.getID()==0){
                 result.addAll(item.update(this));
             }
         }
@@ -53,12 +53,12 @@ public class Fboard {
     }
     public void initializeElements() {
         for(item e: items) {
-            if(e.getID()==0){
+            if(e.getID()==1){
               e.initialize();
             }
         }
         for(item e:items){
-            if(e.getID()==1){
+            if(e.getID()==0){
                 e.initialize();
             }
         }
@@ -67,7 +67,7 @@ public class Fboard {
     public Fire getFire() {
         Fire x = null;
         for (item e : items) {
-            if (e.getID() == 0) {
+            if (e.getID() == 1) {
                 x = (Fire) e;
                 break;
             }
@@ -86,7 +86,7 @@ public class Fboard {
     public Position neighborClosestToFire(Position position) {
         Set<Position> seen = new HashSet<>();
         HashMap<Position, Position> firstMove = new HashMap<>();
-        Queue<Position> toVisit = new LinkedList<>(this.neighbors(position)); //Queue is initialised with the neighbors of position
+        Queue<Position> toVisit = new LinkedList<>(this.neighbors(position));
         for (Position initialMove : toVisit)
             firstMove.put(initialMove, initialMove);
         while (!toVisit.isEmpty()) {
@@ -103,14 +103,19 @@ public class Fboard {
         return position;
     }
 
+
     public List<ModelElement> getState(Position position){
         List<ModelElement> result = new ArrayList<>();
         for (item e :items) {
             if (e.getPositions().contains(position) && e.getID() == 1) {
-                result.add(e.getState());break;
+                result.add(e.getState());
+            }
+        }
+
+            for (item e :items) {
+                if (e.getPositions().contains(position) && e.getID() == 0) {
+                result.add(e.getState());
             }
-            if (e.getPositions().contains(position) && e.getID() == 0)
-                result.add(getFire().getState());break;
         }
         return result;
     }
diff --git a/src/main/java/newmodel/Fire.java b/src/main/java/newmodel/Fire.java
index f3b64ee6a8b254087569aa9354a0b6725cdd75b3..5bf9ef0aa4c4d377b443938ba450f881f39ef95d 100644
--- a/src/main/java/newmodel/Fire.java
+++ b/src/main/java/newmodel/Fire.java
@@ -13,7 +13,7 @@ public class Fire implements item {
     private final ModelElement state;
     private final Random randomGenerator = new Random();
 
-    private final int ID=0;
+    private final int ID=1;
 
     public Fire(int initialFireCount) {
         this.initialFireCount = initialFireCount;
@@ -27,7 +27,7 @@ public class Fire implements item {
                 newFirePositions.addAll(board.neighbors(fire));
             }
             firePositions.addAll(newFirePositions);
-        return newFirePositions;
+        return firePositions;
 
     }
 
@@ -45,7 +45,7 @@ public class Fire implements item {
             firePositions.add(randomPosition());
     }
 
-    @Override
+
     public List<Position> getPositions() {
         return firePositions;
     }
diff --git a/src/main/java/newmodel/FireFighter.java b/src/main/java/newmodel/FireFighter.java
index 9dc5cb5934732b5b0f7a0dede8ab39c8ab2c2b99..2ca97a898347317a7955272bdf09a0a2bd617466 100644
--- a/src/main/java/newmodel/FireFighter.java
+++ b/src/main/java/newmodel/FireFighter.java
@@ -4,7 +4,7 @@ import util.Position;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Random;
-import model.ModelElement;
+
 
 public class FireFighter extends Extinguisher {
     private final ModelElement state;
@@ -13,7 +13,7 @@ public class FireFighter extends Extinguisher {
 
     private final int initialFirefighterCount;
 
-    private int ID=1;
+    private final int ID=0;
     public FireFighter(int initialFirefighterCount){
 
         this.initialFirefighterCount=initialFirefighterCount;
@@ -22,23 +22,24 @@ public class FireFighter extends Extinguisher {
 
 
     public List<Position> update(Fboard board) {
-            List<Position> result = new ArrayList<>();
-            List<Position> firefighterNewPositions = new ArrayList<>();
-            for (Position firefighterPosition : firefighterPositions) {
-                Position newFirefighterPosition = board.neighborClosestToFire(firefighterPosition);
-                firefighterNewPositions.add(newFirefighterPosition);
-                extinguish(newFirefighterPosition,board);
-                result.add(firefighterPosition);
-                result.add(newFirefighterPosition);
-                List<Position> neighborFirePositions = board.neighbors(newFirefighterPosition).stream()
-                        .filter(board.getFire().getPositions()::contains).toList(); //this code create a list filtred with only the fire positions that are close to the newfirefighter position
-                for(Position firePosition : neighborFirePositions) //and exist in the firepositions list also
-                    extinguish(firePosition,board);
-                result.addAll(neighborFirePositions);
-            }
-            firefighterPositions = firefighterNewPositions;
-            return result;
+        List<Position> modifiedPosition = new ArrayList<>();
+        List<Position> firefighterNewPositions = new ArrayList<>();
+        for (Position firefighterPosition : firefighterPositions) {
+            Position newFirefighterPosition = board.neighborClosestToFire(firefighterPosition);
+            firefighterNewPositions.add(newFirefighterPosition);
+            extinguish(newFirefighterPosition,board);
+            modifiedPosition.add(firefighterPosition);
+            modifiedPosition.add(newFirefighterPosition);
+            List<Position> neighborFirePositions = board.neighbors(newFirefighterPosition).stream()
+                    .filter(board.getFire().getPositions()::contains).toList();
+            for(Position firePosition : neighborFirePositions)
+                extinguish(firePosition,board);
+            modifiedPosition.addAll(neighborFirePositions);
         }
+        firefighterPositions = firefighterNewPositions;
+        return modifiedPosition;
+    }
+
 
 
     public void extinguish(Position position,Fboard board) {
@@ -52,7 +53,6 @@ public class FireFighter extends Extinguisher {
 
     // implementi liha pattern visiteur
     public int getID() {
-
         return this.ID;
     }