moved string functions