diff --git a/app_functions.py b/app_functions.py
index 6894b7677e52334e927dc7b9b570b764d22370ee..236022c24db584a373c484a5714ec245a3088fe3 100644
--- a/app_functions.py
+++ b/app_functions.py
@@ -25,10 +25,10 @@ def pair(A,B):
     return new_abs(f,new_app(new_app(f,A),B))
 
 def getFirstFromPair(p):
-    return beta_reduction_totale(new_app(p,boolean[True]))
+    return beta_reduction_totale(new_app(p,boolean[True]),None)
 
 def getSecondFromPair(p):
-    return beta_reduction_totale(new_app(p,boolean[False]))
+    return beta_reduction_totale(new_app(p,boolean[False]),None)
 
 def dec_to_lambda_relative_integers(number):
     if number >= 0:
@@ -36,16 +36,24 @@ def dec_to_lambda_relative_integers(number):
     return pair(boolean[False], dec_to_church(number))
 
 def succ(n):
-    return beta_reduction_totale(new_abs(f,new_abs(x,new_app(new_app(n,f), new_app(f,x)))))
+    return beta_reduction_totale(new_abs(f,new_abs(x,new_app(new_app(n,f), new_app(f,x)))),None,False)
 
 def adder(n,m):
-    return beta_reduction_totale(new_app(new_app(m,succs),n))
+    return beta_reduction_totale(new_app(new_app(m,succs),n),None)
 
 def power(n,m):# retourne n puiss m
-    return beta_reduction_totale(new_app(m,n))
+    return beta_reduction_totale(new_app(m,n),None)
 
 def multiplication(n,m):
-    return beta_reduction_totale(new_abs(f,new_abs(x,new_app(m,new_app(n,f)))))
+    return beta_reduction_totale(new_abs(f,new_abs(x,new_app(m,new_app(n,f)))),None)
 
 def is_zero(n):
-    return beta_reduction_totale(new_app(new_app(n,new_abs(x,boolean[False])),boolean[True]))
+     return beta_reduction_totale(new_app(new_app(n,new_abs(x,boolean[False])),boolean[True]),None)
+
+
+j= new_abs(x,new_abs(y,new_app(new_app(is_zero(new_app(x,dec_to_church(1))),y),succ(new_app(x,y)))))
+
+def predec(n):
+    return beta_reduction_totale(new_app(new_app(new_app(n,j),new_abs(z,dec_to_church(0))),dec_to_church(0)),None,False)
+
+print((predec(dec_to_church(2))))
\ No newline at end of file
diff --git a/figures/alligator_brown.png b/figures/alligator_brown.png
new file mode 100644
index 0000000000000000000000000000000000000000..65b8e7eac3a27403b755e1edc8f3d27b67e5fc3f
Binary files /dev/null and b/figures/alligator_brown.png differ
diff --git a/figures/alligator_oceanblue.png b/figures/alligator_oceanblue.png
new file mode 100644
index 0000000000000000000000000000000000000000..ebb43d6498eba6699e5ffa4c76779223b830c50b
Binary files /dev/null and b/figures/alligator_oceanblue.png differ
diff --git a/figures/egg_brown.png b/figures/egg_brown.png
new file mode 100644
index 0000000000000000000000000000000000000000..994d079e30071a8ff917c288e6609f83ee9cf69a
Binary files /dev/null and b/figures/egg_brown.png differ
diff --git a/figures/egg_oceanblue.png b/figures/egg_oceanblue.png
new file mode 100644
index 0000000000000000000000000000000000000000..ff99118ad1536a3dc380943876c31f041a57b351
Binary files /dev/null and b/figures/egg_oceanblue.png differ
diff --git a/figures/egg_yellow.png b/figures/egg_yellow.png
index 8f07b847f2eee6f5272c20b0f83cafcb819c4140..8fca842ee0d4faa70af3f8af4292ee48bf7db284 100644
Binary files a/figures/egg_yellow.png and b/figures/egg_yellow.png differ
diff --git a/figures/space.png b/figures/space.png
deleted file mode 100644
index 1ce0cb77aaf0311c4071aaa86c5882ef81d22d6e..0000000000000000000000000000000000000000
Binary files a/figures/space.png and /dev/null differ
diff --git a/logic.py b/logic.py
index ea5c1b544b24884e1ac5231e891bd2590990eb2c..bdcea21cf0f487788ab4ed726b8741d539f5dc67 100644
--- a/logic.py
+++ b/logic.py
@@ -201,14 +201,19 @@ def captureImage(terme, path):
         image_maker.saveImage(image_maker.createImage(terme),str(image_counter),path)
     image_counter += 1
 
