Chain complexes and homology