updated rotation behavior