         return rowCapacity - 1
     }
     
+    
     // Generator for implementing for..in iteration
-    func generate() -> AnyGenerator<T> {
-    
+    func generate() -> AnyGenerator<T>
+    {
+        
         let rowMax = rowCapacity
         let colMax = colCapacity
         

        }
    }
    
    // A single subscript, i, will return what is in the column at index i, in the first row
    // This is only implemented to conform to the CollectionType protocol and the objects
    // in the matrix ought not be accessed this way. This is prone to index out of bounds.
    internal subscript(i: Int) -> T {
        assert(indexIsValidForRow(0, column: i), warning)
        return getObjectFromMatrixAtRow(0, column: i)
    }
    
} // End of extension CollectionType
import Foundation

class LiteMatrix<T: NSObject> {
    
    private let matrix:ObjcLiteMatrix
    let rowCapacity:Int
    let colCapacity:Int
    
    private var initializeTOnMatrixInit:Bool = true
    private var warning: String
    private var index = (x:0, y:0)
    
    
    // Designated initializer, initializes a matrix of unique objects
    init(rows:Int, columns cols:Int)
    {
        rowCapacity = rows
        colCapacity = cols
        
        matrix = ObjcLiteMatrix(rowSize:rows, withColumnSize:cols)
        warning = "Index out of range - row capacity: \(rowCapacity), col capacity: \(colCapacity)"
        
        for i in 0..<rowCapacity {
            for j in 0..<colCapacity {
                matrix.addObjectToMatrixAtIndex(T() as AnyObject, row:i , column:j)
            }
        }
    }
    
    
    // Initializes a Matrix of references to the same object
    init(row:Int, column col:Int, withRepeatedValue value: T)
    {
        rowCapacity = row
        colCapacity = col
        
        matrix = ObjcLiteMatrix(rowSize:row, withColumnSize:col)
        warning = "Index out of range - row capacity: \(rowCapacity), col capacity: \(colCapacity)"
        
        for i in 0..<rowCapacity {
