all of this is returning asynchonously? what if your couchdb is not a localhost and it is far away...you need to return not here but in the addRoleToUserInfo()