include guards and removing foolishness