add more string functions