added viewmodel