viewmodel generator added