added some include guards to header file