echo protocol implement