introduced viewmodel for auth