diff --git a/lib/ucoin/__init__.py b/lib/ucoin/__init__.py
index 0e26924dee6493e1619bed7d4e7a87f44bf65ff1..c4f2b0fd658048d2d2cd3ffd0cb87a02826d38da 100644
--- a/lib/ucoin/__init__.py
+++ b/lib/ucoin/__init__.py
@@ -209,3 +209,4 @@ from . import pks
 from . import hdc
 from . import wrappers
 from . import network
+from . import registry
diff --git a/lib/ucoin/registry/__init__.py b/lib/ucoin/registry/__init__.py
index c3793a484c8e17ca6346c79e31664293d66c5187..1445f929afc55452260d1a982c3db0713398c742 100644
--- a/lib/ucoin/registry/__init__.py
+++ b/lib/ucoin/registry/__init__.py
@@ -36,3 +36,6 @@ class Amendment(Registry):
 
     def __get__(self, **kwargs):
         return self.requests_get('/amendment', **kwargs).json()
+
+from . import amendment
+from . import community
\ No newline at end of file
diff --git a/src/cutecoin/core/config.py b/src/cutecoin/core/config.py
index 4055be7554f0ebfb213fefccbf99c6d4c81d7827..e2b905173b06cb6440a067ae9112f58a9e1db65e 100644
--- a/src/cutecoin/core/config.py
+++ b/src/cutecoin/core/config.py
@@ -8,7 +8,7 @@ import logging
 from optparse import OptionParser
 import os.path
 import gnupg
-import ucoinpy as ucoin
+import ucoin
 
 
 home = os.path.expanduser("~")
diff --git a/src/cutecoin/models/account/__init__.py b/src/cutecoin/models/account/__init__.py
index 9228e18efc2b9b3fea9657222b3408970f9f96e0..ad99bf5b734f6e1fceba144a8f077a48ffdada13 100644
--- a/src/cutecoin/models/account/__init__.py
+++ b/src/cutecoin/models/account/__init__.py
@@ -4,14 +4,14 @@ Created on 1 févr. 2014
 @author: inso
 '''
 
-import ucoinpy as ucoin
+import ucoin
 import gnupg
 import logging
 import json
 from cutecoin.models.account.wallets import Wallets
 from cutecoin.models.account.communities import Communities
 from cutecoin.models.community import Community
-from cutecoin.models.transaction import factory
+from cutecoin.models.transaction import Transaction
 from cutecoin.models.person import Person
 from cutecoin.core.exceptions import CommunityNotFoundError
 
@@ -94,7 +94,7 @@ class Account(object):
                     self.fingerprint()))
             for trx_data in transactions_data:
                 received.append(
-                    factory.create_transaction(
+                    Transaction.create(
                         trx_data['value']['transaction']['sender'],
                         trx_data['value']['transaction']['number'],
                         community))
@@ -111,50 +111,12 @@ class Account(object):
                 # Small bug in ucoinpy library
                 if not isinstance(trx_data, str):
                     sent.append(
-                        factory.create_transaction(
+                        Transaction.create(
                             trx_data['value']['transaction']['sender'],
                             trx_data['value']['transaction']['number'],
                             community))
         return sent
 
-    def last_issuances(self, community):
-        issuances = []
-        if community in self.communities.communities_list:
-            issuances_data = community.network.request(
-                ucoin.hdc.transactions.sender.Issuance(
-                    self.fingerprint()))
-            for issuance in issuances_data:
-                logging.debug(issuance)
-                issuances.append(
-                    factory.create_transaction(
-                        issuance['value']['transaction']['sender'],
-                        issuance['value']['transaction']['number'],
-                        community))
-        return issuances
-
-    def issued_last_dividend(self, community):
-        current_amendment_number = community.amendment_number()
-        if community in self.communities.communities_list:
-            dividends_data = community.network.request(
-                ucoin.hdc.transactions.sender.issuance.Dividend(
-                    self.fingerprint(),
-                    current_amendment_number))
-            for dividend in dividends_data:
-                # Small bug in ucoinpy library
-                if not isinstance(dividend, str):
-                    return True
-        return False
-
-    def issue_dividend(self, community, coins):
-        if community in self.communities.communities_list:
-            logging.debug(coins)
-            issuance = ucoin.wrappers.transactions.Issue(
-                self.fingerprint(),
-                community.amendment_number(),
-                coins,
-                keyid=self.keyid)
-            return issuance()
-
     def transfer_coins(self, node, recipient, coins, message):
         transfer = ucoin.wrappers.transactions.RawTransfer(
             self.fingerprint(),
@@ -166,10 +128,12 @@ class Account(object):
             port=node.port)
         return transfer()
 
+    #TODO: Adapt to new WHT
     def tht(self, community):
         if community in self.communities.communities_list:
-            tht = community.ucoinRequest(ucoin.ucg.tht(self.fingerprint()))
-            return tht['entries']
+            #tht = community.ucoinRequest(ucoin.wallets.tht(self.fingerprint()))
+            #return tht['entries']
+            return None
         return None
 
     def push_tht(self, community):
@@ -201,10 +165,10 @@ class Account(object):
                 'signature': str(signature)
             }
 
-            community.network.post(
-                ucoin.ucg.THT(
-                    pgp_fingerprint=self.fingerprint()),
-                dataPost)
+            #community.network.post(
+            #    ucoin.ucg.THT(
+            #        pgp_fingerprint=self.fingerprint()),
+            #    dataPost)
         else:
             raise CommunityNotFoundError(self.keyid, community.amendment_id())
 
diff --git a/src/cutecoin/models/account/communities/__init__.py b/src/cutecoin/models/account/communities/__init__.py
index 62f205e9658bbff03aef61e7fdb32bec6e28e182..201265d88bc295c0a925b9f5db8b7382a8a88e04 100644
--- a/src/cutecoin/models/account/communities/__init__.py
+++ b/src/cutecoin/models/account/communities/__init__.py
@@ -5,7 +5,7 @@ Created on 5 févr. 2014
 '''
 from cutecoin.models.community import Community
 from cutecoin.core.exceptions import NotMemberOfCommunityError
