working on more substitution stuff