     
     public func cells(ofDim i: Int) -> [Simplex] {
         return validDims.contains(i) ? table[i] : []
+    }
+    
+    public var vertices: [Vertex] {
+        return (dim >= 0) ? table[0].map{ $0.vertices[0] } : []
     }
     
     private var _maximalCells: Cache<[Simplex]> = Cache()

    public typealias Cell = Simplex
    
    public var name: String
    public let vertices: [Vertex]
    internal let table: [[Simplex]]
    
    // root initializer

        } else {
            self.table = table
        }
    }
    
    public init<S: Sequence>(name: String? = nil, allCells cells: S) where S.Iterator.Element == Simplex {
