     return name
 
 
-  registerModel: (path) ->
-
-    cons = require path
-
+  registerModels: (path) ->
+
+    models = []
+    cons   = require path
+
+    # means that we've only one possible model candidate
+    # in provided path, return model definition.
     if cons.name? and ('function' is typeof cons)
-      @defineModel cons.name, cons
-
+      model = @defineModel cons.name, cons
+      models.push model  if model
     else
-      models = []
+      # there might be multiple models
       for own name, konstructor of cons
-        models.push @defineModel name, konstructor
-
-      models
+        model = @defineModel name, konstructor
+        models.push model  if model
+
+    return models
 
 
   findCode = (paths) ->

      debug "Loading #{Object.keys(cache).length} models..."

      Object.keys(cache).map (name) =>
        @registerModel path.join @modelPaths[index], cache[name]
        debug 'Loading model:', name

    .catch (err) =>


  defineModel: (name, model) ->

    unless model.addBongo? this
      return null

    if @models[name]
      console.warn "Model #{name} defined multiple times!"
