fixed return exp in eval, now can define function by def