added free rotation