template_callback