implement step-rotating