add macros.h