evaluation rules refactoring