added attribution for rfc3986 code