diff --git a/doc/uml/access.png b/doc/uml/access.png
deleted file mode 100644
index 1859d6685bf75c4776440d28070f3625ce173005..0000000000000000000000000000000000000000
Binary files a/doc/uml/access.png and /dev/null differ
diff --git a/doc/uml/access.pu b/doc/uml/access.pu
deleted file mode 100644
index 80494b1e40eb418215b09fa062f2db24955f7fed..0000000000000000000000000000000000000000
--- a/doc/uml/access.pu
+++ /dev/null
@@ -1,15 +0,0 @@
-@startuml
-
-
-class IdentitiesAccess  << (A,lightgreen) >> {
-}
-class CertificationAccess  << (A,lightgreen) >> {
-}
-class TransactionAccess  << (A,lightgreen) >> {
-}
-class CommunityAccess  << (A,lightgreen) >> {
-}
-class BlockchainAccess  << (A,lightgreen) >> {
-}
-
-@enduml
\ No newline at end of file
diff --git a/doc/uml/api.png b/doc/uml/api.png
deleted file mode 100644
index 3a81019dba4da9fba38e2b7e1fab6f4097e17177..0000000000000000000000000000000000000000
Binary files a/doc/uml/api.png and /dev/null differ
diff --git a/doc/uml/api.pu b/doc/uml/api.pu
deleted file mode 100644
index f4a6ca46ace9b1302ecc225a51a719b5e9698648..0000000000000000000000000000000000000000
--- a/doc/uml/api.pu
+++ /dev/null
@@ -1,21 +0,0 @@
-@startuml
-
-package api {
-	package api.bma {
-		class BMADataAccess {
-			{static} _cache
-			{static} _request(req : Request, network)
-			{static} _post(req : Request, network)
-			{static} _broadcast(req : Request, network)
-		}
-		BMADataAccess ..> api.bma.API
-	}
-	package api.es {
-			class ESDataAccess {
-			}
-			ESDataAccess ..> api.es.API
-	}
-
-}
-
-@enduml
\ No newline at end of file
diff --git a/doc/uml/backend.png b/doc/uml/backend.png
index 71557b3b125c70a451caad69d1eedb56519c5f54..595e2042221d14384f1bff9407991599128adc93 100644
Binary files a/doc/uml/backend.png and b/doc/uml/backend.png differ
diff --git a/doc/uml/backend.pu b/doc/uml/backend.pu
index 8516bd225fc6ebdc59d6f0fb4f563059f73ecbe1..d1aeeb8205b8a3036377b3ad19025a696a9fbd27 100644
--- a/doc/uml/backend.pu
+++ b/doc/uml/backend.pu
@@ -1,7 +1,7 @@
 @startuml
 
 !include data.pu
-!include access.pu
+!include processors.pu
 !include services.pu
 
 ProfileService "1" --> "1" UserParameters
@@ -12,39 +12,39 @@ AccountService "*" --> "1" KeyRepo
 
 
 TransactionsService "1" --> "*" Transaction
-TransactionsService "*" --> "1" TransactionAccess
-TransactionAccess "1" --> "1" TransactionRepo
+TransactionsService "*" --> "1" TransactionProcessor
+TransactionProcessor "1" --> "1" TransactionRepo
 
 RegistryService "1" --> "*" Identity
 RegistryService "1" --> "*" Certification
-RegistryService "*" --> "1" IdentitiesAccess
-IdentitiesAccess "1" --> "1" IdentitiesRepo
-RegistryService "*" --> "1" CertificationAccess
-CertificationAccess "1" --> "1" CertificationRepo
+RegistryService "*" --> "1" IdentitiesProcessor
+IdentitiesProcessor "1" --> "1" IdentitiesRepo
+RegistryService "*" --> "1" CertificationProcessor
+CertificationProcessor "1" --> "1" CertificationRepo
 
 NetworkService "1" --> "*" Node
 NetworkService "*" --> "1" NodeRepo
 
 BlockchainService "1" --> "1" Blockchain
 BlockchainService "1" --> "1" Community
-BlockchainService "*" --> "1" BlockchainAccess
-BlockchainAccess "1" --> "1" BlockchainRepo
-BlockchainService "*" --> "1" CommunityAccess
-CommunityAccess "1" --> "1" CommunityRepo
+BlockchainService "*" --> "1" BlockchainProcessor
+BlockchainProcessor "1" --> "1" BlockchainRepo
+BlockchainService "*" --> "1" CommunityProcessor
+CommunityProcessor "1" --> "1" CommunityRepo
 
