 
   def retract_z(needs) do
     SysCalls.move_absolute(
-      needs["current_x"],
-      needs["current_y"],
+      SysCalls.get_current_x(),
+      SysCalls.get_current_y(),
       needs["z"],
       needs["speed_x"],
       needs["speed_y"],

    %{x: x, y: y, z: z} = current_location()

    [
      {"current_x", :=, x},
      {"current_y", :=, y},
      {"current_z", :=, z},
      {"x", :=, x},
      {"y", :=, y},
      {"z", :=, z},


  def extend_z(needs) do
    SysCalls.move_absolute(
      SysCalls.get_current_x(),
      SysCalls.get_current_y(),
      needs["z"],
      needs["speed_x"],
      needs["speed_y"],
