make answer rules replaceable
refactor some intention property names