substitution is working well