always outputing a header, reducing some logic cruft