mo refactoring