added include guards and constants to all the header fiels