diff --git a/src/main/java/model/FirefighterBoard.java b/src/main/java/model/FirefighterBoard.java
deleted file mode 100644
index 3ed1ec4f1f8a7a47bcecb56de9e86e8c5d43d1ba..0000000000000000000000000000000000000000
--- a/src/main/java/model/FirefighterBoard.java
+++ /dev/null
@@ -1,162 +0,0 @@
-package model;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Random;
-import java.util.Set;
-
-import util.Position;
-import util.TargetStrategy;
-
-
-public class FirefighterBoard implements Board<List<ModelElement>> {
-  private final int columnCount;
-  private final int rowCount;
-  private final int initialFireCount;
-  private final int initialFirefighterCount;
-  private final TargetStrategy targetStrategy = new TargetStrategy();
-  private List<Position> firefighterPositions;
-  private Set<Position> firePositions;
-  private Map<Position, List<Position>> neighbors = new HashMap<Position, List<Position>>();
-  private final Position[][] positions;
-  private int step = 0;
-  private final Random randomGenerator = new Random();
-
-  public FirefighterBoard(int columnCount, int rowCount, int initialFireCount, int initialFirefighterCount) {
-    this.columnCount = columnCount;
-    this.rowCount = rowCount;
-    this.positions = new Position[rowCount][columnCount];
-    for (int column = 0; column < columnCount; column++)
-      for (int row = 0; row < rowCount; row++)
-        positions[row][column] = new Position(row, column);
-    for (int column = 0; column < columnCount; column++)
-      for (int row = 0; row < rowCount; row++) {
-        List<Position> list = new ArrayList<>();
-        if (row > 0) list.add(positions[row - 1][column]);
-        if (column > 0) list.add(positions[row][column - 1]);
-        if (row < rowCount - 1) list.add(positions[row + 1][column]);
-        if (column < columnCount - 1) list.add(positions[row][column + 1]);
-        neighbors.put(positions[row][column], list);
-      }
-    this.initialFireCount = initialFireCount;
-    this.initialFirefighterCount = initialFirefighterCount;
-    initializeElements();
-  }
-
-  public void initializeElements() {
-    firefighterPositions = new ArrayList<>();
-    firePositions = new HashSet<>();
-    for (int index = 0; index < initialFireCount; index++)
-      firePositions.add(randomPosition());
-    for (int index = 0; index < initialFirefighterCount; index++)
-      firefighterPositions.add(randomPosition());
-  }
-
-  private Position randomPosition() {
-    return new Position(randomGenerator.nextInt(rowCount), randomGenerator.nextInt(columnCount));
-  }
-
-  @Override
-  public List<ModelElement> getState(Position position) {
-    List<ModelElement> result = new ArrayList<>();
-    for (Position firefighterPosition : firefighterPositions)
-      if (firefighterPosition.equals(position))
-        result.add(ModelElement.FIREFIGHTER);
-    if (firePositions.contains(position))
-      result.add(ModelElement.FIRE);
-    return result;
-  }
-
-  @Override
-  public int rowCount() {
-    return rowCount;
-  }
-
-  @Override
-  public int columnCount() {
-    return columnCount;
-  }
-
-  public List<Position> updateToNextGeneration() {
-    List<Position> modifiedPositions = updateFirefighters();
-    modifiedPositions.addAll(updateFires());
-    step++;
-    return modifiedPositions;
-  }
-
-  private List<Position> updateFires() {
-    List<Position> modifiedPositions = new ArrayList<>();
-    if (step % 2 == 0) {
-      List<Position> newFirePositions = new ArrayList<>();
-      for (Position fire : firePositions) {
-        newFirePositions.addAll(neighbors.get(fire));
-      }
-      firePositions.addAll(newFirePositions);
-      modifiedPositions.addAll(newFirePositions);
-    }
-    return modifiedPositions;
-
-  }
-
-  @Override
-  public int stepNumber() {
-    return step;
-  }
-
-  private List<Position> updateFirefighters() {
-    List<Position> modifiedPosition = new ArrayList<>();
-    List<Position> firefighterNewPositions = new ArrayList<>();
-    for (Position firefighterPosition : firefighterPositions) {
-      Position newFirefighterPosition =
-              targetStrategy.neighborClosestToFire(firefighterPosition,
-                      firePositions, neighbors);
-      firefighterNewPositions.add(newFirefighterPosition);
-      extinguish(newFirefighterPosition);
-      modifiedPosition.add(firefighterPosition);
-      modifiedPosition.add(newFirefighterPosition);
-      List<Position> neighborFirePositions = neighbors.get(newFirefighterPosition).stream()
-              .filter(firePositions::contains).toList();
-      for (Position firePosition : neighborFirePositions){
-          
-        modifiedPosition.addAll(neighborFirePositions);
-        extinguish(firePosition);
-      }
-    }
-    firefighterPositions = firefighterNewPositions;
-    return modifiedPosition;
-  }
-
-  @Override
-  public void reset() {
-    step = 0;
-    initializeElements();
-  }
-
-  private void extinguish(Position position) {
-    firePositions.remove(position);
-  }
-
-
-  @Override
-  public void setState(List<ModelElement> state, Position position) {
-    firePositions.remove(position);
-    for (; ; ) {
-      if (!firefighterPositions.remove(position)) break;
-    }
-    for (ModelElement element : state) {
-      switch (element) {
-        case FIRE -> firePositions.add(position);
-        case FIREFIGHTER -> firefighterPositions.add(position);
-      }
-    }
-  }
-
-  @Override
-  public void setState(Entity state, Position position, boolean replaceStates) {
-    throw new UnsupportedOperationException("Unimplemented method 'setState'");
-  }
-  
-}
\ No newline at end of file
diff --git a/src/main/java/model/ModelElement.java b/src/main/java/model/ModelElement.java
deleted file mode 100644
index 759eee5e54c3a39472d8f7defbbbe6a2b67b8f00..0000000000000000000000000000000000000000
--- a/src/main/java/model/ModelElement.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package model;
-
-public enum ModelElement {
-  FIREFIGHTER, FIRE
-}
diff --git a/src/test/java/model/FirefighterBoardTest.java b/src/test/java/model/FirefighterBoardTest.java
deleted file mode 100644
index 25cc8dbca8acea698879df68a5006a179f281ecc..0000000000000000000000000000000000000000
--- a/src/test/java/model/FirefighterBoardTest.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package model;
-
-import org.junit.jupiter.api.Test;
-import util.Position;
-
-import java.util.List;
-
-import static org.assertj.core.api.Assertions.*;
-
-public class FirefighterBoardTest {
-  @Test
-  void testColumnCount(){
-    Board<List<ModelElement>> board = new FirefighterBoard(20, 10, 1, 3);
-    assertThat(board.columnCount()).isEqualTo(20);
-  }
-  @Test
-  void testRowCount(){
-    Board<List<ModelElement>> board = new FirefighterBoard(20, 10, 1, 3);
-    assertThat(board.rowCount()).isEqualTo(10);
-  }
-  @Test
-  void testStepNumber(){
-    Board<List<ModelElement>> board = new FirefighterBoard(20, 10, 1, 3);
-    for(int index = 0; index < 10; index++){
-      assertThat(board.stepNumber()).isEqualTo(index);
-      board.updateToNextGeneration();
-    }
-    assertThat(board.stepNumber()).isEqualTo(10);
-  }
-  @Test
-  void testGetState_afterSet(){
-    Board<List<ModelElement>> board = new FirefighterBoard(20, 10, 0, 0);
-    Position position = new Position(1,2);
-    assertThat(board.getState(position)).isEmpty();
-    board.setState(List.of(ModelElement.FIRE), position);
-    assertThat(board.getState(position)).containsExactly(ModelElement.FIRE);
-  }
-
-}