use more templating