diff --git a/.gradle/8.10.2/checksums/checksums.lock b/.gradle/8.10.2/checksums/checksums.lock
index 043b894a02046f8d226643632f8a0216fba38ef9..9a48770de98b1b2b8eb626e25112f35033bc89f5 100644
Binary files a/.gradle/8.10.2/checksums/checksums.lock and b/.gradle/8.10.2/checksums/checksums.lock differ
diff --git a/.gradle/8.10.2/executionHistory/executionHistory.bin b/.gradle/8.10.2/executionHistory/executionHistory.bin
index d0fa96820d92b8d834b6b218bd03afa7cd37f35e..c0a42c7452a4575babe301dc69faa530ed2cbe90 100644
Binary files a/.gradle/8.10.2/executionHistory/executionHistory.bin 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
index c668b705cbeda2ebb2ed072f28b06c922e9872dc..98d73a3399a2b7b9b7ff57fa3eea70a4f7839ddc 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.bin b/.gradle/8.10.2/fileHashes/fileHashes.bin
index 803eab6510043dbe7a5b7fa6c2108bcb999d0edc..c35144f2a00d4ba378afd60d01af48907f17982f 100644
Binary files a/.gradle/8.10.2/fileHashes/fileHashes.bin 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
index 3b0cd92bcdb5e23f89ee3653460d12c78d3dbba5..4f35ed9a365ea24a158c92d38ef87c6bf1242313 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/8.10.2/fileHashes/resourceHashesCache.bin b/.gradle/8.10.2/fileHashes/resourceHashesCache.bin
index 939f09837f6750368cd220fe29a1d041584c4afd..348ea7ad62ba65646d45e49e668d46333d7a03ed 100644
Binary files a/.gradle/8.10.2/fileHashes/resourceHashesCache.bin and b/.gradle/8.10.2/fileHashes/resourceHashesCache.bin differ
diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock
index a6876edd0b7b7635b7232cca2a850aecfd35e47b..9ba9563f962b6585455bfe2c037bc6af57222143 100644
Binary files a/.gradle/buildOutputCleanup/buildOutputCleanup.lock and b/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ
diff --git a/.gradle/buildOutputCleanup/cache.properties b/.gradle/buildOutputCleanup/cache.properties
index cb5bb7754b134dfca7eadae9885a1fa436b858d1..bd22e77178782a06d6ce6369bda5ae237d9eca91 100644
--- a/.gradle/buildOutputCleanup/cache.properties
+++ b/.gradle/buildOutputCleanup/cache.properties
@@ -1,2 +1,2 @@
-#Fri Nov 08 10:44:42 CET 2024
+#Fri Nov 15 01:38:12 CET 2024
 gradle.version=8.10.2
