tutorial 5: ViewModel basics