 
     beforeSave: (cb) -> cb()
 
-    save: (cb) ->
+    save: (saveOpts = {}, cb) ->
       beforeSave = Promise.promisify @beforeSave, @
+
+      if _.isFunction saveOpts
+        cb = saveOpts
+        saveOpts = {}
 
       promise = beforeSave().then =>
         # TODO: defaults, required

          else
            @saveRelated().then =>
              if @getId()?
                db.run(c.r().get(@getId()).update(newObj)).then => @
              else
                reject new ModelError "undefined id"



          if @isNewRecord
            newObj.id = @getId() if @getId()?
            db.run(c.r().insert(newObj, saveOpts)).then (reply) =>
              unless @id?
                @id = reply?.generated_keys?[0]

