Rearranged includes, cross platform macros for platform dependent calls