macros and functions, oy vey