add mvvm