add support to multiple http implementations