more state machine refinements - doesn't work for moving angles