Added some header guards and stuff