minor refactoring of macro methods