diff --git a/src/graph.py b/src/graph.py
index 3d46eac07bd8287b047345d9ceb8bb568e9393f2..ddfe9b01c4f5fb1b931e557974bbe03d04ebbe09 100644
--- a/src/graph.py
+++ b/src/graph.py
@@ -317,17 +317,18 @@ class Graph():
         #self.initialise_flattened_dico(self.full_dico)
         dico = self.dico_flattened
 
-        user_view, self.new_nodes_user_view = relev_user_view_builder(dico, relevant_modules=relevant_processes)
+        user_view, self.new_nodes_user_view = user_view_builder_couples(dico, relevant_modules=relevant_processes)
+        print(user_view)
         
-        with open(self.get_output_dir()/ "graphs/user_view.json", 'w') as output_file :
-            json.dump(user_view, output_file, indent=4)
-        
-
-        user_view_with_subworkflows = add_subworkflows_2_dico(self.dico_process_dependency_graph, user_view)
-        with open(self.get_output_dir()/ "graphs/user_view_with_subworkflows.json", 'w') as output_file :
-            json.dump(user_view_with_subworkflows, output_file, indent=4)
-
-        return user_view, user_view_with_subworkflows
+        #with open(self.get_output_dir()/ "graphs/user_view.json", 'w') as output_file :
+        #    json.dump(user_view, output_file, indent=4)
+        #
+        #
+        #user_view_with_subworkflows = add_subworkflows_2_dico(self.dico_process_dependency_graph, user_view)
+        #with open(self.get_output_dir()/ "graphs/user_view_with_subworkflows.json", 'w') as output_file :
+        #    json.dump(user_view_with_subworkflows, output_file, indent=4)
+        #
+        #return user_view, user_view_with_subworkflows
     
     def generate_user_view(self, relevant_processes = [], render_graphs = True):
         user_view, user_view_with_subworkflows = self.get_user_view_graph_georges_algo(relevant_processes = relevant_processes)
diff --git a/src/outils_graph.py b/src/outils_graph.py
index f1da30a29d0acc2fd6faefed382de8f0c1156b7d..4dcec7b063f0ac8a186b8f32f1c6a393e0f97697 100644
--- a/src/outils_graph.py
+++ b/src/outils_graph.py
@@ -852,6 +852,43 @@ def relev_user_view_builder(dico_param, relevant_modules):
     #    new_dico["edges"].append({'A':"input", 'B':input, "label": ""})
     return new_dico, new_nodes
 
+
+def user_view_builder_couples(dico_param, relevant_modules):
+    import time
+    dico = copy.deepcopy(dico_param)
+    tag = str(time.time())
+
+    #Add this to simplify the use of duplicate processes
+    nodes_2_num = {}
+    for node in dico["nodes"]:
+        nodes_2_num[node['name']] = 0
+    for node in dico["nodes"]:
+        tmp = nodes_2_num[node['name']]
+        nodes_2_num[node['name']]+=1
+        node['name'] = f"{node['name']}{tag}{tmp}"
+    tab_temp = []
+    for n in relevant_modules:
+        for i in range(0, nodes_2_num[n]):
+            tab_temp.append(f"{n}{tag}{i}")
+    relevant_modules = tab_temp
+
+    R = []
+    for r in relevant_modules:
+        R+=get_id_from_name(dico, r)
+    R = list(set(R))
+    outputs = get_output_nodes(dico)
+    inputs = get_input_nodes(dico)
+    #dico['nodes'].append({'id':"input", 'name':"input"})
+    #dico['nodes'].append({'id':"output", 'name':"output"})
+    for out in outputs:
+        dico["edges"].append({'A':out, 'B':'output'})
+    #TODO remove this -> it's to replicate the one in the algortihm demo
+    #dico["edges"].append({'A':get_id_from_name(dico, f"M5_0{tag}0")[0], 'B':'output'})
+    for input in inputs:
+        dico["edges"].append({'A':"input", 'B':input})
+
+    return dico, []
+
 #This function fills the new_dico with the flattened_dico but 
 #reintegrates the subworkflows (from the full workflow)
 def add_subworkflows_2_dico(full_dico, flattened_dico, add_root_nodes = True):