viewmodel changes