added the socket native client implementation