a little revamp in macros