diff --git a/llvm/projects/soc_simulator/src/driver_new_config.py b/llvm/projects/soc_simulator/src/driver_new_config.py
index 5a00241bdccbebc5b9ab4c4adec9353b0922fb29..d12477fd77533f94ff067e05771459ff4c830bb8 100644
--- a/llvm/projects/soc_simulator/src/driver_new_config.py
+++ b/llvm/projects/soc_simulator/src/driver_new_config.py
@@ -181,17 +181,19 @@ class Driver:
             line = config_file.readline().strip()
 
             while line != "-----":
+                layer_as_lst = line.split(' ')
+                layer_results = []
                 # Skip softmax
                 if line.find("softmax") != -1:
+                    layer_results.append((0, 0, ' '.join(layer_as_lst[2:])))
+                    curr_conf_results.append((layer_as_lst[1], layer_results))
                     line = config_file.readline().strip()
                     continue
                 
-                layer_as_lst = line.split(' ')
                 layer_ind = int(layer_as_lst[0]) - 1
                 layer_table_data = self.__tensor_layers[layer_ind]
                 layer_name = layer_table_data["Name"]
 
-                layer_results = []
                 if Driver.is_promise(layer_as_lst[1]):
                     print("Running layer %s on PROMISE" % layer_name)
                     curr_layer = Driver.PrecisionTypes.PROMISE
@@ -206,7 +208,7 @@ class Driver:
                         time, energy = self.__run_promise_simulation(param_val, layer_table_data)
                         total_time += time
                         total_energy += energy
-                    layer_results.append((total_time, total_energy, ' '.join(layer_as_lst[1:])))
+                    layer_results.append((total_time, total_energy, ' '.join(layer_as_lst[2:])))
 
                 elif Driver.is_gpu(layer_as_lst[1]):
                     print("Running layer %s on the GPU" % layer_name)
@@ -247,7 +249,7 @@ class Driver:
 
                 line = config_file.readline().strip()
                 prev_layer = curr_layer
-                curr_conf_results.append(layer_results)
+                curr_conf_results.append((layer_as_lst[1], layer_results))
 
             self.__conf_results.append( (first_line, curr_conf_results) )
             line = config_file.readline().strip()
@@ -375,12 +377,15 @@ class Driver:
             new_header = [conf_name]
             new_header.append(repr(time_speedup))
             new_header.append(repr(energy_speedup))
-            new_header.append(first_line_lst[-1])
-            new_header.append(first_line_lst[-2])
+            new_header.append(repr(abs(float(first_line_lst[-2]))))
+            new_header.append(repr(abs(float(first_line_lst[-1]))))
             conf_str.append(' '.join(new_header))
             
-            for ind, layer in enumerate(layers):
+            for ind, (hardware, layer) in enumerate(layers):
+                print(layer)
                 layer_lst = [str(ind + 1)]
+                layer_lst.append(hardware)
+                print(layer_lst)
                 for op_time, op_energy, tensor_op in layer:
                     layer_lst.append(tensor_op) 
                 conf_str.append(' '.join(layer_lst))
@@ -392,7 +397,8 @@ class Driver:
 
         def get_baseline_times_energies(conf):
             curr_time = curr_energy = 0
-            for layer in conf[1]:
+            print("RESULTS: ", conf[1])
+            for hardware, layer in conf[1]:
                 for op_time, op_energy, tensor_op in layer:
                     curr_time += op_time
                     curr_energy += op_energy
@@ -403,7 +409,7 @@ class Driver:
            
             final_conf = [] # List (conf) of lists (layers) of tuples (operation data)
 
-            for layer_ind, layer in enumerate(curr_conf[1]):
+            for layer_ind, (hardware, layer) in enumerate(curr_conf[1]):
                 final_conf_layer = []
 
                 for tensor_ind, (op_time, op_energy, tensor_op) in enumerate(layer):
@@ -433,23 +439,19 @@ class Driver:
 
         conf_index = 0
         print("RESULTS")
-        #print(self.__conf_results)
         for line in config_file:
             if line.startswith("conf"):
                 orig_line_lst = line.split(' ')
                 conf_name = orig_line_lst[0]
+
                 if not baseline_conf:
                     baseline_conf = self.__conf_results[conf_index] #conf_name]
                     baseline_total_time, baseline_total_energy = get_baseline_times_energies(baseline_conf)
-                    results_file.write("%s %s\n" % (repr(baseline_total_time), repr(baseline_total_energy))) # write baseline time to top of file
+                    results_file.write("%s\n" % repr(baseline_total_time))
                     write_conf_to_file(conf_name, baseline_conf, 1, 1)
                 else:
                     curr_conf = self.__conf_results[conf_index] #conf_name]
                     final_time, final_energy = get_baseline_times_energies(curr_conf)
-                    #final_time, final_energy, curr_conf = get_final_times_energies_conf(curr_conf)
-                    #assert(final_time <= baseline_total_time)
-                    #assert(final_energy <= baseline_total_energy)
-                    #write_conf_to_file(conf_name, curr_conf, final_time, final_energy)
                     write_conf_to_file(conf_name, curr_conf, baseline_total_time / final_time, baseline_total_energy / final_energy) 
                 conf_index += 1
         results_file.close()