                   yearPublished: yearPublished,
                   playerCount: playerCount,
                   playingTime: playingTime,
-                  picture: picture)
+                  picture: picture,
+                  thumbnail: thumbnail)
     }
 }
 

            guard let urlString = try xml.nodes(forXPath: "image").first?.stringValue else {
                return nil
            }
            let urlComponents = urlString.components(separatedBy: ".")
            guard urlComponents.count > 1, let fileExtension = urlComponents.last else {
                Log.warning("Failed to generate picture URL for #\(id)")
                return nil
            }
            let newURLString = urlComponents.dropLast().joined(separator: ".").appending("_md.").appending(fileExtension)
            guard let url = URL(string: newURLString.hasPrefix("//") ? "https:" + newURLString : newURLString) else {
                Log.warning("Failed to generate picture URL for #\(id)")
                return nil
            }
            return url
        }()
        self.init(id: id,
                  name: name,

                return nil
            }
        }()
        let thumbnail: URL? = {
            if let urlString = String(bson["thumbnail"]) {
                return URL(string: urlString)
            } else {
                return nil
            }
        }()
        self.init(id: id,
                  name: name,
                  names: names,
                  yearPublished: yearPublished,
                  playerCount: playerCount,
                  playingTime: playingTime,
                  picture: picture,
                  thumbnail: thumbnail)
    }
    
    func toBSON() -> Document {
