start http-client refactoring