Refactored viewmodels into one