add anaphoric if macro
refactoring
refactoring