added viewmodels, models and views