reorganized functions. append creates new string