finished template engine, which is a interpreter