fix for recursive macros