make SubstitutionTemplate consctructo able to accept the template
so that we can save one line of code for each initialization