added active-or-return macro