moved macros to inline functions