diff --git a/unoptimized_lr/simple_lr_tables.py b/unoptimized_lr/simple_lr_tables.py
index 7f3b5611b6811b0fa825fc4103b6275629e8fc22..14928c1bea081146f408db0dfe3ac8e4f0662171 100644
--- a/unoptimized_lr/simple_lr_tables.py
+++ b/unoptimized_lr/simple_lr_tables.py
@@ -119,7 +119,12 @@ class ShiftReduceTable(Elaboratable):
 
 
 class GOTOTableBusLayout(Layout):
-    def __init__(self, *, row_input_width, column_input_width, output_width):
+    def __init__(self, *, parameters):
+
+        row_input_width    =  parameters.W_state
+        column_input_width =  parameters.W_nonterminal
+        output_width       = (parameters.W_nonterminal + 1)
+
         super().__init__([
             # INPUTS
             ("row_idx",     unsigned(row_input_width)),    # FROM SOURCE
@@ -135,8 +140,8 @@ class GOTOTableBusLayout(Layout):
         ])
 
 class GOTOTableBus(Record):
-    def __init__(self, *, row_input_width, column_input_width, output_width):
-        super().__init__(TableBusLayout(row_input_width=row_input_width, column_input_width=column_input_width, output_width=output_width))
+    def __init__(self, *, parameters):
+        super().__init__(TableBusLayout(parameters=parameters))
 
 class GOTOtable(Elaboratable):
     def __init__(self, *,  lang_params, input_array):
@@ -175,9 +180,7 @@ class GOTOtable(Elaboratable):
 
 
         # Interfaces
-        self.bus = TableBus(row_input_width=lang_params.W_state,
-                            column_input_width=lang_params.W_nonterminal,
-                            output_width=self.table_width)
+        self.bus = TableBus(parameters=lang_params)
 
 
         # Prepare the table for consumption