dynamically allocate (instead of static) several macros