more accurate fetchUser