templates and formatting