reduce external dependencies and introduce a cURL http client