     data.live = this.config.live if this.config.live
     if this.f.ill?.subscription?.url
       data.resolved = 'subscription'
-      data.url = this.f.ill.subscription.url
-      _L.post(this.api+'/ill', data, (() => window.location = this.f.ill.subscription.url), (() => window.location = this.f.ill.subscription.url))
     else if this.f.url
       data.resolved = 'open'
-      data.url = this.f.url
-      _L.post(this.api+'/ill', data, (() => window.location = this.f.url), (() => window.location = this.f.url))
     else if ou = this.openurl()
       data.resolved = 'library'
-      data.url = ou
-      _L.post(this.api+'/ill', data, (() => window.location = this.openurl()), (() => window.location = this.openurl()))
+    if data.resolved?
+      data.url = this.f.ill?.subscription?.url ? this.f.url ? ou
+      _L.post(this.api+'/ill', data, (() => window.location = this.f.ill?.subscription?.url ? this.f.url ? ou), (() => window.location = this.f.ill?.subscription?.url ? this.f.url ? ou))
 
   _L.show '#_oab_findings'
   if this.f.ill?.error
     _L.show '#_oab_error', '<p>Please note, we encountered errors querying the following subscription services: ' + this.f.ill.error.join(', ') + '</p>'
-  if this.f.metadata?.title? or this.f.ill?.subscription?.demo
-    citation = '<h2>' + (if this.f.ill?.subscription?.demo then 'Engineering a Powerfully Simple Interlibrary Loan Experience with InstantILL' else this.f.metadata.title) + '</h2>'
+  if this.f.metadata?.title?
+    citation = '<h2>' + this.f.metadata.title + '</h2>'
     if this.f.metadata.year or this.f.metadata.journal or this.f.metadata.volume or this.f.metadata.issue
       citation += '<p><i>'
       citation += (this.f.metadata.year ? '') + (if this.f.metadata.journal or this.f.metadata.volume or this.f.metadata.issue then ', ' else '') if this.f.metadata.year

    this.data.embedded ?= window.location.href
    this.data.pilot ?= this.config.pilot if this.config.pilot
    this.data.live ?= this.config.live if this.config.live
    _L.post(
      this.api+'/find'
      this.data
      (data) => if this.plugin is 'instantill' then this.findings(data) else this.permissions(data)
      () => _L.show '#_oab_error', '<p>Oh dear, the service is down! We\'re aware, and working to fix the problem. ' + this.contact() + '</p>'
    )

_oab.css = '
<style>

  try e.preventDefault()
  if not this.data.email and _L.gebi '#_oab_email'
    this.validate()
  else if this.demo is true or (this.data.doi? and this.data.doi.indexOf('10.1234/oab-syp-') is 0) or this.uid in ['qZooaHWRz9NLFNcgR','eZwJ83xp3oZDaec86'] or ((window.location.href.indexOf('setup') isnt -1 or window.location.href.indexOf('demo') isnt -1) and (window.location.href.indexOf('openaccessbutton.') isnt -1))
    if this.data.doi? and this.data.doi.indexOf('10.1234/oab-syp-') is 0 # demo successful deposit
      info = '<p>You\'ll soon find your paper freely available in ' + (this.config.repo_name ? 'ScholarWorks') + ', Google Scholar, Web of Science, and other popular tools.'
      info += '<h3>Your paper is now freely available at this link:</h3>'
      _L.html '#_oab_zenodo_embargo', info
      this.done 'zenodo'
    else # demo something wrong, please confirm
      this.done 'confirm'
  else
    fl = _L.gebi '#_oab_file'
    if fl? and fl.files? and fl.files.length
