refactor evaluation