socket.io draft