A data collector reads information from a distributed storage system by contacting a subset of the nodes, and requesting from each a subset of its stored bits. In a practical system, it is important to allow flexibility in the choice of the contacted nodes, their number, and the amount of information to request from them. In the talk we present a model to allow such flexibility, and a two-dimensional LDPC construction that targets this model. According to the model, among the n nodes in the system, n-r can provide the entire code unit stored on them, while r "busy" nodes are only capable of providing a certain fraction of the code unit. It is shown that for this problem the 2D LDPC construction provably outperforms standard 1D LDPC codes.