added assertion that rotation step does not overshoot