adjusted challengeReader and added new challengeAction to hold the challenge list and get random challenges