Half-way through rewriting for socket.io
runs again