switched to using macros