diff --git a/.gradle/buildOutputCleanup/outputFiles.bin b/.gradle/buildOutputCleanup/outputFiles.bin
index 1173e42696009793af53ecbe953af407ab7eebea..25eff8e95de6232ae9d9ebf35b227ca9a0d0ecd4 100644
Binary files a/.gradle/buildOutputCleanup/outputFiles.bin and b/.gradle/buildOutputCleanup/outputFiles.bin differ
diff --git a/.gradle/file-system.probe b/.gradle/file-system.probe
new file mode 100644
index 0000000000000000000000000000000000000000..a4dcfe8c2c2a1e7d1b787d75a9f1db6df78b7604
Binary files /dev/null and b/.gradle/file-system.probe differ
diff --git a/build/classes/java/main/app/SimulatorApplication.class b/build/classes/java/main/app/SimulatorApplication.class
index 0945559258306b09c37b530b8c44adfb1b4b4489..e59db45cc2ae6bd48b1b517132ce22b532b94837 100644
Binary files a/build/classes/java/main/app/SimulatorApplication.class 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
index 1d13229f73ef27c233a432bc89aa3dffc086246a..a2dee6a565c2ac303dd2d6027dbf08183edeeddf 100644
Binary files a/build/classes/java/main/app/SimulatorMain.class and b/build/classes/java/main/app/SimulatorMain.class differ
diff --git a/build/classes/java/main/controller/Controller.class b/build/classes/java/main/controller/Controller.class
index 02198abdf2c604ece2c32c166bd85717d737a8a8..2ae9c8dfd27b8159b1fbda744fc51dbcf74a7208 100644
Binary files a/build/classes/java/main/controller/Controller.class 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
index 314954a9fd4ab6d48da5fec7067063879e670d62..da299736efc238eef36f74e7abed7e5b291eba8d 100644
Binary files a/build/classes/java/main/controller/PersistentToggleGroup.class 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
index a1f8169e45fef3872ae559ad22bdf5a3d6f63dfd..18242fdec83565452b8793a712481ec89a92e393 100644
Binary files a/build/classes/java/main/model/Board.class and b/build/classes/java/main/model/Board.class differ
diff --git a/build/classes/java/main/model/FirefighterBoard$1.class b/build/classes/java/main/model/FirefighterBoard$1.class
index 004616f51fb06ff5fa53d8aea4f8a5caa935657a..d64505cab365e534a54be514fc590eb34187f29d 100644
Binary files a/build/classes/java/main/model/FirefighterBoard$1.class and b/build/classes/java/main/model/FirefighterBoard$1.class differ
diff --git a/build/classes/java/main/model/FirefighterBoard.class b/build/classes/java/main/model/FirefighterBoard.class
index 9e4905053dc72ccc489683c4200977009df9a3c7..deaf4965eca3a1db04908dcb2c3318b9eb99139d 100644
Binary files a/build/classes/java/main/model/FirefighterBoard.class 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
index e887566759fb01aed2ab711f099937875c2bb600..a8d4045ab891667fdd4c00b95d0a3805b20922b6 100644
Binary files a/build/classes/java/main/model/ModelElement.class and b/build/classes/java/main/model/ModelElement.class differ
diff --git a/build/classes/java/main/model/TargetStrategy.class b/build/classes/java/main/model/TargetStrategy.class
index da7b5d502c5df72549a10bebc64bd97a5fdc5805..272a8a365d25f31d75be5e7cb9666888626ecebe 100644
Binary files a/build/classes/java/main/model/TargetStrategy.class and b/build/classes/java/main/model/TargetStrategy.class differ
diff --git a/build/classes/java/main/module-info.class b/build/classes/java/main/module-info.class
index a05e120336680c15a80138be7c30617ca4e5473c..f0b28b3b4966d6d1c1eac55f53fff160e8e01b67 100644
Binary files a/build/classes/java/main/module-info.class 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
index 89bcfc46acba6bd77f0f54570c0b935dce0be942..afa6140ff267268bf6756e3a97e89a7b9e3ad65c 100644
Binary files a/build/classes/java/main/util/Position.class and b/build/classes/java/main/util/Position.class differ
diff --git a/build/classes/java/main/view/FirefighterGrid.class b/build/classes/java/main/view/FirefighterGrid.class
index 831699ca3ca58a17f7b79bad1d1464aeb6d30a4c..05ec18aeff68513e99aa82d1e6ae68a3edf3cccd 100644
Binary files a/build/classes/java/main/view/FirefighterGrid.class 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
index c4fa5e96b46909e2a89e512f2ad9c2d4d042260c..3db58592fb018dfd2fdd792ea9ad02a2a0d797c1 100644
Binary files a/build/classes/java/main/view/Grid.class 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
index 0ea0f2a1be043584c460f2e4488911772ffa0f00..17389619f589a75dd7d3a484dab4e70f9a197003 100644
Binary files a/build/classes/java/main/view/ViewElement.class and b/build/classes/java/main/view/ViewElement.class differ
diff --git a/build/classes/java/test/model/FirefighterBoardTest.class b/build/classes/java/test/model/FirefighterBoardTest.class
index a0d71f0e7a0e444e0331454984cd677da7957fb9..21d13f1cc1402592912e6a62f579ee1dcbfca7ef 100644
Binary files a/build/classes/java/test/model/FirefighterBoardTest.class and b/build/classes/java/test/model/FirefighterBoardTest.class differ
diff --git a/build/classes/java/test/view/FirefighterGridTest.class b/build/classes/java/test/view/FirefighterGridTest.class
index b8335e099e4f989000df234f05f46ba140059ee7..281b17c8e26e41d3c98363898d7b8885135a4096 100644
Binary files a/build/classes/java/test/view/FirefighterGridTest.class and b/build/classes/java/test/view/FirefighterGridTest.class differ
diff --git a/build/distributions/firefighter-shadow.tar b/build/distributions/firefighter-shadow.tar
index 68f814782f34fbefbf12c4dd1ab334ceb2f1c03d..68be05d50c3a4b953a130dec3492279ddf3b8a7d 100644
Binary files a/build/distributions/firefighter-shadow.tar and b/build/distributions/firefighter-shadow.tar differ
diff --git a/build/distributions/firefighter-shadow.zip b/build/distributions/firefighter-shadow.zip
index 2305920292f626316777a8f8b34bfbe37bcc6caa..d6211d0c2deeaf119090160c1d1c5cca7bccfc13 100644
Binary files a/build/distributions/firefighter-shadow.zip and b/build/distributions/firefighter-shadow.zip differ
diff --git a/build/distributions/firefighter.tar b/build/distributions/firefighter.tar
index 4599f6537aa5dd6bffc74dc9537cc000bd035013..f78a92995dee800db6be5de90a1521d7e11f29d7 100644
Binary files a/build/distributions/firefighter.tar and b/build/distributions/firefighter.tar differ
diff --git a/build/distributions/firefighter.zip b/build/distributions/firefighter.zip
index 997c1da4cf86dea86a1d8a5d29339797132e9337..6723a0ad29115e8d53153f57c4763ff60684a9cf 100644
Binary files a/build/distributions/firefighter.zip and b/build/distributions/firefighter.zip differ
diff --git a/build/libs/firefighter-all.jar b/build/libs/firefighter-all.jar
index ce8b934283f2a13d6fed1693b27ea05855666c09..df96d958bcabce52945f32b3edecc08b4153def0 100644
Binary files a/build/libs/firefighter-all.jar and b/build/libs/firefighter-all.jar differ
diff --git a/build/libs/firefighter.jar b/build/libs/firefighter.jar
index 9bb943939cf2b99adcf0b98c7c3c98d4a38cc19d..282518b41b4f7a4d6be4e881bb3e4e1e370ce27e 100644
Binary files a/build/libs/firefighter.jar and b/build/libs/firefighter.jar differ
diff --git a/build/reports/tests/test/classes/model.FirefighterBoardTest.html b/build/reports/tests/test/classes/model.FirefighterBoardTest.html
index 5033978d6858f39f4cd9a9d42031a10a84aa33a4..946674e0c4eea02e35545d44837aa27438771afb 100644
--- a/build/reports/tests/test/classes/model.FirefighterBoardTest.html
+++ b/build/reports/tests/test/classes/model.FirefighterBoardTest.html
@@ -41,7 +41,7 @@
 </td>
 <td>
 <div class="infoBox" id="duration">
