refactoring transitions