abstract away more auth details