diff --git a/demo/demo2.py b/demo/demo2.py
index 8a10231187f7492015f24cb93592687feef55fcb..7c8d006f6a2c9bb62dd972e5a2121ee64219dd91 100644
--- a/demo/demo2.py
+++ b/demo/demo2.py
@@ -54,22 +54,17 @@ if __name__ == "__main__":
             (VehicleMode.Normal, LaneMode.Lane1),
         ]
     )
-    # # res_list = scenario.simulate_multi(40,1)
-    # traces = scenario.verify(40)
+    # res_list = scenario.simulate(40)
+    traces = scenario.verify(40)
 
-    # fig = plt.figure(2)
-    # fig = plot_map(tmp_map, 'g', fig)
-    # fig = plot_reachtube_tree(traces, 'car1', 1, [2], 'b', fig)
-    # fig = plot_reachtube_tree(traces, 'car2', 1, [2], 'r', fig)
-    # # for traces in res_list:
-    # #     generate_simulation_anime(traces, tmp_map, fig)
-    # #     # fig,x_lim,y_lim = plot_simulation_tree(traces, 'car1', 1, [2], 'b', fig,x_lim,y_lim)
-    # #     # fig,x_lim,y_lim = plot_simulation_tree(traces, 'car2', 1, [2], 'r', fig,x_lim,y_lim)
+    fig = plt.figure(2)
+    fig = plot_map(tmp_map, 'g', fig)
+    fig = plot_reachtube_tree(traces, 'car1', 1, [2], 'b', fig)
+    fig = plot_reachtube_tree(traces, 'car2', 1, [2], 'r', fig)
+    plt.show()
 
-    # plt.show()
-
-# this is for plot-based visualization
-    traces = scenario.simulate(40)
-    fig = go.Figure()
-    fig = plotly_simulation_anime(traces, tmp_map, fig)
-    fig.show()
+    # # this is for plot-based visualization
+    # traces = scenario.simulate(40)
+    # fig = go.Figure()
+    # fig = plotly_simulation_anime(traces, tmp_map, fig)
+    # fig.show()
diff --git a/demo/demo3.py b/demo/demo3.py
index 54121e8fd88607034c01a41e8a9634fd0182fd72..1ba4fc08711617729d18001c41ec933f58d52ccf 100644
--- a/demo/demo3.py
+++ b/demo/demo3.py
@@ -42,7 +42,7 @@ class State:
 
 
 if __name__ == "__main__":
-    input_code_name = './example_controller4.py'
+    input_code_name = './demo/example_controller4.py'
     scenario = Scenario()
 
     car = CarAgent('car1', file_name=input_code_name)
@@ -70,18 +70,18 @@ if __name__ == "__main__":
             (VehicleMode.Normal, LaneMode.Lane1),
         ]
     )
-    # traces = scenario.simulate(70)
-    traces = scenario.verify(70)
+    traces = scenario.simulate(70)
+    # traces = scenario.verify(70)
 
-    fig = plt.figure(2)
-    fig = plot_map(tmp_map, 'g', fig)
-    fig = plot_reachtube_tree(traces, 'car1', 1, [2], 'b', fig)
-    fig = plot_reachtube_tree(traces, 'car2', 1, [2], 'r', fig)
-    fig = plot_reachtube_tree(traces, 'car3', 1, [2], 'r', fig)
-    fig = plot_reachtube_tree(traces, 'car4', 1, [2], 'r', fig)
-    plt.show()    
+    # fig = plt.figure(2)
+    # fig = plot_map(tmp_map, 'g', fig)
+    # fig = plot_reachtube_tree(traces, 'car1', 1, [2], 'b', fig)
+    # fig = plot_reachtube_tree(traces, 'car2', 1, [2], 'r', fig)
+    # fig = plot_reachtube_tree(traces, 'car3', 1, [2], 'r', fig)
+    # fig = plot_reachtube_tree(traces, 'car4', 1, [2], 'r', fig)
+    # plt.show()    
 
