diff --git a/src/main/java/App.java b/src/main/java/App.java
index 10dda1d5b5dac2118958e64a64772f18e7258f18..6ee84b834e630ace9f0287ed27b2439b9f217370 100644
--- a/src/main/java/App.java
+++ b/src/main/java/App.java
@@ -6,6 +6,9 @@ import javafx.scene.layout.HBox;
 import javafx.scene.layout.VBox;
 import javafx.stage.Stage;
 
+import java.util.concurrent.ScheduledThreadPoolExecutor;
+import java.util.concurrent.TimeUnit;
+
 import static java.lang.Thread.sleep;
 
 
@@ -31,21 +34,15 @@ public class App extends Application {
         primaryStage.setScene(new Scene(root));
         primaryStage.show();
         grid.repaint();
-        new Thread(new Runnable() {
+
+        ScheduledThreadPoolExecutor threadPoolExecutor = new ScheduledThreadPoolExecutor(1);
+        threadPoolExecutor.scheduleWithFixedDelay(new Runnable() {
             @Override
             public void run() {
-                while(true){
-                    try {
-                        sleep(50);
-                        grid.model.activation();
-                        grid.repaint();
-                    } catch (InterruptedException e) {
-                        e.printStackTrace();
-                    }
-                }
-
+                grid.model.activation();
+                grid.repaint();
             }
-        }).start();
+        }, 0, 50 , TimeUnit.MILLISECONDS);
     }
 }