add iterateEval method