add parse_url function