>what on earth is creating inclusion guards?
Inclusion guards make sure that a header file cannot be included more than once, even if the source asks for it.
Code:
#ifndef SOME_WIERD_NAME_
#define SOME_WIERD_NAME_

// Do header type stuff

#endif
-Prelude