version 0.1.6: much simpler design at the cost of synchronously loading templates from disk