use new mvvm