Move functional, rotation needs tweaking