diff --git a/src/sakia/data/connectors/node.py b/src/sakia/data/connectors/node.py
index c352dc990b43c41208833642564bc285cc33044c..303240b4ee1710900435fb322781a32e954d1ec0 100644
--- a/src/sakia/data/connectors/node.py
+++ b/src/sakia/data/connectors/node.py
@@ -329,7 +329,7 @@ class NodeConnector(QObject):
                 except (WSServerHandshakeError,
                         ClientResponseError, ValueError) as e:
                     self._logger.debug("Websocket peer {0} : {1} - {2}"
-                                  .format(type(e).__name__, str(e), self.node.pubkey[:5]))
+                                       .format(type(e).__name__, str(e), self.node.pubkey[:5]))
                     await self.request_peers()
                 except (ClientError, gaierror, TimeoutError, DisconnectedError) as e:
                     self._logger.debug("{0} : {1}".format(str(e), self.node.pubkey[:5]))
diff --git a/src/sakia/data/entities/identity.py b/src/sakia/data/entities/identity.py
index a3ef5a2f2e8dc98f19701263b30ccbf3b30ca787..76dd814285924621cb14804ab0187850b082b011 100644
--- a/src/sakia/data/entities/identity.py
+++ b/src/sakia/data/entities/identity.py
@@ -19,7 +19,7 @@ class Identity:
     membership_type = attr.ib(convert=str, default='', validator=lambda s, a, t: t in ('', 'IN', 'OUT'), cmp=False, hash=False)
     membership_written_on = attr.ib(convert=block_uid, default=BlockUID.empty(), cmp=False, hash=False)
 
-    def self_certification(self):
+    def document(self):
         """
         Creates a self cert document for a given identity
         :param sakia.data.entities.Identity identity:
@@ -27,4 +27,4 @@ class Identity:
         :rtype: duniterpy.documents.Identity
         """
         return Identity(PROTOCOL_VERSION, self.currency, self.pubkey,
-                                 self.uid, self.blockstamp, self.signature)
+                        self.uid, self.blockstamp, self.signature)
diff --git a/src/sakia/data/processors/identities.py b/src/sakia/data/processors/identities.py
index 654d8191d02bc7e09a2d2b752b2757bc2b206c12..c9898260b758f5faf9d5692d01bc51c20ec9da78 100644
--- a/src/sakia/data/processors/identities.py
+++ b/src/sakia/data/processors/identities.py
@@ -7,7 +7,7 @@ from ..connectors import BmaConnector
 from ..processors import NodesProcessor
 from duniterpy.api import bma, errors
 from duniterpy.key import SigningKey
-from duniterpy.documents import Identity, BlockUID, block_uid
+from duniterpy.documents import BlockUID, block_uid
 from aiohttp.errors import ClientError
 from sakia.errors import NoPeerAvailable
 
@@ -71,18 +71,22 @@ class IdentitiesProcessor:
         tries = 0
         while tries < 3:
             try:
-                data = await self._bma_connector.get(currency, bma.wot.Lookup, req_args={'search': text})
+                data = await self._bma_connector.get(currency, bma.wot.lookup, req_args={'search': text})
                 for result in data['results']:
                     pubkey = result['pubkey']
                     for uid_data in result['uids']:
                         if not uid_data['revoked']:
-                            identity = Identity(currency, pubkey, uid_data['uid'],
-                                                uid_data['meta']['timestamp'], uid_data['self'])
+                            identity = Identity(currency=currency,
+                                                pubkey=pubkey,
+                                                uid=uid_data['uid'],
+                                                blockstamp=uid_data['meta']['timestamp'],
+                                                signature=uid_data['self'])
                             if identity not in identities:
                                 identities.append(identity)
                 break
             except (errors.DuniterError, asyncio.TimeoutError, ClientError) as e:
                 tries += 1
+                self._logger.debug(str(e))
             except NoPeerAvailable as e:
                 self._logger.debug(str(e))
         return identities
diff --git a/src/sakia/gui/dialogs/certification/controller.py b/src/sakia/gui/dialogs/certification/controller.py
index 35a11565eb7a321e027c689d36b110014f0203d3..7a19764b57df91e3201ea242e3fd4b98a3dbc9cc 100644
--- a/src/sakia/gui/dialogs/certification/controller.py
+++ b/src/sakia/gui/dialogs/certification/controller.py
@@ -37,13 +37,10 @@ class CertificationController(ComponentController):
         """
         Instanciate a Certification component
         :param sakia.gui.component.controller.ComponentController parent:
+        :param sakia.app.Application app: sakia application
         :return: a new Certification controller
         :rtype: CertificationController
         """
-        account = kwargs['account']
-        community = kwargs['community']
-        communities_names = [c.name for c in account.communities]
-        contacts_names = [c['name'] for c in account.contacts]
 
         view = CertificationView(parent.view, None, None, communities_names, contacts_names)
         model = CertificationModel(None, app, account, community)
diff --git a/src/sakia/gui/dialogs/certification/view.py b/src/sakia/gui/dialogs/certification/view.py
index 992f9331d1a17edb046fec99866e3423068bff94..f3802e6e75eb41226cb38f993539e9cc8fda75ec 100644
--- a/src/sakia/gui/dialogs/certification/view.py
+++ b/src/sakia/gui/dialogs/certification/view.py
@@ -34,7 +34,7 @@ class CertificationView(QDialog, Ui_CertificationDialog):
 
     pubkey_changed = pyqtSignal()
 
