string functions update