diff --git a/loadExperiment.py b/loadExperiment.py
index 3d753fa3ff54d85de035ac412130161e1138ae0b..d84854c340ab5f7879ec45d73e3e4844d7e93153 100644
--- a/loadExperiment.py
+++ b/loadExperiment.py
@@ -12,8 +12,10 @@ repo = None
 folder = None
 
 commandsFile = None
+instructionFile = None
 
 inputFiles = []
+outputFiles = []
 
 beforeHash = None
 
@@ -37,7 +39,7 @@ def init(repository,branch) -> None :
     os.chdir(folder)
 
 def getParameters() -> None :
-    global commandsFile, inputFiles, outputFiles, beforeHash
+    global commandsFile, inputFiles, outputFiles, beforeHash, instructionFile
     if not (os.path.exists('experimentResume.yaml')):
         raise Exception("No exeperimentResume.yaml file found, the branch is not an exeperiment")
     with open('experimentResume.yaml', 'r') as stream:
@@ -46,6 +48,8 @@ def getParameters() -> None :
         outputFiles = parameters.get('outputs')
         inputFiles = parameters.get('inputs')
         beforeHash = parameters.get('checksums')
+        instructionFile = parameters.get('instructions')
+
 
 def runExperiment() -> None :
     file = open(commandsFile, "r")
@@ -55,6 +59,15 @@ def runExperiment() -> None :
         process.check_returncode()
         print("done")
 
+def checkForInstructions() -> None :
+    if (instructionFile != None) :
+        print("You can check the instructions for the experiment in the file : " + instructionFile)
+    else :
+        warnings.warn("No instructions for the experiment found in the repository")
+    print("Run the exepriment and then press enter when it's done")
+    done = "nope"
+    while (done != "") :
+        done = input()
 
 def genChecksum(file) -> str :
     hash_md5 = hashlib.md5()
@@ -67,7 +80,7 @@ def genChecksums() -> list[dict]:
     checksums = []
     for file in os.listdir(OUTPUT_FOLDER) :
         if not file.endswith(".gitkeep"):
-            checksums.append({file : genChecksum(f'outputs/{file}')})
+            checksums.append({f"{OUTPUT_FOLDER}/{file}" : genChecksum(f'{OUTPUT_FOLDER}/{file}')})
     return checksums
 
 
@@ -76,7 +89,7 @@ def compareChecksums() -> bool:
     for (dict1, dict2) in zip(beforeHash, genChecksums()):
         for (key, value) in dict1.items():
             if dict2.get(key) != value :
-                warnings.warn(f"{OUTPUT_FOLDER}/{key} has changed")
+                warnings.warn(f"{key} has changed")
                 changes = True
     return changes
 
@@ -87,11 +100,14 @@ def run(repository, branch) -> None :
     print("Getting the experiment parameters ...")
     getParameters()
     print("Running the experiment ...")
-    runExperiment()
+    if (commandsFile != None) : 
+        runExperiment()
+    else :
+        checkForInstructions()
     print("Comparing checksums of the outputs ...")
     if (compareChecksums()) : 
         print("The exepriment was reproduced with succes but some output files are differents.")
     else :
         print("The exepriment was reproduced with succes !")
-    
-#TODO : laisser à l'utilisateur le temps de reproduire l'experience
\ No newline at end of file
+
+#TODO : sur la mainExperiment15, on a du changement quand on reproduit l'expérience ...
\ No newline at end of file
diff --git a/registerExperiment.py b/registerExperiment.py
index df348cf080c19aa2edee11e41248fc3969dc7c46..b9daa5d4e3d05a97444cb29dbd7a039daee523d1 100644
--- a/registerExperiment.py
+++ b/registerExperiment.py
@@ -17,7 +17,8 @@ inputFiles = []
 paramsFolder = None
 paramsFiles = []
 
-commandsFile = "commands.txt"
+commandsFile = None
+instructionFile = None
 
 experimentName = None
 
@@ -111,11 +112,19 @@ def searchForParamsFolder() -> None:
 def askForCommandsFile() -> None:
     global commandsFile
     commandsFile = input("Enter the name of the commands file: ")
-    if commandsFile == "":
-        raise Exception("No commands file given")
     if not fileExists(commandsFile):
         raise Exception(f"{commandsFile} file does not exist")
 
+def askForInstructionFile() -> None :
+    global instructionFile
+    print("If you have an instruction file, enter its name, otherwise press enter")
+    instructionFile = input()
+    if instructionFile == "":
+        warnings.warn("No instruction file given, make sure you give instructions to reproduce the experiment along with it")
+    else:
+        if not fileExists(instructionFile):
+            raise Exception(f"{instructionFile} file does not exist")
+
 def registeringExperimentInputs(inputs) -> None:
     with open(commandsFile, "w") as file:
         for input in inputs:
@@ -173,24 +182,21 @@ def writeInYaml() -> None:
         cur_yaml.update({"inputs":inputFiles})
         cur_yaml.update({"outputs":outputFiles})
         cur_yaml.update({"params":paramsFiles})
+        cur_yaml.update({"instruction":instructionFile})
         checksums = {"checksums":genChecksums()}
         cur_yaml.update(checksums)
     with open('experimentResume.yaml', 'w') as yamlFile:
         yaml.safe_dump(cur_yaml, yamlFile)
 
-def successfullyCreatedNewBranch(name) -> bool :
-    try:
-        repository.git.checkout('-b',name)
-        return True
-    except Exception as e:
-        return False
 
 def pushBranch(version=1) -> None:
     print("Pushing branch...")
-    while not(successfullyCreatedNewBranch(f"{experimentName}Experiment{version}")):
+    while f"{experimentName}Experiment{version}" in repository.remote().refs:
+        print(f"{experimentName}Experiment{version} already exists")
         version += 1
     newTag = f"{currentTag}-e{version}"
     print(f"creating {experimentName}Experiment{version} branch and pushing changes to it ...")
+    repository.git.checkout(b=f"{experimentName}Experiment{version}")
     repository.git.add(all=True)
     repository.git.commit(m=f"{experimentName}Experiment{version}")
     repository.git.push('--set-upstream',repository.remote().name,f"{experimentName}Experiment{version}")
@@ -224,6 +230,7 @@ def run(folder) -> None :
         askForCommandsFile()
         runExperiment()
     else:
+        askForInstructionFile()
         done = ""
         while(done != "done"):
             done = input("Run your experiment and then type 'done' when you are done : ")
@@ -235,4 +242,7 @@ def run(folder) -> None :
         scanParameters()
     checkGeneratedFiles()
     writeInYaml()
+    print("Please check the experimentResume.yaml, if everything is correct, press enter to continue, otherwise type \"abort\"")
+    if input() == "abort":
+        raise Exception("Aborted")
     pushBranch()