completed 17_macros