code: function GCSFS (args) {
      // initialize instance from default args
      _.merge(this, defaultArgs)
      // set args for instance
      mergeArgs(this, args)
      // require bucket
      assert(defined(this.bucketName), 'bucketName required')
      // args for instantiating google cloud storage client
      var gcsArgs = {
          promise: Promise,
      }
      // use key file if set
      if (defined(this.keyFile)) {
          gcsArgs.keyFilename = this.keyFile
      }
      // otherwise use credentials if set
      else if (defined(this.credentials)) {
          gcsArgs.credentials = this.credentials
      }
      else {
          throw new Error('keyFile or credentials required')
      }
      // create new gcs instance
      this.gcs = GCS(gcsArgs)
      // create bucket instance
      this.bucket = this.gcs.bucket(this.bucketName)
  }
docs: @function GCSFS
  
  instantiate a new Google Cloud Storage virtual fs instance
  
  @param {object} args
  
  @returns {GCSFS}
  
  @throws {Error}