replace pull by socket.io