diff --git a/app/src/main/java/controller/GameController.java b/app/src/main/java/controller/GameController.java
index 744e81c598a8e12a2418ab20e75d4f7cae4da39f..6f9b1656942e7bbce990486299fc9cdf07b39c86 100644
--- a/app/src/main/java/controller/GameController.java
+++ b/app/src/main/java/controller/GameController.java
@@ -55,45 +55,37 @@ public class GameController {
 
 
     private void colorGrid(ColorGenerator colorGenerator){
-        // TODO
          matrixPane.getGrid().color(colorGenerator);
     }
 
 
     @FXML
     public void fillGridUniform() {
-        // TODO uncomment:
          colorGrid(new UniformColorGenerator(COLOR_ONE));
     }
 
     @FXML
     public void fillGridRandom() {
-        // TODO uncomment
           colorGrid(new RandomColorGenerator(availableColors,random));
     }
 
     @FXML
     public void fillGridDistinct() {
-        // TODO uncomment
           fillGridUniform();
           colorGrid(new DistinctColorGenerator(COLOR_ONE,List.of(COLOR_THREE, COLOR_FOUR)));
     }
 
     @FXML
     public void fillGridCycle() {
-        // TODO uncomment
           colorGrid(new CyclicColorGenerator(availableColors));
     }
 
     @FXML
     public void fillGridUniformExceptOne() {
-        // TODO uncomment
           colorGrid(new UniformExceptOneGenerator(COLOR_ONE,COLOR_TWO));
     }
 
     private void playComputerTurn(){
-        // TODO
-        //  uncomment
          if (!game.hasEnded() && !game.isHumanTurn()){
             ComputerPlayer player = ((ComputerPlayer) game.getPlayer());
             Flooder.flood(player.getStartCell(), player.play());
@@ -103,8 +95,6 @@ public class GameController {
     }
 
     public void playHumanTurn(Color color){
-        // TODO
-        //  uncomment
          if(!game.hasEnded() && game.isHumanTurn()){
              Flooder.flood(game.getPlayer().getStartCell(), color);
             setScoreLabelTextProperty();
@@ -121,8 +111,6 @@ public class GameController {
     }
 
     private void setScoreLabelTextProperty() {
-        // TODO
-        //  uncomment
          Player player = game.getPlayer();
          scoreLabel.textProperty().setValue(Integer.toString(game.getPlayerScore(player)));
     }
@@ -144,7 +132,6 @@ public class GameController {
 
     @FXML
     public void setPlayerHuman(){
-        // TODO
         game.setPlayer(new HumanPlayer("human", getGridStartCell()));
     }
 
diff --git a/app/src/main/java/model/CellGridIterator.java b/app/src/main/java/model/CellGridIterator.java
index 44c45dfbacb369df3a7bf809a72d8ad71b24ea3d..a68056add9934fd6c12b434b22757cb9623cffa4 100644
--- a/app/src/main/java/model/CellGridIterator.java
+++ b/app/src/main/java/model/CellGridIterator.java
@@ -15,7 +15,7 @@ public class CellGridIterator implements Iterator<Cell> {
 
     @Override
     public boolean hasNext() {
-        if(this.row==grid.getNumberOfRows()-1 && this.column==grid.getNumberOfColumns()-1) {
+        if((this.row==grid.getNumberOfRows()-1 && this.column==grid.getNumberOfColumns()-1)) {
             return false;
         }
         return true;
diff --git a/app/src/main/java/model/ComputerPlayer.java b/app/src/main/java/model/ComputerPlayer.java
index 03b4bfa1261242b2af8e2e7c82485237023911f5..71ba3804c464f0c8ad3ea74fe80aca497c8b9573 100644
--- a/app/src/main/java/model/ComputerPlayer.java
+++ b/app/src/main/java/model/ComputerPlayer.java
@@ -8,12 +8,17 @@ import java.util.List;
 public class ComputerPlayer implements Player{
     private    String name;
     private    Cell startCell;
-    private Color color;
     ComputerPlayer(String name, Cell startCell){
         this.name=name;
         this.startCell=startCell;
 
     }
+    ComputerPlayer(String name, Cell startCell,PlayStrategy strategy){
+        this.name=name;
+        this.startCell=startCell;
+        strategy.play(startCell);
+
+    }
 
 
     public void setColor(Color color){
diff --git a/app/src/main/java/model/FloodGame.java b/app/src/main/java/model/FloodGame.java
index fe154d304cfd527e1629fd7b983d31b7f9b445a7..c9eb4bb25a1f66563bf7d6db19fe71e468652c75 100644
--- a/app/src/main/java/model/FloodGame.java
+++ b/app/src/main/java/model/FloodGame.java
@@ -56,13 +56,13 @@ public class FloodGame {
     }
 
     public boolean hasWon(Player player) {
-        if (getPlayerScore(player) == totalFloodingArea) {
+        if (Flooder.coloredArea(player.getStartCell()) == totalFloodingArea-1) {
             return true;
         }
         return false;
     }
     public boolean hasEnded(){
-        return (hasWon(player)||getPlayerScore(player)==0);
+        return (hasWon(player)||getPlayerScore(player)==1);
     }
 
 }
diff --git a/app/src/main/java/model/Flooder.java b/app/src/main/java/model/Flooder.java
index b98fc3814792805e53d4973106f347eadce52292..831e391915735d6a34554b2b81933605fe23a569 100644
--- a/app/src/main/java/model/Flooder.java
+++ b/app/src/main/java/model/Flooder.java
@@ -8,7 +8,6 @@ public class Flooder {
 
     public static void flood(Cell startCell, Color floodingColor){
         Iterator<Cell> i = startCell.iterator();
-        startCell.setColor(floodingColor);
         while (i.hasNext()){
             i.next().setColor(floodingColor);
         }
diff --git a/app/src/test/java/model/ArrayGridTest.java b/app/src/test/java/model/ArrayGridTest.java
index 0a2cb0ae9b817087f3ce0b36abe6fe2f1503c440..91d1b9f982349973bec57b8c30e27f1fdc421a7b 100644
--- a/app/src/test/java/model/ArrayGridTest.java
+++ b/app/src/test/java/model/ArrayGridTest.java
@@ -78,8 +78,8 @@ class ArrayGridTest {
     void testIterator() {
         Iterator<Cell> iterator = arrayGridTwoTwo.iterator();
         assertThat(iterator.hasNext()).isTrue();
-        //assertThat(iterator.next()).isEqualTo(arrayGridTwoTwo.getCell(0,0));
-        //assertThat(iterator.hasNext()).isTrue();
+        assertThat(iterator.next()).isEqualTo(arrayGridTwoTwo.getCell(0,0));
+        assertThat(iterator.hasNext()).isTrue();
         assertThat(iterator.next()).isEqualTo(arrayGridTwoTwo.getCell(0,1));
         assertThat(iterator.hasNext()).isTrue();
         assertThat(iterator.next()).isEqualTo(arrayGridTwoTwo.getCell(1,0));
diff --git a/app/src/test/java/model/SquareCellTest.java b/app/src/test/java/model/SquareCellTest.java
index 6fb5613dc701558152ecd0a02e748025c740ccc1..3b6c21192c1601afab1e0cb219902056113d753d 100644
--- a/app/src/test/java/model/SquareCellTest.java
+++ b/app/src/test/java/model/SquareCellTest.java
@@ -27,9 +27,9 @@ class SquareCellTest {
         southCell.setNeighbours(List.of(centralCell));
         northCell.setNeighbours(List.of(centralCell));
     }
-//    @Test
-//    void testIterator() {
-//    }
+    @Test
+    void testIterator() {
+    }
 
     @Test
     void testGetNeighbours() {