more accurate rotation