implemented choiceN and choiceViaChoiceN