a simple template engine only for study