No need some awkward substitutions, just substitute where possible. (and if impossible - crash = need to fix)