add the rotation related functions