unified rotation implemented