all headers and source seperated out
Merge branch 'code-cleanup'