use substitution