split out policy logic

this should make complex logic easier later
add a spec for AnswerPolicy