refactor evaluate