          args: %{label: "current_location"},
          kind: :special_value
        }) do
-    get_coord(%{x: x(), y: y(), z: z()}, axis)
+    get_coord(%{x: cx(), y: cy(), z: cz()}, axis)
   end
 
   defp to_number(axis, %{x: _, y: _, z: _} = coord) do

  end

  defp move_abs(%{x: x, y: y, z: z, speed_x: sx, speed_y: sy, speed_z: sz} = k) do
    SysCalls.log("Moving to (#{x},#{y},#{z}) @ speed (#{sx},#{sy},#{sz})")
    SysCalls.move_absolute(x, y, z, sx, sy, sz)
    k
  end

  defp move_abs(%{
    "speed_x" => sx,
    "speed_y" => sy,
    "speed_z" => sz,
    "x" => x,
    "y" => y,
    "z" => z }) do
    move_abs(%{ speed_x: sx, speed_y: sy, speed_z: sz, x: x, y: y, z: z })
  end

  def x, do: SysCalls.get_current_x()
  def y, do: SysCalls.get_current_y()
  def z, do: SysCalls.get_current_z()
end


  def initial_state do
    [
      {"x", :=, cx()},
      {"y", :=, cy()},
      {"z", :=, cz()},
      {"speed_x", :=, 100},
      {"speed_y", :=, 100},
      {"speed_z", :=, 100},
