understanding macros