Eval function implementation
Merge branch 'eval'