what's the rationale to lowercase all the template data? you should lower case the data before passing it to the streaming replacer so this stays more general purpose.