updated Eval function