modified
fixed eval method