draft websocket interface