refactored ScreenOrientation