_doRequest is fit to handle all outbound requests uniformly. will no re-factor code to use this internal method.
Pretty much finished refactoring this library