change get user info function to use callback