-<div class="counter">0.109s</div>
+<div class="counter">0.279s</div>
 <p>duration</p>
 </div>
 </td>
@@ -76,12 +76,12 @@
 </thead>
 <tr>
 <td class="success">testColumnCount()</td>
-<td class="success">0.080s</td>
+<td class="success">0.234s</td>
 <td class="success">passed</td>
 </tr>
 <tr>
 <td class="success">testGetState_afterSet()</td>
-<td class="success">0.016s</td>
+<td class="success">0.022s</td>
 <td class="success">passed</td>
 </tr>
 <tr>
@@ -91,7 +91,7 @@
 </tr>
 <tr>
 <td class="success">testStepNumber()</td>
-<td class="success">0.011s</td>
+<td class="success">0.021s</td>
 <td class="success">passed</td>
 </tr>
 </table>
@@ -104,7 +104,7 @@
 <input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
 </label>
 </div>Generated by 
-<a href="http://www.gradle.org">Gradle 8.10.2</a> at 8 nov. 2024, 11:31:38</p>
+<a href="http://www.gradle.org">Gradle 8.10.2</a> at 15 nov. 2024, 01:39:00</p>
 </div>
 </div>
 </body>
diff --git a/build/reports/tests/test/classes/view.FirefighterGridTest.html b/build/reports/tests/test/classes/view.FirefighterGridTest.html
index 64fb6e599a2613e1c461dd8ea91d4785a041ffdd..9cad9020d084b420390b37744c05fea2a4afe227 100644
--- a/build/reports/tests/test/classes/view.FirefighterGridTest.html
+++ b/build/reports/tests/test/classes/view.FirefighterGridTest.html
@@ -41,7 +41,7 @@
 </td>
 <td>
 <div class="infoBox" id="duration">
-<div class="counter">0.228s</div>
+<div class="counter">1.763s</div>
 <p>duration</p>
 </div>
 </td>
@@ -76,12 +76,12 @@
 </thead>
 <tr>
 <td class="success">testColumnCount()</td>
-<td class="success">0.227s</td>
+<td class="success">1.761s</td>
 <td class="success">passed</td>
 </tr>
 <tr>
 <td class="success">testRowCount()</td>
-<td class="success">0.001s</td>
+<td class="success">0.002s</td>
 <td class="success">passed</td>
 </tr>
 </table>
@@ -94,7 +94,7 @@
 <input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
 </label>
 </div>Generated by 
-<a href="http://www.gradle.org">Gradle 8.10.2</a> at 8 nov. 2024, 11:31:38</p>
+<a href="http://www.gradle.org">Gradle 8.10.2</a> at 15 nov. 2024, 01:39:00</p>
 </div>
 </div>
 </body>
