diff --git a/.gradle/8.10.2/executionHistory/executionHistory.lock b/.gradle/8.10.2/executionHistory/executionHistory.lock
index 00af7ad92d473c28e75df256de7082d1905d37a0..8aca32139fab07c3188cba31af7facedf5b5849d 100644
Binary files a/.gradle/8.10.2/executionHistory/executionHistory.lock and b/.gradle/8.10.2/executionHistory/executionHistory.lock differ
diff --git a/.gradle/8.10.2/fileHashes/fileHashes.lock b/.gradle/8.10.2/fileHashes/fileHashes.lock
index eec55f022194ea4668a5592c880843ef4401710c..e49212765c741797bec045b9467eb5e66ac21562 100644
Binary files a/.gradle/8.10.2/fileHashes/fileHashes.lock and b/.gradle/8.10.2/fileHashes/fileHashes.lock differ
diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock
index e1618ed68daabe25ab487b4d5282bfbda4d972e2..267adf260927eb5a89b797caca8536fd39ec8438 100644
Binary files a/.gradle/buildOutputCleanup/buildOutputCleanup.lock and b/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ
diff --git a/Project Repports/Rapport3.md b/Project Repports/Rapport3.md
index a86bafdb62a4db201abac84b48b9408f10ab3a25..82d410533f742a16b276ce5a38d2d202f046bfcc 100644
--- a/Project Repports/Rapport3.md	
+++ b/Project Repports/Rapport3.md	
@@ -3,4 +3,6 @@ nous allons maintenant travailler pour fixer ces erruers
 
 Nous avons Modifier les classes Manager afin de fixer les erreurs qui parvenait lors de l'éxécution du programme
 cependant il faudrait ajuster encore le code comme les firefighters sont entrain de mourir ce qui ne dervrais
-pas ce passer.
\ No newline at end of file
+pas ce passer.
+
+Avant la prochaine seance nous allons corriger le code en sorte que ça fonctionne correctement
\ No newline at end of file
diff --git a/README.md b/README.md
index b527db6c91c2f3ec9bd7164f25265387a1dba3fb..07b93ef8ffbfe4519227ec5b3281aa47c05b88d9 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-Project member : 
+Project members : 
 
 member 1 : Mansour Chadi
 
diff --git a/src/main/java/model/FireManager.java b/src/main/java/model/FireManager.java
index 6b47541e0a7a7c79d94e3e896b37f5a6477988d1..e843edffb68418dc041d7492eb3a030f6d3d8686 100644
--- a/src/main/java/model/FireManager.java
+++ b/src/main/java/model/FireManager.java
@@ -15,27 +15,33 @@ public class FireManager {
         this.fireSpreadStrategy = fireSpread;
     }
     public void initializeFires(int fireCount, int rowCount, int columnCount, Random random) {
+        firePositions.clear();
         for (int i = 0; i < fireCount; i++) {
             firePositions.add(new Position(random.nextInt(rowCount), random.nextInt(columnCount)));
         }
     }
-        public List<Position> fireSpread(Map<Position, List<Position>> neighbors){
-            List<Position> newFires = new ArrayList<>();
-            if (turnCounter % 2 == 0) {
-                for (Position fire : firePositions) {
-                    for (Position neighbor : neighbors.get(fire)) {
+    public List<Position> fireSpread(Map<Position, List<Position>> neighbors){
+        List<Position> newFires = new ArrayList<>();
+        if (turnCounter % 2 == 0) {
+            for (Position fire : firePositions) {
+                List<Position> neighborList = neighbors.get(fire);
+                if (neighborList != null){
+                    for (Position neighbor : neighborList) {
                         if (!firePositions.contains(neighbor)) {
                             newFires.add(neighbor);
                         }
                     }
                 }
             }
-            firePositions.addAll(newFires);
+        }
+        firePositions.addAll(newFires);
         turnCounter++;
         return newFires;
+    }
+    public void extinguish(Position position){
+        if (firePositions.contains(position)) {
+            firePositions.remove(position);
         }
-        public void extinguish(Position position){
-        firePositions.remove(position);
     }
     public Set<Position> getFirePositions() {
         return firePositions;
diff --git a/src/main/java/model/FirefighterManager.java b/src/main/java/model/FirefighterManager.java
index 85f97fa6ec2115f9017011f23ec3e7cc832f3264..5a7422fbdb9c2e1d72d59958545ed218e8158484 100644
--- a/src/main/java/model/FirefighterManager.java
+++ b/src/main/java/model/FirefighterManager.java
@@ -22,10 +22,16 @@ public class FirefighterManager {
 
         for (int i = 0; i < firefighterPositions.size(); i++) {
             Position firefighter = firefighterPositions.get(i);
+            for (Position neighbor : neighbors.get(firefighter)) {
+                if (firePositions.contains(neighbor)) {
+                    firePositions.remove(neighbor); // Extinguish fire at the neighbor
+                    modifiedPositions.add(neighbor); // Track extinguished fire position
+                }
+            }
 
             Position closestFire = findClosestFire(firefighter, firePositions);
 
-            if (closestFire != null && !neighbors.get(firefighter).contains(closestFire)) {
+            if (closestFire != null ) {
                 Position newPosition = moveTowards(firefighter, closestFire);
                 firefighterPositions.set(i, newPosition);
                 modifiedPositions.add(newPosition);
@@ -79,4 +85,7 @@ public class FirefighterManager {
 
         return firefighter;
     }
+
+
+
 }
diff --git a/src/main/java/model/SimpleFirefighterMovementStrategy.java b/src/main/java/model/SimpleFirefighterMovementStrategy.java
index b76d2c13562c958d9cf44d7ad0e7fc042cb076d2..8fb526850b9c6bb4a4defe62a597c36b34281cbc 100644
--- a/src/main/java/model/SimpleFirefighterMovementStrategy.java
+++ b/src/main/java/model/SimpleFirefighterMovementStrategy.java
@@ -20,7 +20,7 @@ public class SimpleFirefighterMovementStrategy implements FirefighterMovementStr
             }
         }
 
-        return closestFire != null ? closestFire : current;
+        return closestFire != null && !closestFire.equals(current) ? closestFire : current;
     }
 
     private int calculateDistance(Position a, Position b) {