added string_replace with tests