refactoring transition