OK so... code needs completion
we need the generator
we need to solve the cancel / retargeting of moves problem