 	func setup(withDataModelNamed dataModelName: String? = nil, storeURL: URL? = nil, callback: @escaping Callback = {}) {
 		self.callback = callback
 
-		let url: URL
-		if let storeURL = storeURL {	//	if the target URL is supplied
-			//	then make sure that the path is usable. create all missing directories in the path, if needed
-			RTCoreDataStack.verify(storeURL: storeURL)
-			url = storeURL
-		} else {	//	otherwise build the name using cleaned app name and place in the local app's container
-			url = RTCoreDataStack.defaultStoreURL
-			RTCoreDataStack.verify(storeURL: url)
-		}
+		if storeType == NSSQLiteStoreType {
+			let url: URL
+			if let storeURL = storeURL {	//	if the target URL is supplied
+				//	then make sure that the path is usable. create all missing directories in the path, if needed
+				RTCoreDataStack.verify(storeURL: storeURL)
+				url = storeURL
+			} else {	//	otherwise build the name using cleaned app name and place in the local app's container
+				url = RTCoreDataStack.defaultStoreURL
+				RTCoreDataStack.verify(storeURL: url)
+			}
+			self.storeURL = url
+		}
+
 		let mom = managedObjectModel(named: dataModelName)
-
-		self.storeURL = url
 		self.dataModel = mom
 
 		//	setup persistent store coordinators

	/// Managed Model instance used by the stack
	public private(set) var dataModel: NSManagedObjectModel!

	/// Full URL to the location of the SQLite file
	public private(set) var storeURL: URL!

	/// Instantiates the whole stack, giving you full control over what model to use and where the resulting file should be.
	///
	/// - parameter dataModelName: String representing the name (without extension) of the model file to use. If not supplied,
	/// - parameter storeURL: Full URL where to create the .sqlite file. Must include the file at the end as well (can't be just directory). If not supplied, user's Documents directory will be used + alphanumerics from app's name. Possible use: when you want to setup the store file into completely custom location. Like say shared container in App Group.
	/// - parameter callback: A block to call once setup is completed. RTCoreDataStack.isReady is set to true before callback is executed.
	///
	/// - returns: Instance of RTCoreDataStack
	public init(withDataModelNamed dataModel: String? = nil, storeURL: URL? = nil, callback: @escaping Callback = {}) {
		DispatchQueue.main.async { [unowned self] in
			self.setup(withDataModelNamed: dataModel, storeURL: storeURL, callback: callback)
		}

				NSInferMappingModelAutomaticallyOption: true
			]
			do {
				try psc.addPersistentStore(ofType: storeType, configurationName: nil, at: storeURL, options: options)
				if let postConnect = postConnect {
					postConnect()
				}
			} catch (let error) {
				let log = String(format: "E | %@:%@/%@ Error adding persistent stores to coordinator %@:\n%@",
								 String(describing: self), #file, #line, String(describing: psc), error.localizedDescription)
				fatalError(log)
			}
		}
