fix test failure and add ChoiceFormatter