rename rotate into transform, and expose the api