new design for HttpClient.