macros are finally working as desired