     impersonating : false
 
 
-  return callback null, fakeClient
+  return callback null, fakeClient  unless clientId
+
+  bongo.models.JSession.fetchSession clientId, (err, response)->
+
+    return handleError err, callback  if err
+
+    {session} = response
+
+    return handleError new Error "Session is not set", callback  unless session
+
+    fetchGroupName { groupName, section }, (err, groupName)->
+      return handleError err, callback  if err
+
+      {username} = session
+
+      prepareFakeClient fakeClient, {groupName, session, username}
+
+      return callback null, fakeClient, session
 
 
 prepareFakeClient = (fakeClient, options) ->
-  {groupName, session, account} = options
+  {groupName, session, username} = options
+
+  {JAccount} = bongo.models
+  account = new JAccount
+  account.profile.nickname = username
+  account.type = 'unregistered'
+
   fakeClient.sessionToken = session.clientId
 
   # set username into context

generateFakeClientFromReq = (req, res, callback)->

  {clientId} = req.cookies
  {name: groupName, section} = req.params

  # TODO change this with Team product
  groupName = 'koding'

  if not clientId and req.pendingCookies?.clientId
    clientId = req.pendingCookies.clientId

  generateFakeClient {clientId, groupName, section}, (err, fakeClient, session) ->

    return callback err  if err

    {delegate} = fakeClient.connection

    updateCookie req, res, session

    return callback null, fakeClient


generateFakeClient = (options, callback) ->

  {clientId, groupName, section} = options

  fakeClient    =
    context       :
