split header and footer out so they can be reused