made error handling throughout ViewModels more consistent