Add substitution function