   clever = require("./index") api_key, "localhost"
 
   trequire = (fp) ->
-    val = null
+    val = []
     if fs.existsSync("#{fp}.coffee") or fs.existsSync("#{fp}.js") or fs.existsSync("#{fp}.json")
       try
         val = require(fp)
       catch err
         throw new Error "Error loading file at #{fp}: #{err}"
-    return val or []
+    val
 
+  # clever.db[resource] are arrays of resources
   clever.db =
     districts: trequire("#{data_dir}/districts")
     districtproperties: trequire("#{data_dir}/districtproperties")

    teacherproperties: trequire("#{data_dir}/teacherproperties")
    schools: trequire("#{data_dir}/schools")
    schoolproperties: trequire("#{data_dir}/schoolproperties")

  sandbox = sinon.sandbox.create()


_.mixin require('underscore.string').exports()
_.mixin require('underscore.deep')

# This is still an unstable interface.
module.exports = (api_key, data_dir) ->
  throw new Error "Must provide api_key" unless api_key?
  throw new Error "Must provide data_dir" unless data_dir?