diff --git a/build/reports/tests/test/index.html b/build/reports/tests/test/index.html
index c04563ae6aeadf3eceb08a6b4e37fc43de083851..59ffa3a2d66c934f6d1ad55b6fac2c0ecaa4c4fc 100644
--- a/build/reports/tests/test/index.html
+++ b/build/reports/tests/test/index.html
@@ -38,7 +38,7 @@
 </td>
 <td>
 <div class="infoBox" id="duration">
-<div class="counter">0.337s</div>
+<div class="counter">2.042s</div>
 <p>duration</p>
 </div>
 </td>
@@ -85,7 +85,7 @@
 <td>4</td>
 <td>0</td>
 <td>0</td>
-<td>0.109s</td>
+<td>0.279s</td>
 <td class="success">100%</td>
 </tr>
 <tr>
@@ -95,7 +95,7 @@
 <td>2</td>
 <td>0</td>
 <td>0</td>
-<td>0.228s</td>
+<td>1.763s</td>
 <td class="success">100%</td>
 </tr>
 </tbody>
@@ -122,7 +122,7 @@
 <td>4</td>
 <td>0</td>
 <td>0</td>
-<td>0.109s</td>
+<td>0.279s</td>
 <td class="success">100%</td>
 </tr>
 <tr>
@@ -132,7 +132,7 @@
 <td>2</td>
 <td>0</td>
 <td>0</td>
-<td>0.228s</td>
+<td>1.763s</td>
 <td class="success">100%</td>
 </tr>
 </tbody>
@@ -146,7 +146,7 @@
 <input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
 </label>
 </div>Generated by 
-<a href="http://www.gradle.org">Gradle 8.10.2</a> at 8 nov. 2024, 11:31:38</p>
+<a href="http://www.gradle.org">Gradle 8.10.2</a> at 15 nov. 2024, 01:39:00</p>
 </div>
 </div>
 </body>
diff --git a/build/reports/tests/test/packages/model.html b/build/reports/tests/test/packages/model.html
index bac69a95a6be17b707ad6c0e087b204ca4c40318..2c9dac1338405c7c20355389938aedb0c89dc6f7 100644
--- a/build/reports/tests/test/packages/model.html
+++ b/build/reports/tests/test/packages/model.html
@@ -40,7 +40,7 @@
 </td>
 <td>
 <div class="infoBox" id="duration">
-<div class="counter">0.109s</div>
+<div class="counter">0.279s</div>
 <p>duration</p>
 </div>
 </td>
@@ -83,7 +83,7 @@
 <td>4</td>
 <td>0</td>
 <td>0</td>
-<td>0.109s</td>
+<td>0.279s</td>
 <td class="success">100%</td>
 </tr>
 </table>
@@ -96,7 +96,7 @@
 <input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
 </label>
 </div>Generated by 
-<a href="http://www.gradle.org">Gradle 8.10.2</a> at 8 nov. 2024, 11:31:38</p>
+<a href="http://www.gradle.org">Gradle 8.10.2</a> at 15 nov. 2024, 01:39:00</p>
 </div>
 </div>
 </body>
diff --git a/build/reports/tests/test/packages/view.html b/build/reports/tests/test/packages/view.html
index 09322678ed06d8e0949b669a227c608fb33ac214..aef2dd0099015772f7a8203480efcfc98c68a66a 100644
--- a/build/reports/tests/test/packages/view.html
+++ b/build/reports/tests/test/packages/view.html
@@ -40,7 +40,7 @@
 </td>
 <td>
 <div class="infoBox" id="duration">
-<div class="counter">0.228s</div>
+<div class="counter">1.763s</div>
 <p>duration</p>
 </div>
 </td>
@@ -83,7 +83,7 @@
 <td>2</td>
 <td>0</td>
 <td>0</td>
-<td>0.228s</td>
+<td>1.763s</td>
 <td class="success">100%</td>
 </tr>
 </table>
@@ -96,7 +96,7 @@
 <input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
 </label>
 </div>Generated by 
-<a href="http://www.gradle.org">Gradle 8.10.2</a> at 8 nov. 2024, 11:31:38</p>
+<a href="http://www.gradle.org">Gradle 8.10.2</a> at 15 nov. 2024, 01:39:00</p>
 </div>
 </div>
 </body>
diff --git a/build/scripts/firefighter b/build/scripts/firefighter
index f14c33053ef5daa948cb848df0d5f2d8fe4204a1..2d0d80b9a9480c8c5de330291d4133ac325cc1ec 100755
--- a/build/scripts/firefighter
+++ b/build/scripts/firefighter
@@ -115,7 +115,7 @@ case "$( uname )" in                #(
   NONSTOP* )        nonstop=true ;;
 esac
 
