Split header into two separate files for ease of modularity.