add MACRO protector