-CLASSPATH=$APP_HOME/lib/firefighter.jar:$APP_HOME/lib/javafx-fxml-21-linux.jar:$APP_HOME/lib/javafx-controls-21-linux.jar:$APP_HOME/lib/javafx-graphics-21-linux.jar:$APP_HOME/lib/javafx-base-21-linux.jar
+CLASSPATH=$APP_HOME/lib/firefighter.jar:$APP_HOME/lib/javafx-fxml-21-win.jar:$APP_HOME/lib/javafx-controls-21-win.jar:$APP_HOME/lib/javafx-graphics-21-win.jar:$APP_HOME/lib/javafx-base-21-win.jar
 
 
 # Determine the Java command to use to start the JVM.
diff --git a/build/scripts/firefighter.bat b/build/scripts/firefighter.bat
index 8a549278323de8af8270f8c39555b9d64b6caed5..857694a25003015075bc2c5b0a8c46e60790987d 100644
--- a/build/scripts/firefighter.bat
+++ b/build/scripts/firefighter.bat
@@ -70,7 +70,7 @@ goto fail
 :execute
 @rem Setup the command line
 
-set CLASSPATH=%APP_HOME%\lib\firefighter.jar;%APP_HOME%\lib\javafx-fxml-21-linux.jar;%APP_HOME%\lib\javafx-controls-21-linux.jar;%APP_HOME%\lib\javafx-graphics-21-linux.jar;%APP_HOME%\lib\javafx-base-21-linux.jar
+set CLASSPATH=%APP_HOME%\lib\firefighter.jar;%APP_HOME%\lib\javafx-fxml-21-win.jar;%APP_HOME%\lib\javafx-controls-21-win.jar;%APP_HOME%\lib\javafx-graphics-21-win.jar;%APP_HOME%\lib\javafx-base-21-win.jar
 
 
 @rem Execute firefighter
diff --git a/build/test-results/test/TEST-model.FirefighterBoardTest.xml b/build/test-results/test/TEST-model.FirefighterBoardTest.xml
index 6f8fdaf694f2a5b89bb1f480d43d18dbd35fd5a2..87b9b2fd4eed371010f57a8aab88ed34a502f84f 100644
--- a/build/test-results/test/TEST-model.FirefighterBoardTest.xml
+++ b/build/test-results/test/TEST-model.FirefighterBoardTest.xml
@@ -1,10 +1,10 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<testsuite name="model.FirefighterBoardTest" tests="4" skipped="0" failures="0" errors="0" timestamp="2024-11-08T10:31:37" hostname="V-PJ-47-124" time="0.113">
+<testsuite name="model.FirefighterBoardTest" tests="4" skipped="0" failures="0" errors="0" timestamp="2024-11-15T00:38:58" hostname="DESKTOP-ETSE1TF" time="0.285">
   <properties/>
-  <testcase name="testColumnCount()" classname="model.FirefighterBoardTest" time="0.08"/>
-  <testcase name="testGetState_afterSet()" classname="model.FirefighterBoardTest" time="0.016"/>
+  <testcase name="testColumnCount()" classname="model.FirefighterBoardTest" time="0.234"/>
+  <testcase name="testGetState_afterSet()" classname="model.FirefighterBoardTest" time="0.022"/>
   <testcase name="testRowCount()" classname="model.FirefighterBoardTest" time="0.002"/>
-  <testcase name="testStepNumber()" classname="model.FirefighterBoardTest" time="0.011"/>
+  <testcase name="testStepNumber()" classname="model.FirefighterBoardTest" time="0.021"/>
   <system-out><![CDATA[]]></system-out>
   <system-err><![CDATA[]]></system-err>
 </testsuite>
diff --git a/build/test-results/test/TEST-view.FirefighterGridTest.xml b/build/test-results/test/TEST-view.FirefighterGridTest.xml
index 344be7ba413458af638fddbd8193fa67727c92b3..c2903db4997ae6d6c53c3393bb83d77805e69845 100644
--- a/build/test-results/test/TEST-view.FirefighterGridTest.xml
+++ b/build/test-results/test/TEST-view.FirefighterGridTest.xml
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<testsuite name="view.FirefighterGridTest" tests="2" skipped="0" failures="0" errors="0" timestamp="2024-11-08T10:31:37" hostname="V-PJ-47-124" time="0.229">
+<testsuite name="view.FirefighterGridTest" tests="2" skipped="0" failures="0" errors="0" timestamp="2024-11-15T00:38:58" hostname="DESKTOP-ETSE1TF" time="1.764">
   <properties/>
