cleanup - we don't need a separate _fetchUser funciton, and this way we can have custom err messages