         fatalError()
     }
     
-    init(modelName: String, type: String = NSSQLiteStoreType, identifier: String, bundle: Bundle, in directory: FileManager.SearchPathDirectory = .documentDirectory, mergePolicy: NSMergePolicyType = .mergeByPropertyObjectTrumpMergePolicyType, wipeOnConflict: Bool) {
+    init(modelName: String, type: String = NSSQLiteStoreType, identifier: String, bundle: Bundle, in directory: FileManager.SearchPathDirectory = .documentDirectory, mergePolicy: NSMergePolicyType = .mergeByPropertyObjectTrumpMergePolicyType, wipeOnConflict: Bool, sharedBackgroundContext: Bool) {
         
         self.modelName = modelName
         self.type = type

    }
    
    private var writingContext: NSManagedObjectContext?

    fileprivate override func loadPersistentStores(completion: @escaping (() -> ())) {
        DispatchQueue.main.async {

        self.directory = directory
        self.mergePolicy = mergePolicy
        self.wipeOnConflict = wipeOnConflict
        self.sharedBackgroundContext = sharedBackgroundContext
    }
    
    fileprivate var databaseFilePath: URL? {
