no need to return viewmodels