       object_merge data,
         model: name.capitalize()
 
-      relation_params = relationship_fields name, data.model, self.api(), options
+      relation_params = Helpers.relationship_fields name, data.model, self.api(), options
 
       fn = window[data.model]
+      fn = data.model if data.model? and typeof data.model == 'function'
 
       if typeof fn != 'function'
+        console.debug 'Relation model for "' + name + '" not a function: ', fn
         throw new Error 'No model for has_one/belongs_to relation found'
 
       if typeof self[name + '_id'] != 'function' && name not in options.belongs_to

      object_merge data,
        model: name.capitalize()

      relation_params = relationship_fields name, data.model, self.api(), options

      # Get
      #

      else
        ObservableArray self, name + 's', []
        #LazyObservableArray self, name + 's', lazy_get_fn, relation_params
      self[name + '_get'] = Helpers.get_fn.apply self, relation_params

      # Create
      #
      self[name + '_add'] = Helpers.create_fn.apply self, relation_params

      # Destroy
      #
      self[name + '_destroy'] = Helpers.destroy_fn.apply self, relation_params

module.exports = Relatable if module?
