rubic v4: new rotation mode, refactoring