added 'eval' function