try refactoring
rotate code move to aft