         }
     }
     
+    /**
+     Unpack a utree file to default directory in cache. Cache directory is determined by `cacheDirectoryURL`.
+     
+     - parameter treeURL: URL of compressed .utree
+     
+     - returns: URL of folder with .utree extension
+    */
     public func unpackTreeToCacheDirectoryWithTreeURL(treeURL: NSURL) -> NSURL? {
         // Generate unique string to ensure unpack to new clean directory
         let uniqueId = NSUUID().UUIDString

        return contents?.filter({ $0.pathExtension == "utree" }).first ?? nil
    }
    
    public func unpackTreeWithURL(url: NSURL, toDestinationURL destinationURL: NSURL) -> NSURL? {
        // Attempt to unzip
        do {

        }
    }
    
    /// Get the utree files inside `rootURL`
    public func treesAtRootURL() -> [NSURL] {
        if let contents = contentsOfDirectoryAtRootURL() {
            // filter contents to URLs with path extension 'utree'
            return contents.filter { $0.pathExtension == "utree" }
        }
        
        // Return empty array if contents is nil
        return []
    }
    
    /**
     Get the first found folder with .utree extension. This is typically used for the unpacked .utree.
     
     - parameter url: URL of unpacked .utree
     
     - returns: URL of folder with .utree extension
    */
    public func firstTreeInURL(url: NSURL) -> NSURL? {
        // Get directory of .utree folder in unpack directory
        let contents = try? NSFileManager.defaultManager().contentsOfDirectoryAtURL(url, includingPropertiesForKeys: nil, options: NSDirectoryEnumerationOptions.SkipsHiddenFiles)
