     }
 }
 
-extension Path {
+public extension Path {
 
     var exists:Bool {
         return url.checkResourceIsReachableAndReturnError(nil)

// MARK: -

extension Path: CustomStringConvertible {
    var description:String {
        return path
    }
}

// MARK: -

extension Path {

    var components:[String] {
        return (path as NSString).pathComponents

        }
    }

    public var isDirectory:Bool {
        return fileType == .Directory
    }

    public func iter(@noescape closure:Path -> Void) {
        let enumerator = NSFileManager().enumeratorAtURL(url, includingPropertiesForKeys: nil, options: NSDirectoryEnumerationOptions.SkipsSubdirectoryDescendants, errorHandler: nil)
        for url in enumerator! {
            closure(Path(url as! NSURL))
        }
    }

    public var length:Int {
        return try! getAttributes()[NSFileSize] as! Int
    }

