never alter input data

please respect module barriers and do not alter data that inside the library that comes from the outside. clone the strings or use non destructive versions of methods (no bang methods ie)
Merge pull request #2 from phoet/patch-1

never alter input data