move to mvvm