refactored evaluation framework (all tested)