rotate now uses median point as pivot