use macros correctly