   end
   def translate_command([:C_ARITHMETIC, ["lt"]]) do
     # x is LT y if x-y is LT 0
-    true_label = "IS_TRUE_#{generate()}"
-    false_label = "IS_FALSE_#{generate()}"
-    end_label = "END__#{generate()}"
+    true_label = "IS_TRUE_#{UUID.generate()}"
+    false_label = "IS_FALSE_#{UUID.generate()}"
+    end_label = "END__#{UUID.generate()}"
     [get_top_item_on_stack(), # y
      "D=M",                   # and assign to D register
      get_top_item_on_stack(), # x

    ]
  end
  def translate_command([:C_ARITHMETIC, ["eq"]]) do
    true_label = "IS_TRUE_#{generate()}"
    false_label = "IS_FALSE_#{generate()}"
    end_label = "END__#{generate()}"
    [get_top_item_on_stack(), # y
     "D=M",                   # and assign to D register
     get_top_item_on_stack(), # x

  end
  def translate_command([:C_ARITHMETIC, ["gt"]]) do
    # x is GT y if x-y is GT 0
    true_label = "IS_TRUE_#{UUID.generate()}"
    false_label = "IS_FALSE_#{UUID.generate()}"
    end_label = "END__#{UUID.generate()}"
    [get_top_item_on_stack(), # y
     "D=M",                   # and assign to D register
     get_top_item_on_stack(), # x
