make substitutions optional