added socket.io communicator