Compatibility for compiling on OSX
Removed example macro
Moving things around to organize them
Removed unneeded duplicate struct
Organizing things and improving comments
Better comments
Changed the way file attributes are gotten to cut down on repeated code