add socket.io messaging