-def beta_reduction_totale(terme, path):
-    if path == None:
-        captureImage(terme, None)
+def beta_reduction_totale(terme, path, saveImages=True):
+    if saveImages == False:
+        if beta_reduction(terme) != None:
+            return beta_reduction_totale(beta_reduction(terme), path, False)
+        return (terme)
     else:
-        captureImage(terme,path)
-    if beta_reduction(terme) != None:
-        return beta_reduction_totale(beta_reduction(terme), path)
-    return (terme)
+        if path == None:
+            captureImage(terme, None)
+        else:
+            captureImage(terme,path)
+        if beta_reduction(terme) != None:
+            return beta_reduction_totale(beta_reduction(terme), path)
+        return (terme)
     
 numbers_to_letters = {
         0:'x',
@@ -228,8 +233,10 @@ numbers_to_letters = {
         14:'n',
         15:'v',
         16:'f',
-        17:'ç'
-
+        17:'ç',
+        18:'aa',
+        19:'bb',
+        20:'cc',
 }
 
 
diff --git a/main.py b/main.py
index 7fcba913fc618b9483728c728e7986db0e7c9bd0..374fa578d7ec32c6f2f95463cf72295298045705 100644
--- a/main.py
+++ b/main.py
@@ -13,14 +13,14 @@ def delete_images(path):
         except Exception as e:
             print(e)
 
-def run_beta_reduction_totale(terme,path):
+def run_beta_reduction_totale(terme,path='beta_reduction_totale'):
     terme = parsing.parseTerm(terme)
     os.makedirs(path, exist_ok=True)
     if len(os.listdir(path)) > 0:
         delete_images(path)
     logic.beta_reduction_totale(terme,path)
 
-def run_beta_reduction_interactive_totale(terme,path):
+def run_beta_reduction_interactive_totale(terme,path='beta_reduction_interactive_totale'):
     terme = parsing.parseTerm(terme)
     os.makedirs(path, exist_ok=True)
     if len(os.listdir(path)) > 0:
diff --git a/menu.py b/menu.py
index f305e7aee7772089863a09c0a29eb22f6c4d7a29..4bc9553c61c0d84bd83d29beee6841679fc248a3 100644
--- a/menu.py
+++ b/menu.py
@@ -39,7 +39,7 @@ def run_main_menu():
     if choice == 1:
         clear()
         terme1 = input('Enter a term: ')
-        main.run_beta_reduction_totale(terme1,'beta_reduction_totale')
+        main.run_beta_reduction_totale(terme1)
         clear()
         print('Done!')
         time.sleep(1)
@@ -49,7 +49,7 @@ def run_main_menu():
     elif choice == 2:
         clear()
         terme2 = input('Enter a term: ')
-        main.run_beta_reduction_interactive_totale(terme2,'beta_reduction_interactive_totale')
+        main.run_beta_reduction_interactive_totale(terme2)
         clear()
         print('Done!')
         logic.image_counter = 0
diff --git a/requirements.txt b/requirements.txt
index 15d8f8a1572e76f0cce62963292c9cad6031a0fd..6fe6654dc9e070eae67dade8be981417082e7138 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,3 +1 @@
-os
-time
 pyfiglet
\ No newline at end of file