-  <testcase name="testColumnCount()" classname="view.FirefighterGridTest" time="0.227"/>
-  <testcase name="testRowCount()" classname="view.FirefighterGridTest" time="0.001"/>
+  <testcase name="testColumnCount()" classname="view.FirefighterGridTest" time="1.761"/>
+  <testcase name="testRowCount()" classname="view.FirefighterGridTest" time="0.002"/>
   <system-out><![CDATA[]]></system-out>
   <system-err><![CDATA[]]></system-err>
 </testsuite>
diff --git a/build/test-results/test/binary/results.bin b/build/test-results/test/binary/results.bin
index 2a18b0408ca02f6624488922fbb683d593a865fd..76a2d705df0fde4e96a98b71c3dc1a7bb9825ddf 100644
Binary files a/build/test-results/test/binary/results.bin and b/build/test-results/test/binary/results.bin differ
diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/Controller.class.uniqueId3 b/build/tmp/compileJava/compileTransaction/stash-dir/Controller.class.uniqueId3
new file mode 100644
index 0000000000000000000000000000000000000000..2ae9c8dfd27b8159b1fbda744fc51dbcf74a7208
Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/Controller.class.uniqueId3 differ
diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/FirefighterBoard$1.class.uniqueId1 b/build/tmp/compileJava/compileTransaction/stash-dir/FirefighterBoard$1.class.uniqueId1
new file mode 100644
index 0000000000000000000000000000000000000000..d64505cab365e534a54be514fc590eb34187f29d
Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/FirefighterBoard$1.class.uniqueId1 differ
diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/FirefighterBoard.class.uniqueId0 b/build/tmp/compileJava/compileTransaction/stash-dir/FirefighterBoard.class.uniqueId0
new file mode 100644
index 0000000000000000000000000000000000000000..deaf4965eca3a1db04908dcb2c3318b9eb99139d
Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/FirefighterBoard.class.uniqueId0 differ
diff --git a/build/tmp/compileJava/compileTransaction/stash-dir/module-info.class.uniqueId2 b/build/tmp/compileJava/compileTransaction/stash-dir/module-info.class.uniqueId2
new file mode 100644
index 0000000000000000000000000000000000000000..f0b28b3b4966d6d1c1eac55f53fff160e8e01b67
Binary files /dev/null and b/build/tmp/compileJava/compileTransaction/stash-dir/module-info.class.uniqueId2 differ
diff --git a/build/tmp/compileJava/previous-compilation-data.bin b/build/tmp/compileJava/previous-compilation-data.bin
index e846cd13156ce65c22fd216da5320b043702b3b7..1151d7ece14bd6617d696b95a15f9b265e30e073 100644
Binary files a/build/tmp/compileJava/previous-compilation-data.bin and b/build/tmp/compileJava/previous-compilation-data.bin differ
diff --git a/build/tmp/compileTestJava/previous-compilation-data.bin b/build/tmp/compileTestJava/previous-compilation-data.bin
index 2608b80fe74892bfa218f0ca7cb206cf3b859641..8bcd92c263551a4fa9f3451ae525fe5896052001 100644
Binary files a/build/tmp/compileTestJava/previous-compilation-data.bin and b/build/tmp/compileTestJava/previous-compilation-data.bin differ
diff --git a/build/tmp/shadowJar/MANIFEST.MF b/build/tmp/shadowJar/MANIFEST.MF
index 2c5dafadb5f53a219e1c22537b872baf7d0b350d..59499bce4a2bd51cba227b7c00fcf745b19c95a4 100644
--- a/build/tmp/shadowJar/MANIFEST.MF
+++ b/build/tmp/shadowJar/MANIFEST.MF
@@ -1,3 +1,2 @@
 Manifest-Version: 1.0
-Main-Class: app.SimulatorMain
 
