switched to using stringbuilders