Formatted the structure and changed the makefile to better handle includes