refactored viewmodels classes into their own project