refactoring mvvm architecture

refactoring mvvm architecture