refactor evaluators and properties