     }
 }
 
-final class SpectralSequence {
+final class SerreSS {
     var name: String? = nil
     let size: (width: Int, height: Int)
     

        
        var isIsomorphicToAbove: Bool {
            return isZeroMap && (cotarget?.isZeroMap ?? true)
        }
        
        static func zero(_ r: Int, _ p: Int, _ q: Int) -> Component {

    }
}

var E = SerreSS(size: (5, 2))

E.name = "S^1 -> S^5 -> CP^2"
E.fiber = [Z, Z]
E.total = [Z, 0, 0, 0, 0, Z]
E.solve()

print(E.name!, "\n")
print(E.detailDescription, "\n")
print("H^*(CP^2) = {", E.base.flatMap{ $0 == 1 ? "Z" : "0"}.join(", "), "}")
