what is goal of returning new name? You always set same value as parameter, so it looks just confusing for me.