diff --git a/src/main/java/engine/Kernel.java b/src/main/java/engine/Kernel.java
index 14abde27555311a3c24a1e3b914dd13b6c6cfd56..92b6d528a9e52d33f16791045f08128027d26600 100644
--- a/src/main/java/engine/Kernel.java
+++ b/src/main/java/engine/Kernel.java
@@ -45,6 +45,7 @@ public class Kernel {
         this.update();
         this.setKeysAndKeyReleasedListeners((JPanel) this.graphicEngine.getContentPane());
         soundEngine = new SoundEngine();
+        start();
     }
 
     /**
@@ -53,7 +54,7 @@ public class Kernel {
      * @throws IOException
      */
     public void start() throws IOException {
-        graphicEngine.update();
+        graphicEngine.start();
     }
 
     public void restart() throws IOException {
@@ -69,8 +70,6 @@ public class Kernel {
      * One step of the game. Update all objects positions and repaint the grid.
      */
     public void update() {
-        //System.out.println("One step");
-        // Updating all objects positions
 
         for (Engine engine: engines
              ) {
diff --git a/src/main/java/engine/graphic/GraphicEngine.java b/src/main/java/engine/graphic/GraphicEngine.java
index 8fef044b2c1960c7c1a2b48aeda836a88c59baa4..5c210bea30051b40abcfa38d0e2d5f7ab54c9fc6 100644
--- a/src/main/java/engine/graphic/GraphicEngine.java
+++ b/src/main/java/engine/graphic/GraphicEngine.java
@@ -39,26 +39,39 @@ public class GraphicEngine extends JFrame implements Engine {
         getContentPane().add(ic);
     }
 
-    @Override
-    public void update(){
+    public void start(){
         for (PongObject po : Kernel.gameObjects
-             ) {
+        ) {
             try {
                 this.draw(new ImageComponent(po.getImage(), po.getPosition(), po.getWidth(), po.getHeight()));
             } catch (IOException e) {
                 throw new RuntimeException(e);
             }
         }
+        drawRect();
         getContentPane().add(new ScoreComponent(new Coordinates2D(100, 100), new Coordinates2D(670, 100), PongApp.score1, PongApp.score2));
+
         repaint();
+
+        revalidate();
+
+    }
+
+    @Override
+    public void update(){
+
+        //updateContentPane();
+
+        repaint();
+
         revalidate();
     }
 
     @Override
     public void restart() {
         getContentPane().removeAll();
-        update();
-        drawRect(); //TODO: Trouver un moyen de ne pas avoir à redessiner le rectangle à chaque restart et rendre le restart plus générique
+        start();
+        //drawRect(); //TODO: Trouver un moyen de ne pas avoir à redessiner le rectangle à chaque restart et rendre le restart plus générique
     }
 
     public void drawRect(){
@@ -69,4 +82,20 @@ public class GraphicEngine extends JFrame implements Engine {
         this.getContentPane().add(new ScoreComponent(new Coordinates2D(100, 100), new Coordinates2D(500, 100), score1, score2));
     }
 
+
+    public void updateContentPane() {
+        System.out.println(getContentPane().getComponents().length);
+
+        /*for (Component jc: getContentPane().getComponents()
+             ) {
+            //System.out.println(jc.toString());
+            System.out.println(jc.getX() + " " + jc.getY());
+            jc.setLocation(0, 0);
+            getContentPane().getComponents()[0].setLocation(0, 0);
+            jc.repaint();
+        }
+
+         */
+        getContentPane().repaint();
+    }
 }
diff --git a/src/main/java/engine/graphic/ImageComponent.java b/src/main/java/engine/graphic/ImageComponent.java
index 2f57f83cd490cccec4d2d9d387289ee8769011f4..3efac2a9098e3b5928251452501e116bed6e373d 100644
--- a/src/main/java/engine/graphic/ImageComponent.java
+++ b/src/main/java/engine/graphic/ImageComponent.java
@@ -33,6 +33,10 @@ public class ImageComponent extends JComponent {
         return position;
     }
 
+    public void setPosition(Coordinates2D position) {
+        this.position = position;
+    }
+
     @Override
     protected void paintComponent(Graphics g) {
         super.paintComponent(g);
diff --git a/src/main/java/pong/PongApp.java b/src/main/java/pong/PongApp.java
index 51b1521cdaa7c4106fecaa79db6d3c5f5bc82e54..5cbd114459f3685e5db221db17fe7232fd2cc213 100644
--- a/src/main/java/pong/PongApp.java
+++ b/src/main/java/pong/PongApp.java
@@ -15,7 +15,7 @@ public class PongApp {
 
     public static boolean isGoal = false;
 
-    public static ArrayList<PongObject> components = new ArrayList<PongObject>();
+    public static ArrayList<PongObject> components = new ArrayList<>();
     public static int width = 800;
     public static int height = 600;