refactored Eval and Iterator interfces