code: function userFind (view, id, opts, tried, callback) {
      if (typeof tried === 'function') {
        callback = tried
        tried = { tried: 0, max_retries: 2 }
      }
      users.view('users', view, opts, function (e, b, h) {
        if (e) {
          var currentView = VIEWS[view]
          if (!currentView) {
            e.message = 'View is not available'
            return callback(e, b, h)
          }
          if (tried.tried < tried.max_retries) {
            if (e.message === 'missing' || e.message === 'deleted') { // create design document
              var designDoc = { views: {} }
              designDoc.views[view] = currentView
              return users.insert(designDoc, '_design/users', function () {
                tried.tried += 1
                userFind(view, id, opts, tried, callback)
              })
            }
            if (e.message === 'missing_named_view') {
              users.get('_design/users', function (e, b, h) { // create view
                tried.tried += 1
                if (e) { return userFind(view, id, opts, tried, callback) }
                b.views[view] = currentView
                users.insert(b, '_design/users', function (e, b, h) {
                  return userFind(view, id, opts, tried, callback)
                })
              })
              return
            }
          } else { return callback(e, b, h) }
        }
        return callback(null, b, h)
      })
    }
docs: ***************************************************************************
  user.find()
  **************************************************************************  some more logic needed what if design document exists but view doesnt, we cant just overwrite it  we need a way to fectch and build on and thats the reason why im not doing this at 5am