adding viewmodel base