improved rotation