-package API {
-    class BMAAccess << (S,cyan) >>  {
+package Connectors {
+    class BMAConnector << (S,cyan) >>  {
         get()
         post()
         broadcast()
     }
 }
 
-AccountService --> BMAAccess
-BlockchainAccess --> BMAAccess
-CommunityAccess --> BMAAccess
-TransactionAccess --> BMAAccess
-IdentitiesAccess --> BMAAccess
-CertificationAccess --> BMAAccess
+AccountService --> BMAProcessor
+BlockchainProcessor --> BMAProcessor
+CommunityProcessor --> BMAProcessor
+TransactionProcessor --> BMAProcessor
+IdentitiesProcessor --> BMAProcessor
+CertificationProcessor --> BMAProcessor
 
 @enduml
\ No newline at end of file
diff --git a/doc/uml/core-classes.png b/doc/uml/core-classes.png
deleted file mode 100644
index c240a11d209c9ba14f4a09b21f32764a2d0b4f81..0000000000000000000000000000000000000000
Binary files a/doc/uml/core-classes.png and /dev/null differ
diff --git a/doc/uml/core-classes.pu b/doc/uml/core-classes.pu
deleted file mode 100644
index c1463421238e08d35f9872ef6c926a4aa55c5003..0000000000000000000000000000000000000000
--- a/doc/uml/core-classes.pu
+++ /dev/null
@@ -1,108 +0,0 @@
-@startuml
-
-hide fields
-hide methods
-
-package core {
-	class App {
-	-- Signals --
-	current_account_changed(str : account_name)
-	data_changed()
-	-- Slots --
-	-- Properties --
-	current_account
-	accounts
-	-- Methods --
-	}
-	App --* Account : accounts
-
-	class Account {
-	-- Signals --
-	wallets_changed(int : nb_wallets)
-	community_added(int : index)
-	community_removed(int : index)
-	data_changed()
-	-- Slots --
-	-- Properties --
-	communities
-	wallets
-	-- Methods --
-	}
-	Account "1" --* "*" Wallet
-	Account "1" --* "*" Community
-
-	class Wallet {
-		-- Signals --
-	money_received(Transfer)
-	money_sent(Transfer)
-	name_changed(str : new_name
-	data_changed()
-	-- Slots --
-	-- Properties --
-	transfers
-	-- Methods --
-	}
-	Wallet "1" --* "*" Transfer
-
-	class Transfer {
-	-- Signals --
-	state_changed(int : new_state)
-	-- Slots --
-	-- Properties --
-	-- Methods --
-	}
-
-	class Community {
-	-- Signals --
-	members_changed()
-	data_changed()
-	-- Slots --
-	-- Properties --
-	network
-	-- Methods --
-
-	}
-	App --> Identity
-	class Identity {
-		{static} _identities
-		{static} load(data : dict)
-		{static} lookup(search : str)
-	}
-
-}
-
-
-package net {
-	class Network {
-	-- Signals --
-	node_found(int : index)
-	node_removed(int : index)
-	block_found(int : block_number)
-	-- Slots --
-	-- Properties --
-	nodes
-	root_nodes
-	-- Methods --
-	}
-	Community "1" --* "1" Network
-	Network "1" --* "*" Node
-
-	class Node {
-	-- Signals --
-	changed()
-	-- Slots --
-	-- Properties --
-	endpoints
-	pubkey
-	uid
-	block
-	state
-	-- Methods --
-	}
-	
-	Network "1" --* "1" BmaAccess
-	
-	class BmaAccess {
-	}
-}
-@enduml
diff --git a/doc/uml/cutecoin.png b/doc/uml/cutecoin.png
deleted file mode 100644
index a696823d4d233136f33aea233b724520d3dd3c3a..0000000000000000000000000000000000000000
Binary files a/doc/uml/cutecoin.png and /dev/null differ
diff --git a/doc/uml/cutecoin.pu b/doc/uml/cutecoin.pu
deleted file mode 100644
index d79f67dfb4614935631fd76663cdd922aac6b841..0000000000000000000000000000000000000000
--- a/doc/uml/cutecoin.pu
+++ /dev/null
@@ -1,36 +0,0 @@
-@startuml
-
-!include core-classes.pu
-!include gui-classes.pu
-!include models-classes.pu
-!include api.pu
-
-MainWindow "1" --> "1" App
-
-CertificationDialog --> Community
-TransferDialog --> Community
-
-CurrencyTab "1" --> "1" Community
-
-CommunityTab -right-> IdentitiesFilterProxyModel
-NetworkTab -right-> NetworkFilterProxyModel
-WalletTab -right-> WalletsFilterProxyModel
-
-WalletsFilterProxyModel -up-> Wallet
-NetworkFilterProxyModel -up-> Network
-TxHistoryFilterProxyModel -up-> Transfer
-
-ConfigureAccountDialog --> CommunitiesListModel
-ConfigureCommunityDialog --> RootNodesTableModel
-
-ConfigureAccountDialog --> Account
-ConfigureCommunityDialog --> Community
-
-Account ..> BMADataAccess
-Community ..> BMADataAccess
-Wallet ..> BMADataAccess
-Transfer ..> BMADataAccess
-Identity ..> BMADataAccess
-BMADataAccess .left.> Network
-
-@enduml
\ No newline at end of file
diff --git a/doc/uml/data.png b/doc/uml/data.png
index 3e214b1bb1089336a13596248d9bf9c9b7f6663d..1d85979d54d1c523f0e91d0ed3e5537dd8449494 100644
Binary files a/doc/uml/data.png and b/doc/uml/data.png differ
diff --git a/doc/uml/data.pu b/doc/uml/data.pu
index 264e0661b79f9ce7cec71dd72ccb34699420c132..692bc4d3314cb8e8c72a15e12e36dd70634461f8 100644
--- a/doc/uml/data.pu
+++ b/doc/uml/data.pu
@@ -1,7 +1,6 @@
 @startuml
 
 
-
 class Identity << (D,orchid) >> {
     currency: str (FK)
     uid: str
@@ -9,6 +8,8 @@ class Identity << (D,orchid) >> {
     blockstamp: BlockUID
     timestamp: int
     signature: str
+    written: bool
+    revoked: bool
     member: bool
     membership_buid: BlockUID
     membership_timestamp: int
diff --git a/doc/uml/gui-classes.png b/doc/uml/gui-classes.png
deleted file mode 100644
index 50e4bf2e1e27896ff3c5f36c72dca940f781589c..0000000000000000000000000000000000000000
Binary files a/doc/uml/gui-classes.png and /dev/null differ
diff --git a/doc/uml/gui-classes.pu b/doc/uml/gui-classes.pu
deleted file mode 100644
index 1b00e1a188119584fcbc71d86e0ccf60b92d3ee7..0000000000000000000000000000000000000000
--- a/doc/uml/gui-classes.pu
+++ /dev/null
@@ -1,50 +0,0 @@
-@startuml
-
-
-package gui {
-		class MainWindow {
-		}
-		MainWindow "1" --* "1" CommunityView
-
-		class CommunityView {
-		}
-		CommunityView "1" --* "1" WalletTab
-		CommunityView "1" -down-* "1" InformationsTab
-		CommunityView "1" --* "1" TransactionsTab
-		CommunityView "1" --* "1" IdentitiesTab
-		CommunityView "1" --* "1" WotTab
-		CommunityView "1" -down-* "1" NetworkTab
-
-
-		class WalletTab {
-		}
-
-		class InformationsTab {
-		}
-
-		class TransactionsTab {
-		}
-
-		class NetworkTab {
-		}
-
-		class IdentitiesTab {
-		}
-
-		class WotTab {
-		}
-		package dialogs {
-		class CertificationDialog
-		class TransferDialog
-		class ContactDialog
-		class ConfigureAccountDialog
-		class ConfigureCommunityDialog
-		}
-
-	MainWindow --> CertificationDialog
-	MainWindow --> TransferDialog
-	MainWindow --> ContactDialog
-	MainWindow --> ConfigureAccountDialog
-	ConfigureAccountDialog --> ConfigureCommunityDialog
-}
-@enduml
diff --git a/doc/uml/models-classes.png b/doc/uml/models-classes.png
deleted file mode 100644
index 3ef003769f0760c9afc07286a52a2b5335171bbf..0000000000000000000000000000000000000000
Binary files a/doc/uml/models-classes.png and /dev/null differ
diff --git a/doc/uml/models-classes.pu b/doc/uml/models-classes.pu
deleted file mode 100644
index 1650739d5d4c65bfa48ba299c543b4d019cde42b..0000000000000000000000000000000000000000
--- a/doc/uml/models-classes.pu
+++ /dev/null
@@ -1,39 +0,0 @@
-@startuml
-
-package models {
-	class WalletsFilterProxyModel {
-	}
-
-	WalletsFilterProxyModel --> WalletsTableModel : source
-
-	class WalletsTableModel {
-	}
-
-	class IdentitiesFilterProxyModel {
-	}
-	IdentitiesFilterProxyModel --> IdentitiesTableModel : source
-
-	class IdentitiesTableModel {
-	}
-
-	class NetworkFilterProxyModel {
-	}
-	NetworkFilterProxyModel --> NetworkTableModel : source
-
-	class NetworkTableModel {
-	}
-
-	class TxHistoryFilterProxyModel {
-	}
-	TxHistoryFilterProxyModel --> TxHistoryTableModel : source
-	class TxHistoryTableModel {
-	}
-
-	class CommunitiesListModel {
-	}
-
-	class RootNodesTableModel {
-	}
-}
-
-@enduml
\ No newline at end of file
diff --git a/doc/uml/network.png b/doc/uml/network.png
index e81d0b329a732f21d17e3aaa4ca01653a57227c1..9de1956d213cea9ce16baf9033d2a17b835dc4f9 100644
Binary files a/doc/uml/network.png and b/doc/uml/network.png differ
diff --git a/doc/uml/processors.png b/doc/uml/processors.png
new file mode 100644
index 0000000000000000000000000000000000000000..c743fe24c83b874e85fddaa771c5dc593b9d593c
Binary files /dev/null and b/doc/uml/processors.png differ
diff --git a/doc/uml/processors.pu b/doc/uml/processors.pu
new file mode 100644
index 0000000000000000000000000000000000000000..3ac282393228bea90ead6aab1aeea34a439e3396
--- /dev/null
+++ b/doc/uml/processors.pu
@@ -0,0 +1,19 @@
+@startuml
+
+
+class IdentitiesProcessor  << (P,lightgreen) >> {
+    find_identities()
+    find_certifiers_of()
+    find_certified_by()
+}
+
+class CertificationProcessor  << (P,lightgreen) >> {
+}
+class TransactionProcessor  << (P,lightgreen) >> {
+}
+class CommunityProcessor  << (P,lightgreen) >> {
+}
+class BlockchainProcessor  << (P,lightgreen) >> {
+}
+
+@enduml
\ No newline at end of file
diff --git a/doc/uml/requests.png b/doc/uml/requests.png
index b5ea60e12381b00694c690c6570cc04389d43ce4..acfe67960fb3a49efc897fbd6b9d5942b77fe157 100644
Binary files a/doc/uml/requests.png and b/doc/uml/requests.png differ
diff --git a/doc/uml/services.png b/doc/uml/services.png
index 687dc4cb21e11135f61bdb992a2941bb9b65e993..7bdbc4df1c3849f947b3cbbf3b810b081374829e 100644
Binary files a/doc/uml/services.png and b/doc/uml/services.png differ
diff --git a/doc/uml/services.pu b/doc/uml/services.pu
index e4e42ce6f832bebbe5f23f5665f1a541457d23db..68e20bb9c4947d8f0bf243b6a29b09548ab34cb9 100644
--- a/doc/uml/services.pu
+++ b/doc/uml/services.pu
@@ -5,7 +5,6 @@
 class ProfileService << (S,cyan) >>  {
     add_connection()
     remove_connection()
-
 }
 
 class AccountService << (S,cyan) >>  {
@@ -15,15 +14,15 @@ class AccountService << (S,cyan) >>  {
     send_identity()
     send_revokation()
 }
+
 class TransactionsService << (S,cyan) >>  {
+    handle_new_block()
     refresh_transactions()
     rollback_transactions()
 }
 
-class RegistryService << (S,cyan) >> {
-    get_identity()
-    get_certifiers_of()
-    get_certified_by()
+class IdentitiesService << (S,cyan) >> {
+    handle_new_block()
 }
 
 class NetworkService << (S,cyan) >>  {
diff --git a/doc/uml/tx_lifecycle.png b/doc/uml/tx_lifecycle.png
index 4e4f73e1421db6aaf76b2e0438582ae009c025aa..83b2ea7451902696950ae5b9761f6ca4a225654f 100644
Binary files a/doc/uml/tx_lifecycle.png and b/doc/uml/tx_lifecycle.png differ