add evaluator
add basic eval with application
add comments to new function definitions