http inicial refactory
add custom http
add support to multiple http implementations