refactoring migration