added string functions