working on viewmodels, updated the models