added StringExtensions