use exec instead of template()