more flexibility for header generation
flex