changed implementation of Header to use a slice instead of a map -- this means that we have certainty about the order of the header entries