Now uses USR rather than pseudo-threads to control the movement.