refactor GridRotater