1. Refactor the existing functions
2. Update the evaluator
3. Parse the user defined functions