slight modification to eval