refactor AnswerBase