get_challenge implementation