basic rotate and select functions