added new template engine (separated display from code)