FIXUP: header guards + extern C