   users     = {}
   guests    = {}
 
-  @unregister = secure (client, confirmUsername, callback) ->
+  @unregister = secure (client, toBeDeletedUsername, callback) ->
     {delegate} = client.connection
+
+    # deleter should be registered one
     if delegate.type is 'unregistered'
       return callback createKodingError "You are not registered!"
-    unless confirmUsername is delegate.profile.nickname or
+
+    # only owner and the dummy admins can delete a user
+    unless toBeDeletedUsername is delegate.profile.nickname or
            delegate.can 'administer accounts'
       return callback createKodingError "You must confirm this action!"
 
     @createGuestUsername (err, username) =>
       return callback err  if err?
       email = "#{username}@koding.com"
-      @fetchUser client, (err, user) =>
+      @one { username: toBeDeletedUsername }, (err, user) =>
         return callback err  if err?
-        return callback createKodingError "User not found #{username}"  unless user
+        return callback createKodingError "User not found #{toBeDeletedUsername}"  unless user
 
         userValues = {
           username

          foreignAuth     : {}
        }
        modifier = { $set: userValues, $unset: { oldUsername: 1 }}
        user.update modifier, (err, docs) =>
          return callback err  if err?
          accountValues = {
            'profile.nickname'    : username
            'profile.firstName'   : 'a former'

      delete client.connection.delegate
      delete client.sessionToken

    # if sessionToken doesnt exist, safe to return
    return callback null unless sessionToken

    JSession.remove { clientId: sessionToken }, callback

  @verifyEnrollmentEligibility = ({email, inviteCode}, callback)->
