revised macros