adding ChoiceGroup to make recursive calling on choices much easier