-    def __init__(self, parent, search_user_view, user_information_view, communities_names, contacts_names):
+    def __init__(self, parent, search_user_view, user_information_view):
         """
 
         :param parent:
diff --git a/src/sakia/gui/navigation/graphs/wot/controller.py b/src/sakia/gui/navigation/graphs/wot/controller.py
index 9df22776ab9118385379548ee860c25f4c4ef3ad..df885f92e00bf6e946ca41ab4f0bb5e375958c97 100644
--- a/src/sakia/gui/navigation/graphs/wot/controller.py
+++ b/src/sakia/gui/navigation/graphs/wot/controller.py
@@ -33,10 +33,9 @@ class WotController(BaseGraphController):
         model = WotModel(None, app, connection, blockchain_service, identities_service)
         wot = cls(parent, view, model)
         model.setParent(wot)
-        #search_user = SearchUserController.create(wot, app, **{'account': account,
-        #                                                            'community': community})
-        #wot.view.set_search_user(search_user.view)
-        #search_user.identity_selected.connect(wot.center_on_identity)
+        search_user = SearchUserController.create(wot, app, **{'connection': connection})
+        wot.view.set_search_user(search_user.view)
+        search_user.identity_selected.connect(wot.center_on_identity)
         return wot
 
     @property
diff --git a/src/sakia/gui/sub/search_user/controller.py b/src/sakia/gui/sub/search_user/controller.py
index c4cfc498e352f793d5acaf24fa66358e614e10ff..d459bef1c38203d2118880a80f14fe902cd85b6c 100644
--- a/src/sakia/gui/sub/search_user/controller.py
+++ b/src/sakia/gui/sub/search_user/controller.py
@@ -27,11 +27,10 @@ class SearchUserController(ComponentController):
 
     @classmethod
     def create(cls, parent, app, **kwargs):
-        account = kwargs['account']
-        community = kwargs['community']
+        connection = kwargs['connection']
 
         view = SearchUserView(parent.view)
-        model = SearchUserModel(parent, app, account, community)
+        model = SearchUserModel(parent, app, connection)
         search_user = cls(parent, view, model)
         model.setParent(search_user)
         return search_user
@@ -70,10 +69,10 @@ class SearchUserController(ComponentController):
         self.model.select_identity(index)
         self.identity_selected.emit(self.model.identity())
 
-    def set_community(self, community):
+    def set_connection(self, connection):
         """
         Set community
-        :param sakia.core.Community community:
+        :param sakia.data.entities.Connection connection
         :return:
         """
-        self.model.community = community
+        self.model.connection = connection
diff --git a/src/sakia/gui/sub/search_user/model.py b/src/sakia/gui/sub/search_user/model.py
index 7ccb9a4fc03d47c2f391764ca513da6a5d584df8..029ff8d313c7755d7189a76c7f51a37ff63b47d6 100644
--- a/src/sakia/gui/sub/search_user/model.py
+++ b/src/sakia/gui/sub/search_user/model.py
@@ -1,6 +1,7 @@
 from sakia.gui.component.model import ComponentModel
 from duniterpy.api import errors, bma
 from sakia.errors import NoPeerAvailable
+from sakia.data.processors import IdentitiesProcessor
 
 import logging
 
@@ -10,18 +11,17 @@ class SearchUserModel(ComponentModel):
     The model of Navigation component
     """
 
-    def __init__(self, parent, app, currency, identities_processor):
+    def __init__(self, parent, app, connection):
         """
 
         :param sakia.gui.search_user.controller.NetworkController parent: the controller
-        :param sakia.core.Application app: the app
-        :param str currency: the currency
-        :param sakia.data.processors.IdentitiesProcessor identities_processor: the identities processor
+        :param sakia.app.Application app: the app
+        :param sakia.data.entities.Connection connection: the connection
         """
         super().__init__(parent)
         self.app = app
-        self.currency = currency
-        self.identities_processor = identities_processor
+        self.identities_processor = IdentitiesProcessor.instanciate(app)
+        self.connection = connection
         self._nodes = list()
         self._current_identity = None
 
@@ -46,7 +46,7 @@ class SearchUserModel(ComponentModel):
         :return:
         """
         try:
-            self._nodes = await self.identities_processor.lookup(self.currency, text)
+            self._nodes = await self.identities_processor.lookup(self.connection.currency, text)
         except errors.DuniterError as e:
             if e.ucode == errors.NO_MATCHING_IDENTITY:
                 self._nodes = list()
diff --git a/src/sakia/services/documents.py b/src/sakia/services/documents.py
index 1cdbdad865e710af4619fa64dbd405944b6e4c61..a97a97268cf47205452a73c439825304dc37af07 100644
--- a/src/sakia/services/documents.py
+++ b/src/sakia/services/documents.py
@@ -110,8 +110,8 @@ class DocumentsService:
                                       self.pubkey, identity.pubkey, blockUID, None)
 
         key = SigningKey(salt, password)
-        certification.sign(identity.self_certification(), [key])
-        signed_cert = certification.signed_raw(identity.self_certification())
+        certification.sign(identity.document(), [key])
+        signed_cert = certification.signed_raw(identity.document())
         self._logger.debug("Certification : {0}".format(signed_cert))
 
         responses = await self._bma_connector.bma_access.broadcast(currency, bma.wot.Certify, {},
@@ -138,7 +138,7 @@ class DocumentsService:
         :param str password: The account SigningKey password
         """
         revocation = Revocation(PROTOCOL_VERSION, currency, None)
-        self_cert = identity.self_certification()
+        self_cert = identity.document()
 
         key = SigningKey(salt, password)
         revocation.sign(self_cert, [key])
@@ -173,7 +173,7 @@ class DocumentsService:
         :param str password: The account SigningKey password
         """
         document = Revocation(PROTOCOL_VERSION, currency, identity.pubkey, "")
-        self_cert = identity.self_certification()
+        self_cert = identity.document()
 
         key = SigningKey(salt, password)