diff --git a/ov9/program1.py b/ov9/program1.py
index 0ac072db6461a645b67bc2de2f9fafd161b52408..280a398d87a65663d3712a450704a30d71c16597 100644
--- a/ov9/program1.py
+++ b/ov9/program1.py
@@ -1,4 +1,3 @@
-from math import inf
 import sys
 
 class int_points (object):
@@ -85,8 +84,6 @@ def rec_func(node, counter, global_fra):
         return rec_func(node, counter, global_fra)
 
 def calculate_shortest_path(current_node, time, current_neighbour, slutt):
-    print('\nin calculate')
-    res_a = [c for c in res_arr if c.node == current_neighbour.node][0]
     count_a = 0
     count_a = rec_func(current_neighbour, count_a, slutt)
     count_b = 0
@@ -105,10 +102,14 @@ def update_que(que):
     que = [a.node for a in tmp_arr if a in tmp_arr]
     return que
 
-
+end_que = []
 queue = [] 
+we_soon_to_be_done = False
 def dijkstras(slutt, fra, start):
+    global we_soon_to_be_done
     global queue
+    if we_soon_to_be_done:
+        end_que.pop(0)
     current_node = [b for b in res_arr if b.node == fra][0]
     for tmp_edge in edge_arr:
         if tmp_edge.fra == fra:
@@ -118,17 +119,19 @@ def dijkstras(slutt, fra, start):
                 current_neighbour.prev = fra 
                 if tmp_edge.til == slutt:
                     current_node.visited = True
-                    queue.pop(0)
-                    dijkstras(slutt, slutt, start)
+                    we_soon_to_be_done = True
+                    end_que.append(tmp_edge.til)
                 else:
-                    queue.append(tmp_edge.til)
+                    if tmp_edge.fra == slutt:
+                        end_que.append(tmp_edge.til)
+                    else:
+                        queue.append(tmp_edge.til)
 
             elif current_neighbour.node != start:
                 if calculate_shortest_path(current_node, tmp_edge.time, current_neighbour, start):
                     current_neighbour.time = tmp_edge.time
                     current_neighbour.prev = tmp_edge.fra
-
-    if fra == slutt: 
+    if we_soon_to_be_done and not len(end_que): 
         #not finished
         print('ferdig, resultater er: node, tid, prev, besøkt')
         for i in res_arr:
@@ -137,10 +140,14 @@ def dijkstras(slutt, fra, start):
         print('que when done is: ', queue)
         exit()
     else:
-        queue.pop(0)
-        current_node.visited = True
-        queue = update_que(queue)  
-        dijkstras(slutt,queue[0],start)
+        if we_soon_to_be_done:
+            current_node.visited = True
+            dijkstras(slutt,end_que[0],start)
+        else:
+            queue.pop(0)
+            current_node.visited = True
+            queue = update_que(queue)  
+            dijkstras(slutt,queue[0],start)
              
 
 
@@ -149,8 +156,8 @@ def init_things():
     if len(sys.argv) > 1:
         if sys.argv[1] == '-d':
             #node_id
-            start = 0
-            slutt = 2
+            start = 20
+            slutt = 27
             init_table()
             queue.append(start)
             start_node = [a for a in res_arr if a.node == start][0]