partially working socket.io implementation