diff --git a/src/main/java/model/Cloud.java b/src/main/java/model/Cloud.java
index cf7482a639ac602e27af2b384cd41793e9903a31..b68e95e2ecb7759fc536f32df35f41eedcfa49fe 100644
--- a/src/main/java/model/Cloud.java
+++ b/src/main/java/model/Cloud.java
@@ -86,5 +86,10 @@ public class Cloud extends Element implements Extinguish {
     public List<Position> setPosition() {
         return null;
     }
+
+    @Override
+    public void action() {
+
+    }
 }
 
diff --git a/src/main/java/model/Element.java b/src/main/java/model/Element.java
index 30e5ac9dd6322a0c04d09b4702d973886392b926..c223d193ddc763c8a9a94cbca6dca416c28fd74d 100644
--- a/src/main/java/model/Element.java
+++ b/src/main/java/model/Element.java
@@ -6,35 +6,22 @@ import java.util.List;
 import java.util.Random;
 
 public abstract class Element {
-    protected Position position; // Attribute to represent the current position
-    protected Grid grid; // Attribute to represent the reference to the grid
-
-    // Constructor
-    public Element(Position position, Grid grid) {
-        this.position = position;
-        this.grid = grid;
-    }
-
-    // Abstract method for updating the state of the element
-    public abstract void update();
-
-    // Getters and Setters for Position
-    public Position getPosition() {
-        return position;
-    }
-
-    public void setPosition(Position position) {
-        this.position = position;
-    }
-
-    // Getters and Setters for Grid Reference
-    public Grid getGrid() {
-        return grid;
-    }
-
-    public void setGrid(Grid grid) {
-        this.grid = grid;
-    }
+    protected Position position;
+    public void initializeElements() {}
+    private Position randomPosition() {}
+    public List<ModelElement> getState(Position position) {}
+    public List<Position> updateToNextGeneration() {}
+    private List<Position> updateFires() {}
+    private List<Position> neighbors(Position position) {}
+    private Position neighborClosestToFire(Position position) {}
+    public void setState(List<ModelElement> state, Position position) {}
+    /*List<Position> updatePosition();
+    List<Position> neighbors();
+    List<Position> getPosition();
+    List<Position> setPosition();*/
+
+
+
 }
 
 
diff --git a/src/main/java/model/Extinguish.java b/src/main/java/model/Extinguish.java
index 8ff140296b8554a200add45aa18f3f04e0cf251f..24a6c0be21f40784490303d9e59f17e2c1809225 100644
--- a/src/main/java/model/Extinguish.java
+++ b/src/main/java/model/Extinguish.java
@@ -5,9 +5,7 @@ import util.Position;
 import java.util.List;
 
 public interface Extinguish {
-    List<Position> updatePosition();
-    List<Position> neighbors();
-    List<Position> getPosition();
-    List<Position> setPosition();
+
+    void action();
 
 }
diff --git a/src/main/java/model/FireFighter.java b/src/main/java/model/FireFighter.java
index 7d3c7c1dbd4f8cec4def8a7f34eca73e908880ab..389e4a8ee7319139752a9690caa2d1ddbb5e290b 100644
--- a/src/main/java/model/FireFighter.java
+++ b/src/main/java/model/FireFighter.java
@@ -54,5 +54,10 @@ public class Firefighter extends Element implements Extinguish {
     private boolean isValidPosition(int x, int y) {
         return x >= 0 && x < getGrid().getRows() && y >= 0 && y < getGrid().getColumns();
     }
+
+    @Override
+    public void action() {
+
+    }
 }
 
diff --git a/src/main/java/model/FirefighterBoard.java b/src/main/java/model/FirefighterBoard.java
index b5f0563236d6393f0fe972aa97c1c6d8762f1c82..ee29f18e646c61610d400afa8d6fe98b567f0795 100644
--- a/src/main/java/model/FirefighterBoard.java
+++ b/src/main/java/model/FirefighterBoard.java
@@ -57,7 +57,7 @@ public class FirefighterBoard implements Board<List<ModelElement>> {
     return columnCount;
   }
 
-  public List<Position> updateToNextGeneration() {// chua hieu lam gi
+  public List<Position> updateToNextGeneration() {// chua hieu lam gi// sua cai nay
     List<Position> result = updateFirefighters();
     result.addAll(updateFires());
     step++;
diff --git a/src/main/java/model/Grid.java b/src/main/java/model/Grid.java
deleted file mode 100644
index d40aad3993d494e6b7061e4624f14b166735097a..0000000000000000000000000000000000000000
--- a/src/main/java/model/Grid.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package model;
-
-import util.Position;
-
-import java.util.Random;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class Grid {
-    private int rows;
-    private int columns;
-    private Element[][] elements;
-
-    // Constructor
-    public Grid(int rows, int columns) {
-        this.rows = rows;
-        this.columns = columns;
-        this.elements = new Element[rows][columns];
-    }
-
-    // Method to add an element to the grid at a specific position
-    public void addElement(Element element, Position position) {
-        elements[position.getX()][position.getY()] = element;
-        element.setGrid(this);
-        element.setPosition(position);
-    }
-
-    // Method to get the element at a specific position on the grid
-    public Element getElementAt(Position position) {
-        return elements[position.getX()][position.getY()];
-    }
-
-    // Method to update all elements in the grid
-    public void update() {
-        for (int i = 0; i < rows; i++) {
-            for (int j = 0; j < columns; j++) {
-                Element element = elements[i][j];
-                if (element != null) {
-                    element.update();
-                }
-            }
-        }
-    }
-
-    // Getters for grid size
-    public int getRows() {
-        return rows;
-    }
-
-    public int getColumns() {
-        return columns;
-    }
-}
-
diff --git a/src/main/java/model/Mobile.java b/src/main/java/model/Mobile.java
index 8c5b5210b87c98e193a41aebea963a94412ff3e9..4e44ed4ae14522c9186e03e42ff728b39c166926 100644
--- a/src/main/java/model/Mobile.java
+++ b/src/main/java/model/Mobile.java
@@ -43,5 +43,10 @@ public class Mobile extends Element implements Extinguish {
     private boolean isValidPosition(int x, int y) {
         return x >= 0 && x < getGrid().getRows() && y >= 0 && y < getGrid().getColumns();
     }
+
+    @Override
+    public void action() {
+
+    }
 }
 
diff --git a/src/main/java/model/Moutain.java b/src/main/java/model/Moutain.java
index 9d91a3072a924b5cfd8932888118f2764cde129f..251a80acfc9b3ec74d51212df7c76c8ca0f51b80 100644
--- a/src/main/java/model/Moutain.java
+++ b/src/main/java/model/Moutain.java
@@ -4,7 +4,7 @@ import util.Position;
 
 import java.util.List;
 
-public class Mountain extends Element implements Stable {
+public class Mountain extends Element implements StablePosition {
     // Additional attributes for Mountain
     private boolean impassable;