almost done, lacking move verification