diff --git a/src/main/java/model/Behavior.java b/src/main/java/model/Behavior.java
new file mode 100644
index 0000000000000000000000000000000000000000..fd14b4743c7c4cf85ed465429e473c7b0b62587d
--- /dev/null
+++ b/src/main/java/model/Behavior.java
@@ -0,0 +1,5 @@
+package model;
+
+public interface Behavior {
+    public void move();
+}
diff --git a/src/main/java/model/CloudManager.java b/src/main/java/model/CloudManager.java
deleted file mode 100644
index 56a4890560fa65221b25e574314a816355f5d501..0000000000000000000000000000000000000000
--- a/src/main/java/model/CloudManager.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package model;
-
-public class CloudManager {
-}
diff --git a/src/main/java/model/Element.java b/src/main/java/model/Element.java
new file mode 100644
index 0000000000000000000000000000000000000000..76b4de8b81d124be94b6db2338ed7351cc73e58a
--- /dev/null
+++ b/src/main/java/model/Element.java
@@ -0,0 +1,18 @@
+package model;
+
+import util.Position;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public abstract class  Element {
+    ModelElement type;
+    Behavior behavior;
+    List<ModelElement> obstacles;
+    public Element(ModelElement type, Behavior behavior, ArrayList<ModelElement> obstacles) {
+        this.type = type;
+        this.behavior = behavior;
+        this.obstacles = obstacles;
+    }
+    public abstract List<Position> Update(List<Position>[] board,List<Position> modifiedList);
+}
diff --git a/src/main/java/model/Fire.java b/src/main/java/model/Fire.java
new file mode 100644
index 0000000000000000000000000000000000000000..545268257546d8b70d0efc224286f5e2acdd1f17
--- /dev/null
+++ b/src/main/java/model/Fire.java
@@ -0,0 +1,20 @@
+package model;
+
+import util.Position;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class Fire extends Element{
+
+    public Fire() {
+            super(ModelElement.FIRE,
+                    new FireBehavior(),
+                    new ArrayList<ModelElement>());
+    }
+
+    @Override
+    public List<Position> Update(List<Position>[] board, List<Position> modifiedList) {
+        return List.of();
+    }
+}
diff --git a/src/main/java/model/FireBehavior.java b/src/main/java/model/FireBehavior.java
new file mode 100644
index 0000000000000000000000000000000000000000..bb701b3834e7b4c8a6a9c88a493dbc941911a771
--- /dev/null
+++ b/src/main/java/model/FireBehavior.java
@@ -0,0 +1,8 @@
+package model;
+
+public class FireBehavior implements Behavior {
+    @Override
+    public void move() {
+
+    }
+}
diff --git a/src/main/java/model/FireManager.java b/src/main/java/model/FireManager.java
deleted file mode 100644
index 2cdbe648076928554742623f63b18abf35eeb094..0000000000000000000000000000000000000000
--- a/src/main/java/model/FireManager.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package model;
-
-import util.Position;
-
-import java.util.Set;
-
-public class FireManager extends Manager{
-    private Set<Position> firePositions;
-    public FireManager(FirefighterBoard board) {
-        super(board,ModelElement.FIRE, new ModelElement[]{ModelElement.ROAD, ModelElement.MOUNTAIN});
-    }
-
-    @Override
-    public void update() {
-        ;
-    }
-    private void extinguish(Position position) {
-        firePositions.remove(position);
-    }
-
-}
diff --git a/src/main/java/model/Firefighter.java b/src/main/java/model/Firefighter.java
new file mode 100644
index 0000000000000000000000000000000000000000..05920b8bf7e5e858286c479c7a88810335367eae
--- /dev/null
+++ b/src/main/java/model/Firefighter.java
@@ -0,0 +1,20 @@
+package model;
+
+import util.Position;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class Firefighter extends Element{
+
+    public Firefighter() {
+            super(ModelElement.FIREFIGHTER,
+                    new FirefighterBehavior(),
+                    new ArrayList<ModelElement>());
+    }
+
+    @Override
+    public List<Position> Update(List<Position>[] board, List<Position> modifiedList) {
+        return List.of();
+    }
+}
diff --git a/src/main/java/model/FirefighterBehavior.java b/src/main/java/model/FirefighterBehavior.java
new file mode 100644
index 0000000000000000000000000000000000000000..9d6da9cfd5cbbeb2af402515cb66d167fa5b6e82
--- /dev/null
+++ b/src/main/java/model/FirefighterBehavior.java
@@ -0,0 +1,8 @@
+package model;
+
+public class FirefighterBehavior implements Behavior {
+    @Override
+    public void move() {
+
+    }
+}
diff --git a/src/main/java/model/FirefighterManager.java b/src/main/java/model/FirefighterManager.java
deleted file mode 100644
index eef19de9fd3879ed591d16d6ad26206bd4a61c5a..0000000000000000000000000000000000000000
--- a/src/main/java/model/FirefighterManager.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package model;
-
-import util.Position;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public abstract class FirefighterManager extends Manager {
-    private List<Position> firefighterPositions;
-    private int speed;
-    model.TargetStrategy targetStrategy;
-    public FirefighterManager(FirefighterBoard board,ModelElement managed,ModelElement[] obstacle,int speed) {
-        super(board,managed,obstacle);
-        this.speed=speed;
-    }
-    @Override
-    public void update() {
-       for(int i=0;i<speed;i++) {
-           partialUpdate(firefighterPositions);
-       }
-    }
-    public List<Position> partialUpdate(List<Position> positions) {
-        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)
-                extinguish(firePosition);
-            modifiedPosition.addAll(neighborFirePositions);
-        }
-        firefighterPositions = firefighterNewPositions;
-        return modifiedPosition;
-    }
-}
diff --git a/src/main/java/model/FirefighterUpdater.java b/src/main/java/model/FirefighterUpdater.java
new file mode 100644
index 0000000000000000000000000000000000000000..c0de079909ce9a06f2cc56f6e3f862a3c4daf0a4
--- /dev/null
+++ b/src/main/java/model/FirefighterUpdater.java
@@ -0,0 +1,4 @@
+package model;
+
+public class FirefighterUpdater implements Updater {
+}
diff --git a/src/main/java/model/Manager.java b/src/main/java/model/Manager.java
deleted file mode 100644
index fc0e0e940f092b44144912006114355bcee7de16..0000000000000000000000000000000000000000
--- a/src/main/java/model/Manager.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package model;
-import util.Position;
-
-import java.util.ArrayList;
-
-public abstract class Manager {
-    private ModelElement managed;
-    private ModelElement[] Obstacles;
-    private FirefighterBoard board;
-
-    public Manager(FirefighterBoard board,ModelElement managed,ModelElement[] obstacle) {
-        this.board = board;
-        this.managed = managed;
-        this.Obstacles = obstacle;
-    }
-    public void initialize(){
-
-    }
-    public abstract void update();
-}
diff --git a/src/main/java/model/ModelElement.java b/src/main/java/model/ModelElement.java
index 7b2ffc0e20a6434d4b518d73ad843806288fd1d6..759eee5e54c3a39472d8f7defbbbe6a2b67b8f00 100644
--- a/src/main/java/model/ModelElement.java
+++ b/src/main/java/model/ModelElement.java
@@ -1,5 +1,5 @@
 package model;
 
 public enum ModelElement {
-  FIREFIGHTER,MOTORIZEDFIREFIGHTER,FIRE,CLOUD,ROAD,ROCK,MOUNTAIN
+  FIREFIGHTER, FIRE
 }
