added include guards, eof markers