FIX: macro substitution