   'use strict'
 
   unless options.connector?
-    throw new Error 'No connector given for api: ' + options.api
-
-  options.connector.init options.api
-
-  options.connector.add_apis_to options.has_one, options.api if options.has_one?
-
-  options.connector.add_apis_to options.has_many, options.api if options.has_many?
+    throw new Error 'No connector given for API URI: ' + options.api
+
+  sub_resources = []
+
+  sub_resources = object_merge sub_resources, options.has_one if options.has_one?
+  sub_resources = object_merge sub_resources, options.has_many if options.has_many?
+
+  options.connector.init options.api, sub_resources
 
   connector = options.connector.get options.api
 


      if options.editable?
        for index, name of options.editable
          data[name] = self[name]()

      if options.encrypted_editable?
        for index, name of options.encrypted_editable
          data[name] = self[name]()

      if options.belongs_to?

    if typeof params != 'object'
      throw new Error 'Passed params is not an object: ' + typeof params

    if options.hashed_index? && params?
      salt = ''
      if options.hash_salt?
        salt = options.hash_salt

      for param of params
        if param in options.hashed_index
          params[param] = getHash(params[param] + salt)

    if params? && params.id?
      connector.read(params.id, params).done callback
    else
