preferred orientations implemented