socket.io working copy