diff --git a/src/main/java/model/Fire.java b/src/main/java/model/Fire.java
index 26de9fcc8d0c1c9e0ea05a85bd230f757b0b8ab9..e04c0d71b5fc6cdd2ce90bfe474a73798b59d686 100644
--- a/src/main/java/model/Fire.java
+++ b/src/main/java/model/Fire.java
@@ -2,9 +2,9 @@ package model;
 import util.Position;
 
 public class Fire implements Entity{
-    
+    Board b;
     private Position position;
-    public Fire(Position position){
+    public Fire(Position position, Board b){
         this.position = position;
     }
 
diff --git a/src/main/java/model/FireFighter.java b/src/main/java/model/FireFighter.java
index 7dc15897792afab6c0c1ff5cc089adc65b0776fe..055d0cbf0d2255627912862bebd04b27c09db085 100644
--- a/src/main/java/model/FireFighter.java
+++ b/src/main/java/model/FireFighter.java
@@ -13,7 +13,7 @@ public class FireFighter implements Entity{
         //Sinon
         //Se déplacer vers le feu le plus proche
         //Si un feu est à proximité : éteindre les feux à x + 1 y, x y+1, x+1 y-1, x-1 y+1 
-        // Ajouter un feu à x + 1 y, x y+1, x+1 y-1, x-1 y+1 
+        // Ajouter un feu à x + 1 y, x y+1, x-1 y, x y-1 
     }
 
     
diff --git a/src/main/java/model/FireFighterScenario.java b/src/main/java/model/FireFighterScenario.java
index fc3c5dded566919af14886653ea675bff0fa2358..92440f3a819488eaf4c24ebf32277ac68a89c427 100644
--- a/src/main/java/model/FireFighterScenario.java
+++ b/src/main/java/model/FireFighterScenario.java
@@ -1,45 +1,35 @@
 package model;
+import java.util.ArrayList;
 import java.util.List;
 
-import util.*;
+import util.Matrix;
+import util.Position;
+
 
 public class FireFighterScenario implements Board<Entity>{
-    /**
-   * Get the state of the board at a specific position.
-   *
-   * @param position The position on the board for which to retrieve the state.
-   * @return The state at the specified position.
-   */
+  
+  private Matrix<Entity> matrix
+  public FireFighterScenario(int boardSize){
+    this.matrix = new Matrix();
+  }
   public Entity getState(Position position){
-    throw new IllegalStateException("Method not implemented");
+    if(position.x() > matrix.size() || position.y() > matrix.get(0).size()){
+      throw new IllegalArgumentException("The position x:" + position.x() + " y:" + position.y() + " is out of the board.");
+    }
+    return matrix.get(position.x()).get(position.y());
   }
 
-  /**
-   * Set the state of a specific position on the board to the specified state.
-   *
-   * @param state The state to set for the given position.
-   * @param position The position on the board for which to set the state.
-   */
   public void setState(Entity state, Position position){
-    throw new IllegalStateException("Method not implemented");
+    matrix.get(position.x()).set(position.y(), state);
   }
 
-  /**
-   * Get the number of rows in the board.
-   *
-   * @return The number of rows in the board.
-   */
+
   public int rowCount(){
-    throw new IllegalStateException("Method not implemented");
+    return matrix.size();
   }
 
-  /**
-   * Get the number of columns in the board.
-   *
-   * @return The number of columns in the board.
-   */
   public int columnCount(){
-    throw new IllegalStateException("Method not implemented");
+    return matrix.get(0).size();
   }
 
   /**
@@ -50,7 +40,12 @@ public class FireFighterScenario implements Board<Entity>{
    * @return A list of positions that have changed during the update.
    */
   public List<Position> updateToNextGeneration(){
-    throw new IllegalStateException("Method not implemented");
+    for(ArrayList<Entity> l : matrix){
+      for(Entity e : l){
+        e.nextTurn(this);
+      }
+    }
+    return matrix;
   }
 
   /**
diff --git a/src/main/java/util/Matrix.java b/src/main/java/util/Matrix.java
index 3fe027cc1b9eba806a0431a0cf9e4ff607360ea7..a2d05d6c9f4863c384004e64c92d52c0ad68347a 100644
--- a/src/main/java/util/Matrix.java
+++ b/src/main/java/util/Matrix.java
@@ -12,6 +12,9 @@ public class Matrix<E> {
     public E set(int x, int y, E object){
         return matrix.get(x).set(y, object);
     }
+    public void clear(){
+        this.matrix = new ArrayList<ArrayList<E>>();
+    }
     public int size(){
         return matrix != null ? matrix.get(0).size()*matrix.size() : 0;
     }