                 elements[Index.BOUNDARY.rawValue].count == 3 &&
                 elements[Index.EXTERIOR.rawValue].count == 3
         )
-        for row in 0...IntersectionMatrix.Index.EXTERIOR.rawValue {
-            for col in 0...IntersectionMatrix.Index.EXTERIOR.rawValue {
-                
-                self.matrix[row][col] = elements[row][col]
-            }
-        }
+
+        self.matrix = elements
     }
 }
 

                        continue
                    case "F":
                        
                        if ![Dimension.EMPTY].contains(self.matrix[row][col]) {
                            return false
                        }
                        continue
                    case "*":
                       
                        continue
                    case "0":
                        

extension IntersectionMatrix  {
    
    /**
     Initialize an IntersectionMatrix with the default values of .EMPTY
    */
    internal
    init() {
        self.matrix =
            [
                [.EMPTY, .EMPTY, .EMPTY],
                [.EMPTY, .EMPTY, .EMPTY],
                [.EMPTY, .EMPTY, .EMPTY]
            ]
    }
    
    /**
     Initialize an IntersectionMatrix with an Array of Arrays of
     of Dimension values.
     
     - Prameter: arrayLiteral: [[Dimension]] Array of `Dimension` arrays.
