diff --git a/lib/ucoinpy/documents/certification.py b/lib/ucoinpy/documents/certification.py
index 582e2625e03c2fd38c137df53aa6204134e2900d..79f6d11f04910153d1db8af8bbf7b9c46a6b2e9d 100644
--- a/lib/ucoinpy/documents/certification.py
+++ b/lib/ucoinpy/documents/certification.py
@@ -42,9 +42,6 @@ class SelfCertification(Document):
 META:TS:{1}
 """.format(self.uid, self.timestamp)
 
-    def signed_raw(self):
-        return super().signed_raw()[:-1]
-
     def inline(self):
         return "{0}:{1}:{2}:{3}".format(self.pubkey, self.signatures[0],
                                     self.timestamp, self.uid)
@@ -83,8 +80,7 @@ class Certification(Document):
                    blockhash, blocknumber, signature)
 
     def raw(self, selfcert):
-        return """{0}
-META:TS:{1}-{2}
+        return """{0}META:TS:{1}-{2}
 """.format(selfcert.signed_raw(), self.blocknumber, self.blockhash)
 
 
diff --git a/res/ui/community_tab.ui b/res/ui/community_tab.ui
index 9292edc20f3d952449c833b37626ea18dc0fd5f9..f037ee0e501d28099f16df3430f782148c117284 100644
--- a/res/ui/community_tab.ui
+++ b/res/ui/community_tab.ui
@@ -10,6 +10,9 @@
     <height>369</height>
    </rect>
   </property>
+  <property name="contextMenuPolicy">
+   <enum>Qt::DefaultContextMenu</enum>
+  </property>
   <property name="windowTitle">
    <string>communityTabWidget</string>
   </property>
@@ -27,7 +30,11 @@
        <item>
         <layout class="QVBoxLayout" name="verticalLayout_6">
          <item>
-          <widget class="QListView" name="list_community_members"/>
+          <widget class="QListView" name="list_community_members">
+           <property name="contextMenuPolicy">
+            <enum>Qt::CustomContextMenu</enum>
+           </property>
+          </widget>
          </item>
          <item>
           <layout class="QHBoxLayout" name="horizontalLayout_2">
@@ -95,9 +102,25 @@
     </hint>
    </hints>
   </connection>
+  <connection>
+   <sender>list_community_members</sender>
+   <signal>customContextMenuRequested(QPoint)</signal>
+   <receiver>CommunityTabWidget</receiver>
+   <slot>member_context_menu(QPoint)</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>210</x>
+     <y>179</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>210</x>
+     <y>184</y>
+    </hint>
+   </hints>
+  </connection>
  </connections>
  <slots>
-  <slot>open_issuance_dialog()</slot>
+  <slot>member_context_menu(QPoint)</slot>
   <slot>send_membership_demand()</slot>
   <slot>send_membership_leaving()</slot>
  </slots>
diff --git a/res/ui/transfer.ui b/res/ui/transfer.ui
index b7676c864aad17c36c79b2776d5e8916802d097f..649c80c0279ed7cdf189fd52fb70dc10c14f305e 100644
--- a/res/ui/transfer.ui
+++ b/res/ui/transfer.ui
@@ -56,7 +56,7 @@
       <item>
        <layout class="QHBoxLayout" name="horizontalLayout">
         <item>
-         <widget class="QRadioButton" name="radio_key_fingerprint">
+         <widget class="QRadioButton" name="radio_pubkey">
           <property name="text">
            <string>Recipient public key</string>
           </property>
@@ -66,7 +66,7 @@
          </widget>
         </item>
         <item>
-         <widget class="QLineEdit" name="edit_key_fingerprint">
+         <widget class="QLineEdit" name="edit_pubkey">
           <property name="enabled">
            <bool>false</bool>
           </property>
@@ -235,7 +235,7 @@
    </hints>
   </connection>
   <connection>
-   <sender>radio_key_fingerprint</sender>
+   <sender>radio_pubkey</sender>
    <signal>toggled(bool)</signal>
    <receiver>TransferMoneyDialog</receiver>
    <slot>recipient_mode_changed(bool)</slot>
