improve ability: dotter now preserve the original string and use the original string to generate.