-import ucoinpy as ucoin
+import ucoin
 import logging
 
 
diff --git a/src/cutecoin/models/community/__init__.py b/src/cutecoin/models/community/__init__.py
index ed9a30c362908c23c5c9478d65cd7cf7b22ec525..83a2d88b6b59413bc99accdbde53618ef41721ce 100644
--- a/src/cutecoin/models/community/__init__.py
+++ b/src/cutecoin/models/community/__init__.py
@@ -4,7 +4,7 @@ Created on 1 févr. 2014
 @author: inso
 '''
 
-import ucoinpy as ucoin
+import ucoin
 import hashlib
 import json
 import logging
@@ -26,7 +26,7 @@ class Community(object):
         An account is a member of a community if he is a member of the current amendment.
         '''
         self.network = network
-        current_amendment = self.network.request(ucoin.hdc.amendments.Current())
+        current_amendment = self.network.request(ucoin.hdc.amendments.Promoted())
         self.currency = current_amendment['currency']
 
     @classmethod
@@ -58,29 +58,29 @@ class Community(object):
         return self.currency
 
     def __eq__(self, other):
-        current_amendment = self.network.request(ucoin.hdc.amendments.Current())
+        current_amendment = self.network.request(ucoin.hdc.amendments.Promoted())
         current_amendment_hash = hashlib.sha1(
             current_amendment['raw'].encode('utf-8')).hexdigest().upper()
 
-        other_amendment = other.network.request(ucoin.hdc.amendments.Current())
+        other_amendment = other.network.request(ucoin.hdc.amendments.Promoted())
         other_amendment_hash = hashlib.sha1(
             other_amendment['raw'].encode('utf-8')).hexdigest().upper()
 
         return (other_amendment_hash == current_amendment_hash)
 
     def dividend(self):
