MVP refactoring