error handling
template caching
Validation