-        current_amendment = self.network.request(ucoin.hdc.amendments.Current())
+        current_amendment = self.network.request(ucoin.hdc.amendments.Promoted())
         return int(current_amendment['dividend'])
 
     def coin_minimal_power(self):
-        current_amendment = self.network.request(ucoin.hdc.amendments.Current())
+        current_amendment = self.network.request(ucoin.hdc.amendments.Promoted())
         if 'coinMinimalPower' in current_amendment.keys():
             return int(current_amendment['coinMinimalPower'])
         else:
             return 0
 
     def amendment_id(self):
-        current_amendment = self.network.request(ucoin.hdc.amendments.Current())
+        current_amendment = self.network.request(ucoin.hdc.amendments.Promoted())
         current_amendment_hash = hashlib.sha1(
             current_amendment['raw'].encode('utf-8')).hexdigest().upper()
         amendment_id = str(
@@ -89,7 +89,7 @@ class Community(object):
         return amendment_id
 
     def amendment_number(self):
-        current_amendment = self.network.request(ucoin.hdc.amendments.Current())
+        current_amendment = self.network.request(ucoin.hdc.amendments.Promoted())
         return int(current_amendment['number'])
 
     def person_quality(self, fingerprint):
@@ -105,7 +105,7 @@ class Community(object):
         Listing members of a community
         '''
         fingerprints = self.network.request(
-            ucoin.hdc.amendments.view.Members(
+            ucoin.registry.community.Members(
                 amendment_id=self.amendment_id()))
         members = []
         for f in fingerprints:
@@ -117,7 +117,7 @@ class Community(object):
         Listing members of a community
         '''
         fingerprints = self.network.request(
-            ucoin.hdc.amendments.view.Voters(
+            ucoin.registry.community.Voters(
                 amendment_id=self.amendment_id()))
         voters = []
         for f in fingerprints:
diff --git a/src/cutecoin/models/community/network.py b/src/cutecoin/models/community/network.py
index e8425b969528a0e56df44706596faca92204a576..a2e87e22e669c016ad6f8b2c613370c599f3c859 100644
--- a/src/cutecoin/models/community/network.py
+++ b/src/cutecoin/models/community/network.py
@@ -4,7 +4,7 @@ Created on 27 mars 2014
 @author: inso
 '''
 from cutecoin.models.node import Node
-import ucoinpy as ucoin
+import ucoin
 import logging
 
 class CommunityNetwork(object):
@@ -60,6 +60,14 @@ class CommunityNetwork(object):
                     self.trusts()[0]))
         return nodes
 
+    def trusts(self):
+        return [node for node in self.nodes if node.trust]
+
+    def hosters(self):
+        return [node for node in self.nodes if node.hoster]
+
+#TODO: Manager in Wallets
+"""
     def pull_tht(self, fingerprint):
         tht = self.network.request(ucoin.ucg.THT(fingerprint))
         nodes = []
@@ -87,9 +95,4 @@ class CommunityNetwork(object):
                     self._search_node_by_fingerprint(
                         node_fg,
                         self.trusts()[0]))
-
-    def trusts(self):
-        return [node for node in self.nodes if node.trust]
-
-    def hosters(self):
-        return [node for node in self.nodes if node.hoster]
+"""
diff --git a/src/cutecoin/models/node/__init__.py b/src/cutecoin/models/node/__init__.py
index fdac61d8dd5390d16c0887717439614e3193da7b..2de0ebf3ace538f33347d2809ad4dfccc32b3ef9 100644
--- a/src/cutecoin/models/node/__init__.py
+++ b/src/cutecoin/models/node/__init__.py
@@ -4,7 +4,7 @@ Created on 1 févr. 2014
 @author: inso
 '''
 
-import ucoinpy as ucoin
+import ucoin
 
 
 class Node(object):
@@ -38,19 +38,19 @@ class Node(object):
         ucoin.settings['port'] = self.port
 
         peers = []
-        for peer in ucoin.ucg.peering.peers.DownStream().get()['peers']:
+        for peer in ucoin.network.peering.peers.DownStream().get()['peers']:
             node = Node(peer['ipv4'], peer['port'])
             peers.append(node)
 
         return peers
 
     def peering(self):
-        request = ucoin.ucg.peering.Peer()
+        request = ucoin.network.Peering()
         self.use(request)
         return request.get()
 
     def peers(self):
-        request = ucoin.ucg.peering.Peers()
+        request = ucoin.network.peering.Peers()
         self.use(request)
         return request.get()
 
diff --git a/src/cutecoin/models/person/__init__.py b/src/cutecoin/models/person/__init__.py
index 5d6ad21ed8e51356d517325e13378034320538a4..cd6ff8b658ec1cf473c0b9166929ce44fef57ae7 100644
--- a/src/cutecoin/models/person/__init__.py
+++ b/src/cutecoin/models/person/__init__.py
@@ -4,7 +4,7 @@ Created on 11 févr. 2014
 @author: inso
 '''
 
-import ucoinpy as ucoin
+import ucoin
 from cutecoin.core.exceptions import PersonNotFoundError
 
 
diff --git a/src/cutecoin/models/transaction/__init__.py b/src/cutecoin/models/transaction/__init__.py
index 43f173d0c1c59a45803b014ea916d9a6724f47a4..60b369f8d4cdb6e9b55576ca5885d0394750a1db 100644
--- a/src/cutecoin/models/transaction/__init__.py
+++ b/src/cutecoin/models/transaction/__init__.py
@@ -4,8 +4,9 @@ Created on 1 févr. 2014
 @author: inso
 '''
 
-import ucoinpy as ucoin
+import ucoin
 from cutecoin.models.coin import Coin
+from cutecoin.models.person import Person
 
 
 class Transaction(object):
@@ -15,56 +16,40 @@ class Transaction(object):
     At the moment the difference is not made
     '''
 
-    def __init__(self):
-        self.increment = 0
-        self.community = ""
-        self.sender = None
-        self.recipient = None
+    def __init__(self, sender, tx_number, community, recipient):
+        self.tx_number = tx_number
+        self.community = community
+        self.sender = sender
+        self.recipient = recipient
+
+    @classmethod
+    def create(cls, pgp_fingerprint, tx_number, community):
+        transaction_view = community.network.request(
+            ucoin.hdc.transactions.sender.View(pgp_fingerprint, tx_number))
+        transaction_data = transaction_view['transaction']
+
+        sender = Person.lookup(pgp_fingerprint, community)
+        recipient = Person.lookup(
+            transaction_data['recipient'],
+            community)
+
+        return cls(Transaction(sender, tx_number, community, recipient))
 
     def value(self):
         value = 0
         trx_data = self.community.network.request(
-            ucoin.hdc.transactions.View(self.sender.fingerprint + "-" + str(self.increment)))
+            ucoin.hdc.transactions.sender.View(self.sender.fingerprint,
+                                               self.tx_number))
         for coin in trx_data['transaction']['coins']:
             value += Coin.from_id(coin['id']).value()
         return value
 
     def currency(self):
         trx_data = self.community.network.request(
-            ucoin.hdc.transactions.View(self.sender.fingerprint + "-" + str(self.increment)))
+            ucoin.hdc.transactions.sender.View(self.sender.fingerprint,
+                                        self.tx_number))
         currency = trx_data['transaction']['currency']
         return currency
 
     def transaction_id(self):
         return self.sender_fingerprint + "-" + self.increment
-
-
-class Transfer(Transaction):
-
-    '''
-    A received transaction
-    '''
-
-    def __init__(self):
-        super(Transfer).__init__()
-
-    def get_text(self):
-        return str(self.value()) + " " + self.currency() + \
-            " from " + self.sender.name
-
-
-class Issuance(Transaction):
-
-    '''
-    An issuance
-    '''
-
-    def __init__(self):
-        super(Issuance).__init__()
-
-    def amendment_number(self):
-        self.community.network.request(
-            ucoin.hdc.transactions.View(self.sender.fingerprint + "-" + str(self.increment)))
-
-    def get_text(self):
-        return str(self.value()) + " " + self.currency()
diff --git a/src/cutecoin/models/transaction/factory.py b/src/cutecoin/models/transaction/factory.py
deleted file mode 100644
index f5f40ece19e8d7631d90328b70ec8e6edf88566b..0000000000000000000000000000000000000000
--- a/src/cutecoin/models/transaction/factory.py
+++ /dev/null
@@ -1,33 +0,0 @@
-'''
-Created on 12 févr. 2014
-
-@author: inso
-'''
-import ucoinpy as ucoin
-
-from cutecoin.models.person import Person
-from cutecoin.models.transaction import Transfer, Issuance
-
-# TODO: Passer par des factory + pythonic
-
-
-def create_transaction(sender_fingerprint, increment, community):
-    transaction_id = sender_fingerprint + "-" + str(increment)
-    transaction_view = community.network.request(
-        ucoin.hdc.transactions.View(transaction_id))
-    transaction_data = transaction_view['transaction']
-    transaction = None
-    if transaction_data['type'] == 'TRANSFER':
-        transaction = Transfer()
-    elif transaction_data['type'] == 'ISSUANCE':
-        transaction = Issuance()
-
-    if transaction is not None:
-        transaction.increment = increment
-        transaction.community = community
-        transaction.sender = Person.lookup(sender_fingerprint, community)
-        transaction.recipient = Person.lookup(
-            transaction_data['recipient'],
-            community)
-
-    return transaction
diff --git a/src/cutecoin/models/transaction/receivedListModel.py b/src/cutecoin/models/transaction/receivedListModel.py
index c46930d23dcb00896a9713954834efd7e7c5cd30..a40d3acdfe9f9715a99d6298b616ca5b87a66623 100644
--- a/src/cutecoin/models/transaction/receivedListModel.py
+++ b/src/cutecoin/models/transaction/receivedListModel.py
@@ -4,7 +4,7 @@ Created on 5 févr. 2014
 @author: inso
 '''
 
-import ucoinpy as ucoin
+import ucoin
 import logging
 from PyQt5.QtCore import QAbstractListModel, Qt
 
diff --git a/src/cutecoin/models/transaction/sentListModel.py b/src/cutecoin/models/transaction/sentListModel.py
index 27a1c00d45eac409280fc8ef3b964fcea74ab99e..dc767c2aab3f69e16980fe6e46997378e1d52ed2 100644
--- a/src/cutecoin/models/transaction/sentListModel.py
+++ b/src/cutecoin/models/transaction/sentListModel.py
@@ -4,7 +4,7 @@ Created on 5 févr. 2014
 @author: inso
 '''
 
-import ucoinpy as ucoin
+import ucoin
 import logging
 from PyQt5.QtCore import QAbstractListModel, Qt
 
diff --git a/src/cutecoin/models/wallet/__init__.py b/src/cutecoin/models/wallet/__init__.py
index 20da778f787bf0421a66efd41b5ecb19e667b629..8eeca0ea94418c19d4b0c494a9f7a216d17ea309 100644
--- a/src/cutecoin/models/wallet/__init__.py
+++ b/src/cutecoin/models/wallet/__init__.py
@@ -4,7 +4,7 @@ Created on 1 févr. 2014
 @author: inso
 '''
 
-import ucoinpy as ucoin
+import ucoin
 import gnupg
 from cutecoin.models.coin import Coin