robust macros