this doesn't return html but has logic; why is it a template?