improve the String class