mo refactor