function mvp with UI