In this talk, linear algebra for persistence modules will be introduced, together with a generalization of persistent homology. This theory permits us to handle the Mayer-Vietoris spectral sequence for persistence modules, and solve any extension problems that might arise. The result of this approach is a distributive algorithm for computing persistent homology. That is, one can break down the underlying data into different covering subsets, compute the persistent homology for each cover, and join everything together. This approach has the added advantage that one can recover extra geometrical information related to the barcodes. This addresses the common complaint that persistent homology barcodes are 'too blind' to the geometry of the data.