updated 27 to use string functions