add experimental rotation algorithm