preprocessor macros fix