adding parameters to preprocessor macros