add some work on websocket