added make_choice exception handling