Fixed underscore replacement
I misread the docs for strings.Replace
The n argument is now -1, meaning that the function will replace all of the underscores as opposed to zero of them.