some string processing additions