Added socket.io support