macro.h