diff --git a/src/main/java/model/MotorizedFireFighter.java b/src/main/java/model/MotorizedFireFighter.java
deleted file mode 100644
index 33c64e17d5a14b94f2e47b518873cfba568508b7..0000000000000000000000000000000000000000
--- a/src/main/java/model/MotorizedFireFighter.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package model;
-
-public class MotorizedFireFighter extends FirefighterManager {
-    public MotorizedFireFighter(FirefighterBoard board) {
-        super(  board,
-                ModelElement.MOTORIZEDFIREFIGHTER,
-                new ModelElement[]{ModelElement.MOUNTAIN},
-                2);
-    }
-}
diff --git a/src/main/java/model/Rock.java b/src/main/java/model/Rock.java
deleted file mode 100644
index e2c50d8f1d2851cad469f57c1d250ae5b65956f9..0000000000000000000000000000000000000000
--- a/src/main/java/model/Rock.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package model;
-
-public class Rock {
-    private int life;
-
-    public Rock() {
-        life=4;
-    }
-
-    public int getLife() {
-        return life;
-    }
-
-    public void getDamage() {
-        life--;
-    }
-}
diff --git a/src/main/java/model/RockManager.java b/src/main/java/model/RockManager.java
deleted file mode 100644
index c94b0e04a63570ba0913981e249f8f4b5a1ca159..0000000000000000000000000000000000000000
--- a/src/main/java/model/RockManager.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package model;
-
-public class RockManager {
-}
diff --git a/src/main/java/model/StandardFireFighter.java b/src/main/java/model/StandardFireFighter.java
deleted file mode 100644
index 2d1b37159a70959bbbf6adffe573d8a0d86b69ed..0000000000000000000000000000000000000000
--- a/src/main/java/model/StandardFireFighter.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package model;
-
-public class StandardFireFighter extends FirefighterManager {
-    public StandardFireFighter(FirefighterBoard board) {
-        super(  board,
-                ModelElement.FIREFIGHTER,
-                new ModelElement[]{ModelElement.MOUNTAIN},
-                1);
-    }
-}
diff --git a/src/main/java/model/Updater.java b/src/main/java/model/Updater.java
new file mode 100644
index 0000000000000000000000000000000000000000..dee86843764307564b37479f0811739417b9889a
--- /dev/null
+++ b/src/main/java/model/Updater.java
@@ -0,0 +1,4 @@
+package model;
+
+public interface Updater {
+}