add rotation fn