diff --git a/ov9/program1.py b/ov9/program1.py
index 7e38cc0327509df9053f680d8a71f3f1132ca42f..0ac072db6461a645b67bc2de2f9fafd161b52408 100644
--- a/ov9/program1.py
+++ b/ov9/program1.py
@@ -98,9 +98,17 @@ def calculate_shortest_path(current_node, time, current_neighbour, slutt):
         return False
 
 
-queue = []
+
+def update_que(que):
+    tmp_arr = [a for a in res_arr if a.node in que]
+    tmp_arr.sort(key=lambda x: x.time, reverse=True)
+    que = [a.node for a in tmp_arr if a in tmp_arr]
+    return que
+
+
+queue = [] 
 def dijkstras(slutt, fra, start):
-    
+    global queue
     current_node = [b for b in res_arr if b.node == fra][0]
     for tmp_edge in edge_arr:
         if tmp_edge.fra == fra:
@@ -126,18 +134,17 @@ def dijkstras(slutt, fra, start):
         for i in res_arr:
             if i.time != max_num.time + 1:
                 print(i.node, i.time, i.prev, i.visited)
+        print('que when done is: ', queue)
         exit()
-
     else:
         queue.pop(0)
         current_node.visited = True
+        queue = update_que(queue)  
         dijkstras(slutt,queue[0],start)
              
 
 
 
-
-
 def init_things():
     if len(sys.argv) > 1:
         if sys.argv[1] == '-d':
@@ -147,7 +154,7 @@ def init_things():
             init_table()
             queue.append(start)
             start_node = [a for a in res_arr if a.node == start][0]
-            start_node.time = 1
+            start_node.time = 0
             dijkstras(slutt, start, start)
         elif sys.argv[1] == '-a':
             print('A* not yet implemented')