add rotate method