Reorganizing headers and fixing build issues
Merging changes