Using #ifndefs instead of #pragmas for headers