         @update $set: { label }, (err)-> kallback err, slug
 
 
-  removeUser = (users, user)->
-
-    userId   = user.getId()
-    newUsers = []
-
-    for u in users
-      newUsers.push u  unless userId.equals u.id
-
-    return newUsers
-
-
-  addUser = (users, user, owner)->
-
-    newUsers = removeUser users, user
-    newUsers.push { id: user.getId(), owner }
-
-    return newUsers
-
-
-  addUsers: (usersToAdd, owner, callback)->
-
-    users = @users.splice 0
-
-    for user in usersToAdd
-      users = addUser users, user, owner
-
-    @update $set: { users }, callback
-
-
-  removeUsers: (usersToRemove, callback)->
-
-    users = @users.splice 0
-
-    for user in usersToRemove
-      users = removeUser users, user
-
-    @update $set: { users }, callback
-
-
-  shareWith: (options, callback)->
-
-    { target, user, owner } = options
-    user  ?= yes
-    owner ?= no
-
-    unless target?
-      return callback new KodingError "Target required."
-
-    JUser = require '../user'
-    JName = require '../name'
-
-    JName.fetchModels target, (err, result)=>
-
-      if err or not result?
-        return callback new KodingError "Target not found."
-
-      targets = (target.models[0]  for target in result)
-
-      [ target ] = targets
-
-      if target instanceof JUser
-
-        if user
-        then @addUsers targets, owner, callback
-        else @removeUsers targets, callback
-
-      else
-        callback new KodingError "Target does not support machines."
-
-
   # .share can be used like this:
   #
   # JMachineInstance.shareWith { user: yes, owner: no, target: "gokmen"}, cb

        callback err, machine


  @some$: permit 'list machines',

    success: revive


      daisy queue


  setLabel: permit 'set label',

    success: revive

