moved some macros from base to util