-    # fig = go.Figure()
-    # fig = plotly_simulation_anime(traces, tmp_map, fig)
-    # fig.show()
+    fig = go.Figure()
+    fig = plotly_simulation_anime(traces, tmp_map, fig)
+    fig.show()
 
diff --git a/demo/demo4.py b/demo/demo4.py
index a7b1bb854ba7a8ebd53ebb2583bd8788df3061c9..86d69d5e7ca521262216dc42c3b5877d97729d6c 100644
--- a/demo/demo4.py
+++ b/demo/demo4.py
@@ -79,18 +79,18 @@ if __name__ == "__main__":
             (VehicleMode.Normal, LaneMode.Lane3),
         ]
     )
-    # traces = scenario.simulate(80)
-    traces = scenario.verify(80)
+    traces = scenario.simulate(80)
+    # traces = scenario.verify(80)
 
-    fig = plt.figure(2)
-    fig = plot_map(tmp_map, 'g', fig)
-    fig = plot_reachtube_tree(traces, 'car1', 1, [2], 'b', fig)
-    fig = plot_reachtube_tree(traces, 'car2', 1, [2], 'r', fig)
-    fig = plot_reachtube_tree(traces, 'car3', 1, [2], 'r', fig)
-    fig = plot_reachtube_tree(traces, 'car4', 1, [2], 'r', fig)
-    fig = plot_reachtube_tree(traces, 'car5', 1, [2], 'r', fig)
-    fig = plot_reachtube_tree(traces, 'car6', 1, [2], 'r', fig)
-    plt.show()
+    # fig = plt.figure(2)
+    # fig = plot_map(tmp_map, 'g', fig)
+    # fig = plot_reachtube_tree(traces, 'car1', 1, [2], 'b', fig)
+    # fig = plot_reachtube_tree(traces, 'car2', 1, [2], 'r', fig)
+    # fig = plot_reachtube_tree(traces, 'car3', 1, [2], 'r', fig)
+    # fig = plot_reachtube_tree(traces, 'car4', 1, [2], 'r', fig)
+    # fig = plot_reachtube_tree(traces, 'car5', 1, [2], 'r', fig)
+    # fig = plot_reachtube_tree(traces, 'car6', 1, [2], 'r', fig)
+    # plt.show()
 
     # fig = go.Figure()
     # fig = plotly_simulation_anime(traces, tmp_map, fig)
diff --git a/demo/demo7.py b/demo/demo7.py
index 0b93f3f65ac3507e8c743f866b1e4f16dee3cf73..fd2b0b39a6877ae0a8540da85699bafc1ef6de3e 100644
--- a/demo/demo7.py
+++ b/demo/demo7.py
@@ -45,7 +45,7 @@ class State:
 
 
 if __name__ == "__main__":
-    input_code_name = './example_controller8.py'
+    input_code_name = './demo/example_controller8.py'
     scenario = Scenario()
 
     car = CarAgent('car1', file_name=input_code_name)
@@ -89,17 +89,19 @@ if __name__ == "__main__":
             (VehicleMode.Normal, LaneMode.Lane3),
         ]
     )
-    traces = scenario.simulate(80)
-    # traces = scenario.verify(80)
+    traces = scenario.simulate(20)
+    # traces = scenario.verify(15)
 
     # fig = plt.figure(2)
     # fig = plot_map(tmp_map, 'g', fig)
