use no cache by default; no longer throw error if options.route is not defined