add do request and parse response functions