use jinja2 templates throughout