add Macro.h