substitution done