why are we parsing manually if we have URI, which is specifically written to parse URIs?