diff --git a/travail_individuel/Belkhiri/GameOfLife/run b/travail_individuel/Belkhiri/GameOfLife/run
index b4b5d1dda336d41fd1db836aed18335e57e069d6..13a17de9a1ad72b1deca8dfa33f07eed9336333e 100755
Binary files a/travail_individuel/Belkhiri/GameOfLife/run and b/travail_individuel/Belkhiri/GameOfLife/run differ
diff --git a/travail_individuel/Belkhiri/GameOfLife/src/map.c b/travail_individuel/Belkhiri/GameOfLife/src/map.c
index a220bc3ff0c352cfc08e2d029ce437527ba8ad60..dbceb886b165f160e011084cedf2b790154080ae 100644
--- a/travail_individuel/Belkhiri/GameOfLife/src/map.c
+++ b/travail_individuel/Belkhiri/GameOfLife/src/map.c
@@ -5,6 +5,7 @@ int MAPSIZE = 20;
 int **map;
 
 int ***mapList;
+int mapListSize = 0;
 
 void allocateMap()
 {
@@ -59,62 +60,30 @@ void writeMap(char *filename)
     fclose(f);
 }
 
-int **saveMapState()
-{
-    int **mapCopy = malloc(MAPSIZE * sizeof(int *));
-    for (int i = 0; i < MAPSIZE; i++)
-    {
-        mapCopy[i] = malloc(MAPSIZE * sizeof(int));
-    }
-    for (int i = 0; i < MAPSIZE; i++)
-    {
-        for (int j = 0; j < MAPSIZE; j++)
-        {
-            mapCopy[i][j] = map[i][j];
-        }
-    }
-    return mapCopy;
-}
-
 void addMapToList(int **map)
 {
-    int i = 0;
-    while (mapList[i] != NULL)
-    {
-        i++;
-    }
-    mapList[i] = map;
+    mapList[mapListSize] = map;
+    mapListSize++;
 }
 
 void checkForCycle()
 {
-    // count number of maps saved
-    int i = 0;
-    while (mapList[i] != NULL)
-    {
-        i++;
-    }
-
-    int j = 0;
-    for (j = 0; j < i; j++)
+    for (int i = 0; i < mapListSize; i++)
     {
         int cycle = 1;
-        // compare values of maps
-        int k = 0;
-        for (k = 0; k < MAPSIZE; k++)
+        int j = 0;
+        while (cycle && j < MAPSIZE)
         {
-            for (int l = 0; l < MAPSIZE; l++)
+            int k = 0;
+            while (cycle && k < MAPSIZE)
             {
-                if (mapList[j][k][l] != map[k][l])
+                if (mapList[i][j][k] != map[j][k])
                 {
                     cycle = 0;
                 }
+                k++;
             }
-        }
-        if (cycle == 1)
-        {
-            printf("Cycle found!\n");
-            break;
+            j++;
         }
     }
 }
\ No newline at end of file
diff --git a/travail_individuel/Belkhiri/GameOfLife/src/map.h b/travail_individuel/Belkhiri/GameOfLife/src/map.h
index ec0e592949fe5acb5bc4c6ea87ea34861e1dd430..38860804fcbb39456c8cc696e7c490bbd6be7846 100644
--- a/travail_individuel/Belkhiri/GameOfLife/src/map.h
+++ b/travail_individuel/Belkhiri/GameOfLife/src/map.h
@@ -6,6 +6,7 @@
 extern int MAPSIZE;
 extern int ** map;
 extern int *** mapList;
+extern int mapListSize;
 
 void printMap();
 void initMap();
diff --git a/travail_individuel/Belkhiri/GameOfLife/src/render.c b/travail_individuel/Belkhiri/GameOfLife/src/render.c
index b1feb2ee9ca17f9504b1a4525aee293f3eef9602..43943903857a67be03aca0831646ff1a98adb451 100644
--- a/travail_individuel/Belkhiri/GameOfLife/src/render.c
+++ b/travail_individuel/Belkhiri/GameOfLife/src/render.c
@@ -146,6 +146,8 @@ void drawStable(){
 
     SDL_Rect titleRect = {ScreenDimension.w/2 - titleWidth/2, ScreenDimension.h/2 - titleHeight, titleWidth, titleHeight};
     SDL_RenderCopy(renderer, texture, NULL, &titleRect);
+
+    SDL_RenderPresent(renderer);
 }
 
 void MainLoop(){