add build_urlencoded test and refactor parse
update docs