Header file split

Please make this a high priority pull request, before any other people start modifying headers again.