websocket refinement