diff --git a/src/cutecoin/gui/community_tab.py b/src/cutecoin/gui/community_tab.py
index d949881e7c8e5dddec25566d66a93b2a8e30f888..2ca575f64ee70845338069602d78e774f79f2eeb 100644
--- a/src/cutecoin/gui/community_tab.py
+++ b/src/cutecoin/gui/community_tab.py
@@ -5,11 +5,14 @@ Created on 2 févr. 2014
 '''
 
 import logging
-from PyQt5.QtWidgets import QWidget, QErrorMessage
-from cutecoin.models.members import MembersListModel
-from cutecoin.gen_resources.community_tab_uic import Ui_CommunityTabWidget
-from cutecoin.gui.add_contact import AddContactDialog
-from cutecoin.gui.wot_tab import WotTabWidget
+from PyQt5.QtCore import Qt, QSignalMapper
+from PyQt5.QtWidgets import QWidget, QErrorMessage, QAction, QMenu
+from ..models.members import MembersListModel
+from ..gen_resources.community_tab_uic import Ui_CommunityTabWidget
+from .add_contact import AddContactDialog
+from .wot_tab import WotTabWidget
+from .transfer import TransferMoneyDialog
+from .certification import CertificationDialog
 
 
 class CommunityTabWidget(QWidget, Ui_CommunityTabWidget):
@@ -27,7 +30,7 @@ class CommunityTabWidget(QWidget, Ui_CommunityTabWidget):
         self.community = community
         self.account = account
         self.list_community_members.setModel(MembersListModel(community))
-        self.list_community_members.doubleClicked.connect(self.add_member_as_contact)
+
         if self.account.member_of(self.community):
             self.button_membership.setText("Send leaving demand")
             self.button_membership.clicked.connect(self.send_membership_leaving)
@@ -37,16 +40,53 @@ class CommunityTabWidget(QWidget, Ui_CommunityTabWidget):
 
         self.tabs_information.addTab(WotTabWidget(account, community), "Wot")
 
-    def add_member_as_contact(self, index):
-        members_model = self.list_community_members.model()
-        members = members_model.members
-        logging.debug("Members : {0}".format(len(members)))
-        if index.row() < len(members):
-            dialog = AddContactDialog(self.account, self)
-            person = members[index.row()]
-            dialog.edit_name.setText(person.name)
-            dialog.edit_pubkey.setText(person.pubkey)
-            dialog.exec_()
+    def member_context_menu(self, point):
+        index = self.list_community_members.indexAt(point)
+        model = self.list_community_members.model()
+        if index.row() < model.rowCount(None):
+            member = model.members[index.row()]
+            logging.debug(member)
+            menu = QMenu(model.data(index, Qt.DisplayRole), self)
+
+            add_contact = QAction("Add as contact", self)
+            add_contact.triggered.connect(self.add_member_as_contact)
+            add_contact.setData(member)
+
+            send_money = QAction("Send money", self)
+            send_money.triggered.connect(self.send_money_to_member)
+            send_money.setData(member)
+
+            certify = QAction("Certify individual", self)
+            certify.triggered.connect(self.certify_member)
+            certify.setData(member)
+
+            menu.addAction(add_contact)
+            menu.addAction(send_money)
+            menu.addAction(certify)
+            # Show the context menu.
+            menu.exec_(self.list_community_members.mapToGlobal(point))
+
+    def add_member_as_contact(self):
+        dialog = AddContactDialog(self.account, self.window())
+        person = self.sender().data()
+        dialog.edit_name.setText(person.name)
+        dialog.edit_pubkey.setText(person.pubkey)
+        dialog.exec_()
+
+    def send_money_to_member(self):
+        dialog = TransferMoneyDialog(self.account)
+        person = self.sender().data()
+        dialog.edit_pubkey.setText(person.pubkey)
+        dialog.combo_community.setCurrentText(self.community.name())
+        dialog.radio_pubkey.setChecked(True)
+        dialog.exec_()
+
+    def certify_member(self,):
+        dialog = CertificationDialog(self.account)
+        person = self.sender().data()
+        dialog.edit_pubkey.setText(person.pubkey)
+        dialog.radio_pubkey.setChecked(True)
+        dialog.exec_()
 
     def send_membership_demand(self):
         result = self.account.send_membership_in(self.community)
diff --git a/src/cutecoin/gui/transfer.py b/src/cutecoin/gui/transfer.py
index 2250edca8e835c262ede587a681f14be5cbfc333..bca2bd35453864e9a75cdd1091c9aa1a88c361ad 100644
--- a/src/cutecoin/gui/transfer.py
+++ b/src/cutecoin/gui/transfer.py
@@ -5,9 +5,10 @@ Created on 2 févr. 2014
 '''
 from PyQt5.QtWidgets import QDialog, QErrorMessage, QInputDialog, QLineEdit, QMessageBox
 
-from cutecoin.core.person import Person
+from ..core.person import Person
+from ..gen_resources.transfer_uic import Ui_TransferMoneyDialog
 
-from cutecoin.gen_resources.transfer_uic import Ui_TransferMoneyDialog
+import logging
 
 
 class TransferMoneyDialog(QDialog, Ui_TransferMoneyDialog):
@@ -47,7 +48,7 @@ class TransferMoneyDialog(QDialog, Ui_TransferMoneyDialog):
             index = self.combo_contact.currentIndex()
             recipient = self.sender.contacts[index].pubkey
         else:
-            recipient = self.edit_key_fingerprint.text()
+            recipient = self.edit_pubkey.text()
         amount = self.spinbox_amount.value()
         password = QInputDialog.getText(self, "Wallet password",
                                         "Please enter your password",
@@ -109,6 +110,6 @@ class TransferMoneyDialog(QDialog, Ui_TransferMoneyDialog):
         self.spinbox_amount.setValue(0)
         self.spinbox_amount.setMaximum(self.wallet.value(self.community))
 
-    def recipient_mode_changed(self, fingerprint_toggled):
-        self.edit_key_fingerprint.setEnabled(fingerprint_toggled)
-        self.combo_contact.setEnabled(not fingerprint_toggled)
+    def recipient_mode_changed(self, pubkey_toggled):
+        self.edit_pubkey.setEnabled(pubkey_toggled)
+        self.combo_contact.setEnabled(not pubkey_toggled)