updated parse_str function