added string_replace