created abstract http client classes and request