add error handling.
add template caching.
add validation.
add function literaral and closure.