REST client implementation