websocket interface