more refactoring for rotation and changed field size