refactored HTTPClient