finish refactoring to MVP