         let list = files(inDirectory: dirPath)
         guard list.count > 0 else { return desc }
         var sName = "\(removeSymbol(from: name).capitalized)"
-        if isRoot { sName += "Image"}
+        if isRoot {
+          sName += "Image"
+          bundleName = "\(sName).bundle"
+        }
         desc = "\nstruct \(sName) {\n"
+        if isRoot {
+          desc += "static var bundle: Bundle = Bundle.main\n"
+        }
         var properties = ""
         var structs = ""
         let base = "\(parent)/\(name)"

    fileprivate var fm = FileManager.default
    fileprivate let builderFile: String
    fileprivate var fileName: String = "Assets.xcassets"

    init() {
        var arguments: [String] = CommandLine.arguments

            if item.hasSuffix(".imageset") {
                let raw = item.replacingOccurrences(of: ".imageset", with: "")
                let name = raw.replacingOccurrences(of: " ", with: "_")
                properties += "static var \(name): UIImage { return UIImage(named: \"\(raw)\", in: \(bundleName), compatibleWith: nil)! }\n"
            } else if !item.hasSuffix(".appiconset") {
                let vname = varName(of: item)
                let subDesc = loopDirectory(at: p, name: vname, parent: base)
