refactoring Mojo to separate goals