refactored mvp
refactored mvp