Correct movements (I think), still bugs to fix.