fixed macro substitution