add a few platform and include guards