Refactored viewmodels