working socket.io support