added user defined macros