add header, footer, and return name