Added cache support back to Rotate()