macro substitution