diff --git a/.gradle/8.10.2/checksums/checksums.lock b/.gradle/8.10.2/checksums/checksums.lock
new file mode 100644
index 0000000000000000000000000000000000000000..2752c33e2df66e00c112fbd46ce1a9fe77cbf433
Binary files /dev/null and b/.gradle/8.10.2/checksums/checksums.lock differ
diff --git a/.gradle/8.10.2/dependencies-accessors/gc.properties b/.gradle/8.10.2/dependencies-accessors/gc.properties
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/.gradle/8.10.2/executionHistory/executionHistory.bin b/.gradle/8.10.2/executionHistory/executionHistory.bin
new file mode 100644
index 0000000000000000000000000000000000000000..a5b455a3135a45b857c00888db71d9bd47190df7
Binary files /dev/null and b/.gradle/8.10.2/executionHistory/executionHistory.bin differ
diff --git a/.gradle/8.10.2/executionHistory/executionHistory.lock b/.gradle/8.10.2/executionHistory/executionHistory.lock
new file mode 100644
index 0000000000000000000000000000000000000000..970c3b6978b429e9eb208382029bde7dcd0401ed
Binary files /dev/null and b/.gradle/8.10.2/executionHistory/executionHistory.lock differ
diff --git a/.gradle/8.10.2/fileChanges/last-build.bin b/.gradle/8.10.2/fileChanges/last-build.bin
new file mode 100644
index 0000000000000000000000000000000000000000..f76dd238ade08917e6712764a16a22005a50573d
Binary files /dev/null and b/.gradle/8.10.2/fileChanges/last-build.bin differ
diff --git a/.gradle/8.10.2/fileHashes/fileHashes.bin b/.gradle/8.10.2/fileHashes/fileHashes.bin
new file mode 100644
index 0000000000000000000000000000000000000000..95bc188614f41dbe34ac988c176e79c2237bb870
Binary files /dev/null and b/.gradle/8.10.2/fileHashes/fileHashes.bin differ
diff --git a/.gradle/8.10.2/fileHashes/fileHashes.lock b/.gradle/8.10.2/fileHashes/fileHashes.lock
new file mode 100644
index 0000000000000000000000000000000000000000..9d67884ec35c307bb2facede85a5dc5af387a1ad
Binary files /dev/null and b/.gradle/8.10.2/fileHashes/fileHashes.lock differ
diff --git a/.gradle/8.10.2/fileHashes/resourceHashesCache.bin b/.gradle/8.10.2/fileHashes/resourceHashesCache.bin
new file mode 100644
index 0000000000000000000000000000000000000000..bad6cf014a17c3c65857c9055e5f694562818612
Binary files /dev/null and b/.gradle/8.10.2/fileHashes/resourceHashesCache.bin differ
diff --git a/.gradle/8.10.2/gc.properties b/.gradle/8.10.2/gc.properties
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock
new file mode 100644
index 0000000000000000000000000000000000000000..703f52f60b4288ebe7d4b0886c78f48d96f8daa8
Binary files /dev/null and b/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ
diff --git a/.gradle/buildOutputCleanup/cache.properties b/.gradle/buildOutputCleanup/cache.properties
new file mode 100644
index 0000000000000000000000000000000000000000..ac4436068fcee71ede7fdf1f64b86f2b136d2d8c
--- /dev/null
+++ b/.gradle/buildOutputCleanup/cache.properties
@@ -0,0 +1,2 @@
+#Wed Nov 27 09:59:58 CET 2024
+gradle.version=8.10.2
diff --git a/.gradle/buildOutputCleanup/outputFiles.bin b/.gradle/buildOutputCleanup/outputFiles.bin
new file mode 100644
index 0000000000000000000000000000000000000000..988028716290f7836b38d32630664508d8884b41
Binary files /dev/null and b/.gradle/buildOutputCleanup/outputFiles.bin differ
diff --git a/.gradle/vcs-1/gc.properties b/.gradle/vcs-1/gc.properties
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/build/classes/java/main/app/SimulatorApplication.class b/build/classes/java/main/app/SimulatorApplication.class
new file mode 100644
index 0000000000000000000000000000000000000000..0945559258306b09c37b530b8c44adfb1b4b4489
Binary files /dev/null and b/build/classes/java/main/app/SimulatorApplication.class differ
diff --git a/build/classes/java/main/app/SimulatorMain.class b/build/classes/java/main/app/SimulatorMain.class
new file mode 100644
index 0000000000000000000000000000000000000000..1d13229f73ef27c233a432bc89aa3dffc086246a
Binary files /dev/null and b/build/classes/java/main/app/SimulatorMain.class differ
diff --git a/build/classes/java/main/controller/CloudController.class b/build/classes/java/main/controller/CloudController.class
new file mode 100644
index 0000000000000000000000000000000000000000..6b710f405f76d5cc93b7c904046cfd5243cf4de8
Binary files /dev/null and b/build/classes/java/main/controller/CloudController.class differ
diff --git a/build/classes/java/main/controller/Controller.class b/build/classes/java/main/controller/Controller.class
new file mode 100644
index 0000000000000000000000000000000000000000..54935a9eb3026ff1122cd50fbbcce457729b381e
Binary files /dev/null and b/build/classes/java/main/controller/Controller.class differ
diff --git a/build/classes/java/main/controller/PersistentToggleGroup.class b/build/classes/java/main/controller/PersistentToggleGroup.class
new file mode 100644
index 0000000000000000000000000000000000000000..314954a9fd4ab6d48da5fec7067063879e670d62
Binary files /dev/null and b/build/classes/java/main/controller/PersistentToggleGroup.class differ
diff --git a/build/classes/java/main/model/Board.class b/build/classes/java/main/model/Board.class
new file mode 100644
index 0000000000000000000000000000000000000000..38636074a072f0e4ce3549152ba24a266261d8c3
Binary files /dev/null and b/build/classes/java/main/model/Board.class differ
diff --git a/build/classes/java/main/model/BoardBehavior.class b/build/classes/java/main/model/BoardBehavior.class
new file mode 100644
index 0000000000000000000000000000000000000000..056f9a3c8591df18076ad64c8d030b1ebbf2682b
Binary files /dev/null and b/build/classes/java/main/model/BoardBehavior.class differ
diff --git a/build/classes/java/main/model/BoardFireFighterBehavior.class b/build/classes/java/main/model/BoardFireFighterBehavior.class
new file mode 100644
index 0000000000000000000000000000000000000000..4425eab866794825409e1769e300724889f524a4
Binary files /dev/null and b/build/classes/java/main/model/BoardFireFighterBehavior.class differ
diff --git a/build/classes/java/main/model/BoardFirefighterProperties.class b/build/classes/java/main/model/BoardFirefighterProperties.class
new file mode 100644
index 0000000000000000000000000000000000000000..60cf557b1858dce3c97629a5e7714b29130e8a13
Binary files /dev/null and b/build/classes/java/main/model/BoardFirefighterProperties.class differ
diff --git a/build/classes/java/main/model/BoardProperties.class b/build/classes/java/main/model/BoardProperties.class
new file mode 100644
index 0000000000000000000000000000000000000000..93736154cb1db5f0fd6077cdc429a64c015a59c3
Binary files /dev/null and b/build/classes/java/main/model/BoardProperties.class differ
diff --git a/build/classes/java/main/model/Fire.class b/build/classes/java/main/model/Fire.class
new file mode 100644
index 0000000000000000000000000000000000000000..a5cf903e81972d9987dda78d61de40208314c219
Binary files /dev/null and b/build/classes/java/main/model/Fire.class differ
diff --git a/build/classes/java/main/model/FireFactory.class b/build/classes/java/main/model/FireFactory.class
new file mode 100644
index 0000000000000000000000000000000000000000..868087536e9613fb1ae9bcfc3a45cc9d78803851
Binary files /dev/null and b/build/classes/java/main/model/FireFactory.class differ
diff --git a/build/classes/java/main/model/FirefighterBoard.class b/build/classes/java/main/model/FirefighterBoard.class
new file mode 100644
index 0000000000000000000000000000000000000000..2088f0eba552db956788c3151cc1fc0fa18c74ae
Binary files /dev/null and b/build/classes/java/main/model/FirefighterBoard.class differ
diff --git a/build/classes/java/main/model/ModelElement.class b/build/classes/java/main/model/ModelElement.class
new file mode 100644
index 0000000000000000000000000000000000000000..233ea071f11d658f111ffcfdd0d89e41d52ca544
Binary files /dev/null and b/build/classes/java/main/model/ModelElement.class differ
diff --git a/build/classes/java/main/module-info.class b/build/classes/java/main/module-info.class
new file mode 100644
index 0000000000000000000000000000000000000000..a05e120336680c15a80138be7c30617ca4e5473c
Binary files /dev/null and b/build/classes/java/main/module-info.class differ
diff --git a/build/classes/java/main/util/Position.class b/build/classes/java/main/util/Position.class
new file mode 100644
index 0000000000000000000000000000000000000000..89bcfc46acba6bd77f0f54570c0b935dce0be942
Binary files /dev/null and b/build/classes/java/main/util/Position.class differ
diff --git a/build/classes/java/main/util/Strategy.class b/build/classes/java/main/util/Strategy.class
new file mode 100644
index 0000000000000000000000000000000000000000..eb66209f3dd056875eca5fc68f693422131591f0
Binary files /dev/null and b/build/classes/java/main/util/Strategy.class differ
diff --git a/build/classes/java/main/util/TargetStrategy.class b/build/classes/java/main/util/TargetStrategy.class
new file mode 100644
index 0000000000000000000000000000000000000000..615d840c8b938f886069802d4128013485ef851c
Binary files /dev/null and b/build/classes/java/main/util/TargetStrategy.class differ
diff --git a/build/classes/java/main/view/FirefighterGrid.class b/build/classes/java/main/view/FirefighterGrid.class
new file mode 100644
index 0000000000000000000000000000000000000000..831699ca3ca58a17f7b79bad1d1464aeb6d30a4c
Binary files /dev/null and b/build/classes/java/main/view/FirefighterGrid.class differ
diff --git a/build/classes/java/main/view/Grid.class b/build/classes/java/main/view/Grid.class
new file mode 100644
index 0000000000000000000000000000000000000000..c4fa5e96b46909e2a89e512f2ad9c2d4d042260c
Binary files /dev/null and b/build/classes/java/main/view/Grid.class differ
diff --git a/build/classes/java/main/view/ViewElement.class b/build/classes/java/main/view/ViewElement.class
new file mode 100644
index 0000000000000000000000000000000000000000..d0471616c011462091e4c625d056897d0b601755
Binary files /dev/null and b/build/classes/java/main/view/ViewElement.class differ
diff --git a/build/resources/main/view/DarkTheme.css b/build/resources/main/view/DarkTheme.css
new file mode 100644
index 0000000000000000000000000000000000000000..46b78aaf90972dd435399466c9fd861ca73fc59f
--- /dev/null
+++ b/build/resources/main/view/DarkTheme.css
@@ -0,0 +1,142 @@
+.background {
+    -fx-background-color: #1d1d1d;
+}
+
+.label {
+    -fx-font-size: 11pt;
+    -fx-font-family: "Segoe UI Semibold";
+    -fx-text-fill: white;
+    -fx-opacity: 0.6;
+}
+
+.label-bright {
+    -fx-font-size: 11pt;
+    -fx-font-family: "Segoe UI Semibold";
+    -fx-text-fill: white;
+    -fx-opacity: 1;
+}
+
+.label-header {
+    -fx-font-size: 32pt;
+    -fx-font-family: "Segoe UI Light";
+    -fx-text-fill: white;
+    -fx-opacity: 1;
+}
+
+.table-view {
+    -fx-base: #1d1d1d;
+    -fx-control-inner-background: #1d1d1d;
+    -fx-background-color: #1d1d1d;
+    -fx-table-cell-border-color: transparent;
+    -fx-table-header-border-color: transparent;
+    -fx-padding: 5;
+}
+
+.table-view .column-header-background {
+    -fx-background-color: transparent;
+}
+
+.table-view .column-header, .table-view .filler {
+    -fx-border-width: 0 0 1 0;
+    -fx-background-color: transparent;
+    -fx-border-color: 
+        transparent
+        transparent
+        derive(-fx-base, 80%) 
+        transparent;
+    -fx-border-insets: 0 10 1 0;
+}
+
+.table-view .column-header .label {
+    -fx-font-size: 20pt;
+    -fx-font-family: "Segoe UI Light";
+    -fx-text-fill: white;
+    -fx-alignment: center-left;
+    -fx-opacity: 1;
+}
+
+.table-view:focused .table-row-cell:filled:focused:selected {
+    -fx-background-color: -fx-focus-color;
+}
+
+.split-pane:horizontal > .split-pane-divider {
+    -fx-border-color: transparent #1d1d1d transparent #1d1d1d;
+    -fx-background-color: transparent, derive(#1d1d1d,20%);
+}
+
+.split-pane {
+    -fx-padding: 1 0 0 0;
+}
+
+.menu-bar {
+    -fx-background-color: derive(#1d1d1d,20%);
+}
+
+.context-menu {
+    -fx-background-color: derive(#1d1d1d,50%);
+}
+
+.menu-bar .label {
+    -fx-font-size: 14pt;
+    -fx-font-family: "Segoe UI Light";
+    -fx-text-fill: white;
+    -fx-opacity: 0.9;
+}
+
+.menu .left-container {
+    -fx-background-color: black;
+}
+
+.text-field {
+    -fx-font-size: 12pt;
+    -fx-font-family: "Segoe UI Semibold";
+}
+
+/* 
+ * Metro style Push Button
+ * Author: Pedro Duque Vieira
+ * http://pixelduke.wordpress.com/2012/10/23/jmetro-windows-8-controls-on-java/
+ */
+.button {
+    -fx-padding: 5 22 5 22;   
+    -fx-border-color: #e2e2e2;
+    -fx-border-width: 2;
+    -fx-background-radius: 0;
+    -fx-background-color: #1d1d1d;
+    -fx-font-family: "Segoe UI", Helvetica, Arial, sans-serif;
+    -fx-font-size: 11pt;
+    -fx-text-fill: #d8d8d8;
+    -fx-background-insets: 0 0 0 0, 0, 1, 2;
+}
+
+.button:hover {
+    -fx-background-color: #3a3a3a;
+}
+
+.button:pressed, .button:default:hover:pressed {
+  -fx-background-color: white;
+  -fx-text-fill: #1d1d1d;
+}
+
+.button:focused {
+    -fx-border-color: white, white;
+    -fx-border-width: 1, 1;
+    -fx-border-style: solid;
+    -fx-border-radius: 0, 0;
+    -fx-border-insets: 1 1 1 1, 0;
+}
+
+.button:disabled, .button:default:disabled {
+    -fx-opacity: 0.4;
+    -fx-background-color: #1d1d1d;
+    -fx-text-fill: white;
+}
+
+.button:default {
+    -fx-background-color: -fx-focus-color;
+    -fx-text-fill: #ffffff;
+}
+
+.button:default:hover {
+    -fx-background-color: derive(-fx-focus-color,30%);
+}
\ No newline at end of file
diff --git a/build/resources/main/view/view.fxml b/build/resources/main/view/view.fxml
new file mode 100644
index 0000000000000000000000000000000000000000..2297527af5cf3d4f9cf030c2442da531aea86155
--- /dev/null
+++ b/build/resources/main/view/view.fxml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<?import javafx.scene.control.Button?>
+<?import javafx.scene.layout.HBox?>
+<?import javafx.scene.layout.VBox?>
+<?import view.FirefighterGrid?>
+
+<?import javafx.scene.control.ToggleButton?>
+<?import javafx.scene.control.Separator?>
+<?import javafx.scene.control.Label?>
+<HBox styleClass="background" stylesheets="@DarkTheme.css"
+      xmlns="http://javafx.com/javafx" xmlns:fx="http://javafx.com/fxml"
+      fx:controller="controller.Controller" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity">
+  <VBox>
+    <Separator maxHeight="-Infinity" maxWidth="-Infinity"
+               prefHeight="24.0" prefWidth="200.0"/>
+    <Label maxHeight="-Infinity" maxWidth="-Infinity" alignment="CENTER" prefHeight="24.0" prefWidth="200.0"
+           text="Generation number"/>
+    <Label fx:id="generationNumberLabel" alignment="CENTER" contentDisplay="TEXT_ONLY"
+           maxHeight="-Infinity" maxWidth="-Infinity" prefHeight="24.0" prefWidth="200.0"/>
+    <Separator maxHeight="-Infinity" maxWidth="-Infinity"
+               prefHeight="24.0" prefWidth="200.0"/>
+    <Button fx:id="restartButton" maxHeight="-Infinity" maxWidth="-Infinity"
+            mnemonicParsing="false" onAction="#restartButtonAction" prefHeight="24.0" prefWidth="200.0"
+            text="Restart"/>
+    <Button fx:id="oneStepButton" maxHeight="-Infinity" maxWidth="-Infinity"
+            mnemonicParsing="false" onAction="#oneStepButtonAction" prefHeight="24.0" prefWidth="200.0"
+            text="One step"/>
+    <ToggleButton fx:id="playToggleButton" maxHeight="-Infinity" maxWidth="-Infinity"
+                  mnemonicParsing="false" onAction="#playToggleButtonAction" prefHeight="24.0"
+                  prefWidth="200.0" styleClass="button" text="Play"/>
+    <ToggleButton fx:id="pauseToggleButton" maxHeight="-Infinity" maxWidth="-Infinity"
+                  mnemonicParsing="false" onAction="#pauseToggleButtonAction" prefHeight="24.0"
+                  prefWidth="200.0" styleClass="button" text="Pause"/>
+  </VBox>
+  <FirefighterGrid fx:id="grid"
+                   xmlns="http://javafx.com/javafx"
+                   xmlns:fx="http://javafx.com/fxml">
+  </FirefighterGrid>
+</HBox>
diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/ClassicFireFighter.class.uniqueId5 b/build/tmp/compileJava/compileTransaction/stash-dir/ClassicFireFighter.class.uniqueId5
new file mode 100644
index 0000000000000000000000000000000000000000..43896fdb757dd92116e4c428b48f9b7d29940ce3
Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/ClassicFireFighter.class.uniqueId5 differ
diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/FireBehavior.class.uniqueId4 b/build/tmp/compileJava/compileTransaction/stash-dir/FireBehavior.class.uniqueId4
new file mode 100644
index 0000000000000000000000000000000000000000..7dacd602e01a00b9bb652cf2977f96fe424708db
Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/FireBehavior.class.uniqueId4 differ
diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/FireManager.class.uniqueId0 b/build/tmp/compileJava/compileTransaction/stash-dir/FireManager.class.uniqueId0
new file mode 100644
index 0000000000000000000000000000000000000000..56029370ca9ece4352c5544a041228b8f1fa37ff
Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/FireManager.class.uniqueId0 differ
diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/FireProperties.class.uniqueId2 b/build/tmp/compileJava/compileTransaction/stash-dir/FireProperties.class.uniqueId2
new file mode 100644
index 0000000000000000000000000000000000000000..6826b9e987aa184135f9e3edbaff39a599436685
Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/FireProperties.class.uniqueId2 differ
diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/FirefighterBehavior.class.uniqueId1 b/build/tmp/compileJava/compileTransaction/stash-dir/FirefighterBehavior.class.uniqueId1
new file mode 100644
index 0000000000000000000000000000000000000000..31dab709c621db46bd731724a317171d5e42e952
Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/FirefighterBehavior.class.uniqueId1 differ
diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/FirefighterManager.class.uniqueId7 b/build/tmp/compileJava/compileTransaction/stash-dir/FirefighterManager.class.uniqueId7
new file mode 100644
index 0000000000000000000000000000000000000000..dd54bf22f15a2c0b8afa3afdf21dc39a7d296659
Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/FirefighterManager.class.uniqueId7 differ
diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/FirefighterProperties.class.uniqueId3 b/build/tmp/compileJava/compileTransaction/stash-dir/FirefighterProperties.class.uniqueId3
new file mode 100644
index 0000000000000000000000000000000000000000..46e7e1c8692ba7e0dc528be02dee5eaad9305252
Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/FirefighterProperties.class.uniqueId3 differ
diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/MotorizedFirefighter.class.uniqueId9 b/build/tmp/compileJava/compileTransaction/stash-dir/MotorizedFirefighter.class.uniqueId9
new file mode 100644
index 0000000000000000000000000000000000000000..1d8e80539a0f8de52dc8f77e46dbc4244b818d88
Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/MotorizedFirefighter.class.uniqueId9 differ
diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/MotorizedStrategy.class.uniqueId6 b/build/tmp/compileJava/compileTransaction/stash-dir/MotorizedStrategy.class.uniqueId6
new file mode 100644
index 0000000000000000000000000000000000000000..26517f53bbd52bcdc87abc1691cd016382c3621c
Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/MotorizedStrategy.class.uniqueId6 differ
diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/module-info.class.uniqueId8 b/build/tmp/compileJava/compileTransaction/stash-dir/module-info.class.uniqueId8
new file mode 100644
index 0000000000000000000000000000000000000000..a05e120336680c15a80138be7c30617ca4e5473c
Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/module-info.class.uniqueId8 differ
diff --git a/build/tmp/compileJava/previous-compilation-data.bin b/build/tmp/compileJava/previous-compilation-data.bin
new file mode 100644
index 0000000000000000000000000000000000000000..4506cac875085a77e1995cb942bf7ee8407cb402
Binary files /dev/null and b/build/tmp/compileJava/previous-compilation-data.bin differ
diff --git a/src/main/java/model/FireFactory.java b/src/main/java/model/FireFactory.java
index 4e332941d724348441ada529b546407cae612b01..44bc19838bff6dd2ae138f89beaa58398d569308 100644
--- a/src/main/java/model/FireFactory.java
+++ b/src/main/java/model/FireFactory.java
@@ -26,7 +26,7 @@ public class FireFactory {
         List<Fire> fires = new ArrayList<>();
         for (int i = 0; i < count; i++) {
             Position randomPosition = generateRandomPosition(rowCount, columnCount);
-            boolean add = fires.add(new Fire(randomPosition);
+            boolean add = fires.add(new Fire(randomPosition));
         }
         return fires;
     }