modified echoClient