Added Windows and OSX Preprocessor Directives