most of the template is complete