added challengegroup class
challenge function