substitutions now working