-    # fig = plot_reachtube_tree(traces, 'car1', 1, [2], 'b', fig)
-    # fig = plot_reachtube_tree(traces, 'car2', 1, [2], 'r', fig)
-    # fig = plot_reachtube_tree(traces, 'car3', 1, [2], 'r', fig)
-    # fig = plot_reachtube_tree(traces, 'car4', 1, [2], 'r', fig)
-    # fig = plot_reachtube_tree(traces, 'car5', 1, [2], 'r', fig)
-    # fig = plot_reachtube_tree(traces, 'car6', 1, [2], 'r', fig)
+    # fig = plot_reachtube_tree(traces, 'car1', 1, [2], 'r', fig)
+    # fig = plot_reachtube_tree(traces, 'car2', 1, [2], 'g', fig)
+    # fig = plot_reachtube_tree(traces, 'car3', 1, [2], 'g', fig)
+    # fig = plot_reachtube_tree(traces, 'car4', 1, [2], 'g', fig)
+    # fig = plot_reachtube_tree(traces, 'car5', 1, [2], 'g', fig)
+    # fig = plot_reachtube_tree(traces, 'car6', 1, [2], 'g', fig)
+    # fig = plot_reachtube_tree(traces, 'car7', 1, [2], 'g', fig)
+    # fig = plot_reachtube_tree(traces, 'car8', 1, [2], 'g', fig)
     # plt.show()
 
     fig = go.Figure()
diff --git a/dryvr_plus_plus/scene_verifier/analysis/simulator.py b/dryvr_plus_plus/scene_verifier/analysis/simulator.py
index fab7aa29bcdd4c387281ef84e801fbf7c5b560d7..c1099ecb985d9ec7f8d3471bfbe6406236917ca1 100644
--- a/dryvr_plus_plus/scene_verifier/analysis/simulator.py
+++ b/dryvr_plus_plus/scene_verifier/analysis/simulator.py
@@ -34,7 +34,7 @@ class Simulator:
         while simulation_queue != []:
             node:AnalysisTreeNode = simulation_queue.pop(0)
             print(node.start_time, node.mode)
-            remain_time = time_horizon - node.start_time
+            remain_time = round(time_horizon - node.start_time,10)
             if remain_time <= 0:
                 continue
             # For trace not already simulated
@@ -49,6 +49,10 @@ class Simulator:
 
             transitions, transition_idx = transition_graph.get_transition_simulate_new(node)
 
+            # If there's no transitions (returned transitions is empty), continue
+            if not transitions:
+                continue
+
             # truncate the computed trajectories from idx and store the content after truncate
             truncated_trace = {}
             for agent_idx in node.agent:
diff --git a/dryvr_plus_plus/scene_verifier/analysis/verifier.py b/dryvr_plus_plus/scene_verifier/analysis/verifier.py
index 01fcdca10f679b43dcc510bf2c340e7f3d6e3786..123729a66b30cd660001a831f1f095f456c74adf 100644
--- a/dryvr_plus_plus/scene_verifier/analysis/verifier.py
+++ b/dryvr_plus_plus/scene_verifier/analysis/verifier.py
@@ -65,8 +65,7 @@ class Verifier:
                     # print("here")
             
             # TODO: Check safety conditions here
-            if node.trace['car1'][-1][0] > 50.01:
-                print("stop here")
+
             # Get all possible transitions to next mode
             all_possible_transitions = transition_graph.get_transition_verify_new(node)
             max_end_idx = 0
diff --git a/dryvr_plus_plus/scene_verifier/scenario/scenario.py b/dryvr_plus_plus/scene_verifier/scenario/scenario.py
index 142b51726e5c1f7deba285c40e37b7c2b480a4ab..8a064619751afb34c28d241e6582e47b5c38abc8 100644
--- a/dryvr_plus_plus/scene_verifier/scenario/scenario.py
+++ b/dryvr_plus_plus/scene_verifier/scenario/scenario.py
@@ -253,7 +253,10 @@ class Scenario:
                                 tmp = tmp[1]
                                 for var in discrete_variable_dict:
                                     tmp = tmp.replace(var, f"'{discrete_variable_dict[var]}'")
-                                possible_dest[i] = eval(tmp)
+                                res = eval(tmp)
+                                if not isinstance(res, list):
+                                    res = [res]
+                                possible_dest[i] = res 
                             else:
                                 tmp = tmp[1].split('.')
                                 if tmp[0].strip(' ') in agent.controller.modes: