       if check?.data?.doi and check.data.title? and check.data.title.length <= metadata.title.length*1.2 and check.data.title.length >= metadata.title.length*.8 and metadata.title.toLowerCase().replace(/ /g,'').indexOf(check.data.title.toLowerCase().replace(' ','').replace(' ','').replace(' ','').split(' ')[0]) isnt -1
         metadata.doi = check.data.doi
         metadata.title = check.data.title
-        _get_formatted_crossref(check.original.message) if check.original?.message?
+        _get_formatted_crossref(check.original.message) if check.original?.message? and 'crossref' in res.sources
       res.checked.push 'reverse'
     _get_reversed_crossref() if (not _got() or (res.find and not res.url)) and 'reverse' in res.sources and not metadata.doi? and metadata.title? and metadata.title.length > 8 and metadata.title.split(' ').length > 2 and not options.reversed?
   

  options.url = options.url[0] if _.isArray options.url
  res.checked = []

  metadata.doi ?= options.doi.replace(/doi\:/i,'').trim() if typeof options.doi is 'string'
  metadata.title ?= options.title.trim() if typeof options.title is 'string'
  metadata.pmid ?= options.pmid if options.pmid
  metadata.pmcid ?= options.pmcid if options.pmcid

    if options.citation.indexOf('doi:') isnt -1
      metadata.doi = options.citation.split('doi:')[1].split(',')[0].split(' ')[0].trim()
    else if options.citation.indexOf('{') is 0 or options.citation.indexOf('[') is 0 # look for dumped citation styles
      try _get metadata, JSON.parse options.citation
    else
      try
        options.citation = options.citation.split('title')[1].trim() if options.citation.indexOf('title') isnt -1
