use a config record instead of macros.