unified header structure