add rotate! method