Generalizing rotation