split out substitutions into its own case