refactor out header