full header parsing