updated string routines