diff --git a/distance-oracle/src/api.rs b/distance-oracle/src/api.rs
index 14e67b710fde98fe3a6deea9cd9b510730573b3f..6af754679ed693bb1347f1e02d36c325e42e8f0b 100644
--- a/distance-oracle/src/api.rs
+++ b/distance-oracle/src/api.rs
@@ -122,7 +122,7 @@ pub async fn cert_iter(client: &Client, evaluation_block: H256) -> CertIter {
         client
             .storage()
             .at(evaluation_block)
-            .iter(runtime::storage().cert().certs_by_receiver(0), 100)
+            .iter(runtime::storage().certification().certs_by_receiver(0), 100)
             .await
             .expect("Cannot fetch certifications"),
     )
diff --git a/docs/api/runtime-calls.md b/docs/api/runtime-calls.md
index 947286b77e8119c5d9c79621c54e1a368bc6f96e..033203a40f859cd2c557e50e9e8ef5d2fbebadcc 100644
--- a/docs/api/runtime-calls.md
+++ b/docs/api/runtime-calls.md
@@ -13,7 +13,7 @@ through on-chain governance mechanisms.
 
 ## User calls
 
-There are **77** user calls from **22** pallets.
+There are **79** user calls from **22** pallets.
 
 ### Account - 1
 
@@ -21,7 +21,7 @@ There are **77** user calls from **22** pallets.
 
 <details><summary><code>unlink_identity()</code></summary>
 
-Taking 0.0075 % of a block.
+Taking 0.0076 % of a block.
 
 ```rust
 ```
@@ -53,7 +53,7 @@ Anonymously schedule a task.
 
 <details><summary><code>cancel(when, index)</code></summary>
 
-Taking 0.0119 % of a block.
+Taking 0.0118 % of a block.
 
 ```rust
 when: T::BlockNumber
@@ -86,7 +86,7 @@ Schedule a named task.
 
 <details><summary><code>cancel_named(id)</code></summary>
 
-Taking 0.0124 % of a block.
+Taking 0.0123 % of a block.
 
 ```rust
 id: TaskName
@@ -157,7 +157,7 @@ be reported.
 
 <details><summary><code>transfer_allow_death(dest, value)</code></summary>
 
-Taking 0.0126 % of a block.
+Taking 0.0129 % of a block.
 
 ```rust
 dest: AccountIdLookupOf<T>
@@ -199,7 +199,7 @@ WARNING: This call is DEPRECATED! Use `force_set_balance` instead.
 
 <details><summary><code>transfer_keep_alive(dest, value)</code></summary>
 
-Taking 0.0117 % of a block.
+Taking 0.0119 % of a block.
 
 ```rust
 dest: AccountIdLookupOf<T>
@@ -219,7 +219,7 @@ kill the origin account.
 
 <details><summary><code>transfer_all(dest, keep_alive)</code></summary>
 
-Taking 0.0121 % of a block.
+Taking 0.0122 % of a block.
 
 ```rust
 dest: AccountIdLookupOf<T>
@@ -304,7 +304,7 @@ Origin account is kept alive.
 
 <details><summary><code>consume_oneshot_account(block_height, dest)</code></summary>
 
-Taking 0.0119 % of a block.
+Taking 0.012 % of a block.
 
 ```rust
 block_height: T::BlockNumber
@@ -323,7 +323,7 @@ Consume a oneshot account and transfer its balance to an account
 
 <details><summary><code>consume_oneshot_account_with_remaining(block_height, dest, remaining_to, balance)</code></summary>
 
-Taking 0.0154 % of a block.
+Taking 0.0155 % of a block.
 
 ```rust
 block_height: T::BlockNumber
@@ -351,7 +351,7 @@ and the remaining amount to another account.
 
 <details><summary><code>invite_smith(receiver)</code></summary>
 
-Taking 0.0135 % of a block.
+Taking 0.0136 % of a block.
 
 ```rust
 receiver: T::IdtyIndex
@@ -378,7 +378,7 @@ Taking 0.0085 % of a block.
 
 <details><summary><code>certify_smith(receiver)</code></summary>
 
-Taking 0.0127 % of a block.
+Taking 0.0126 % of a block.
 
 ```rust
 receiver: T::IdtyIndex
@@ -394,7 +394,7 @@ receiver: T::IdtyIndex
 
 <details><summary><code>go_offline()</code></summary>
 
-Taking 0.0102 % of a block.
+Taking 0.0103 % of a block.
 
 ```rust
 ```
@@ -420,7 +420,7 @@ ask to join the set of validators two sessions after
 
 <details><summary><code>set_session_keys(keys)</code></summary>
 
-Taking 0.0141 % of a block.
+Taking 0.0142 % of a block.
 
 ```rust
 keys: T::Keys
@@ -434,7 +434,7 @@ declare new session keys to replace current ones
 
 <details><summary><code>remove_member_from_blacklist(member_id)</code></summary>
 
-Taking 0.008 % of a block.
+Taking 0.0079 % of a block.
 
 ```rust
 member_id: T::MemberId
@@ -491,7 +491,7 @@ The weight of this call is defined by the caller.
 
 <details><summary><code>note_preimage(bytes)</code></summary>
 
-Taking 0.2778 % of a block.
+Taking 0.2804 % of a block.
 
 ```rust
 bytes: Vec<u8>
@@ -508,7 +508,7 @@ the preimage. Otherwise, a deposit is taken proportional to the size of the prei
 
 <details><summary><code>unnote_preimage(hash)</code></summary>
 
-Taking 0.012 % of a block.
+Taking 0.0119 % of a block.
 
 ```rust
 hash: T::Hash
@@ -562,7 +562,7 @@ NOTE: THIS MUST NOT BE CALLED ON `hash` MORE TIMES THAN `request_preimage`.
 
 <details><summary><code>execute(proposal, length_bound)</code></summary>
 
-Taking 0.0055 % of a block.
+Taking 0.0056 % of a block.
 
 ```rust
 proposal: Box<<T as Config<I>>::Proposal>
@@ -614,7 +614,7 @@ or put up for voting.
 
 <details><summary><code>vote(proposal, index, approve)</code></summary>
 
-Taking 0.0087 % of a block.
+Taking 0.0088 % of a block.
 
 ```rust
 proposal: T::Hash
@@ -680,7 +680,7 @@ proposal.
 
 <details><summary><code>claim_uds()</code></summary>
 
-Taking 0.013 % of a block.
+Taking 0.0131 % of a block.
 
 ```rust
 ```
@@ -693,7 +693,7 @@ Claim Universal Dividends
 
 <details><summary><code>transfer_ud(dest, value)</code></summary>
 
-Taking 0.0132 % of a block.
+Taking 0.0134 % of a block.
 
 ```rust
 dest: <T::Lookup as StaticLookup>::Source
@@ -708,7 +708,7 @@ Transfer some liquid free balance to another account, in milliUD.
 
 <details><summary><code>transfer_ud_keep_alive(dest, value)</code></summary>
 
-Taking 0.0123 % of a block.
+Taking 0.0125 % of a block.
 
 ```rust
 dest: <T::Lookup as StaticLookup>::Source
@@ -725,7 +725,7 @@ Transfer some liquid free balance to another account, in milliUD.
 
 <details><summary><code>create_identity(owner_key)</code></summary>
 
-Taking 0.0445 % of a block.
+Taking 0.0439 % of a block.
 
 ```rust
 owner_key: T::AccountId
@@ -743,7 +743,7 @@ The origin must be allowed to create an identity.
 
 <details><summary><code>confirm_identity(idty_name)</code></summary>
 
-Taking 0.018 % of a block.
+Taking 0.0181 % of a block.
 
 ```rust
 idty_name: IdtyName
@@ -761,7 +761,7 @@ The identity must have been created using `create_identity` before it can be con
 
 <details><summary><code>change_owner_key(new_key, new_key_sig)</code></summary>
 
-Taking 0.0244 % of a block.
+Taking 0.0238 % of a block.
 
 ```rust
 new_key: T::AccountId
@@ -782,7 +782,7 @@ The origin should be the old identity owner key.
 
 <details><summary><code>revoke_identity(idty_index, revocation_key, revocation_sig)</code></summary>
 
-Taking 0.0259 % of a block.
+Taking 0.0227 % of a block.
 
 ```rust
 idty_index: T::IdtyIndex
@@ -820,7 +820,7 @@ change sufficient ref count for given key
 
 <details><summary><code>link_account(account_id, payload_sig)</code></summary>
 
-Taking 0.0109 % of a block.
+Taking 0.011 % of a block.
 
 ```rust
 account_id: T::AccountId
@@ -837,7 +837,7 @@ Link an account to an identity
 
 <details><summary><code>claim_membership()</code></summary>
 
-Taking 0.0212 % of a block.
+Taking 0.0213 % of a block.
 
 ```rust
 ```
@@ -866,7 +866,7 @@ extend the validity period of an active membership
 
 <details><summary><code>revoke_membership()</code></summary>
 
-Taking 0.022 % of a block.
+Taking 0.0586 % of a block.
 
 ```rust
 ```
@@ -876,13 +876,13 @@ Taking 0.022 % of a block.
 revoke an active membership
 (only available for sub wot, automatic for main wot)
 
-### Cert - 43
+### Certification - 43
 
 #### add_cert - 0
 
 <details><summary><code>add_cert(issuer, receiver)</code></summary>
 
-Taking 0.0189 % of a block.
+Taking 0.019 % of a block.
 
 ```rust
 issuer: T::IdtyIndex
@@ -897,13 +897,42 @@ Add a new certification or renew an existing one
 
 The origin must be allow to certify.
 
+#### del_cert - 1
+
+<details><summary><code>del_cert(issuer, receiver)</code></summary>
+
+Taking 0.0153 % of a block.
+
+```rust
+issuer: T::IdtyIndex
+receiver: T::IdtyIndex
+```
+</details>
+
+
+remove a certification (only root)
+
+#### remove_all_certs_received_by - 2
+
+<details><summary><code>remove_all_certs_received_by(idty_index)</code></summary>
+
+Taking 3.5004 % of a block.
+
+```rust
+idty_index: T::IdtyIndex
+```
+</details>
+
+
+remove all certifications received by an identity (only root)
+
 ### Distance - 44
 
 #### request_distance_evaluation - 0
 
 <details><summary><code>request_distance_evaluation()</code></summary>
 
-Taking 0.0185 % of a block.
+Taking 0.0187 % of a block.
 
 ```rust
 ```
@@ -916,7 +945,7 @@ Request an identity to be evaluated
 
 <details><summary><code>update_evaluation(computation_result)</code></summary>
 
-Taking 0.0188 % of a block.
+Taking 0.0195 % of a block.
 
 ```rust
 computation_result: ComputationResult
@@ -930,7 +959,7 @@ computation_result: ComputationResult
 
 <details><summary><code>force_update_evaluation(evaluator, computation_result)</code></summary>
 
-Taking 0.0117 % of a block.
+Taking 0.0122 % of a block.
 
 ```rust
 evaluator: <T as frame_system::Config>::AccountId
@@ -945,7 +974,7 @@ Push an evaluation result to the pool
 
 <details><summary><code>force_set_distance_status(identity, status)</code></summary>
 
-Taking 0.0109 % of a block.
+Taking 0.011 % of a block.
 
 ```rust
 identity: <T as pallet_identity::Config>::IdtyIndex
@@ -1039,7 +1068,7 @@ The dispatch origin for this call must be _Signed_.
 
 <details><summary><code>as_multi_threshold_1(other_signatories, call)</code></summary>
 
-Taking 0.0048 % of a block.
+Taking 0.0049 % of a block.
 
 ```rust
 other_signatories: Vec<T::AccountId>
@@ -1168,7 +1197,7 @@ NOTE: If this is the final approval, you will want to use `as_multi` instead.
 
 <details><summary><code>cancel_as_multi(threshold, other_signatories, timepoint, call_hash)</code></summary>
 
-Taking 0.0087 % of a block.
+Taking 0.0088 % of a block.
 
 ```rust
 threshold: u16
@@ -1207,7 +1236,7 @@ transaction for this dispatch.
 
 <details><summary><code>request(randomness_type, salt)</code></summary>
 
-Taking 0.0189 % of a block.
+Taking 0.0191 % of a block.
 
 ```rust
 randomness_type: RandomnessType
@@ -1248,7 +1277,7 @@ Parameters:
 
 <details><summary><code>add_proxy(delegate, proxy_type, delay)</code></summary>
 
-Taking 0.0084 % of a block.
+Taking 0.0085 % of a block.
 
 ```rust
 delegate: AccountIdLookupOf<T>
@@ -1272,7 +1301,7 @@ zero.
 
 <details><summary><code>remove_proxy(delegate, proxy_type, delay)</code></summary>
 
-Taking 0.0084 % of a block.
+Taking 0.0085 % of a block.
 
 ```rust
 delegate: AccountIdLookupOf<T>
@@ -1294,7 +1323,7 @@ Parameters:
 
 <details><summary><code>remove_proxies()</code></summary>
 
-Taking 0.0083 % of a block.
+Taking 0.0084 % of a block.
 
 ```rust
 ```
@@ -1407,7 +1436,7 @@ Parameters:
 
 <details><summary><code>remove_announcement(real, call_hash)</code></summary>
 
-Taking 0.0115 % of a block.
+Taking 0.0116 % of a block.
 
 ```rust
 real: AccountIdLookupOf<T>
@@ -1431,7 +1460,7 @@ Parameters:
 
 <details><summary><code>reject_announcement(delegate, call_hash)</code></summary>
 
-Taking 0.0115 % of a block.
+Taking 0.0116 % of a block.
 
 ```rust
 delegate: AccountIdLookupOf<T>
@@ -1455,7 +1484,7 @@ Parameters:
 
 <details><summary><code>proxy_announced(delegate, real, force_proxy_type, call)</code></summary>
 
-Taking 0.0124 % of a block.
+Taking 0.0125 % of a block.
 
 ```rust
 delegate: AccountIdLookupOf<T>
@@ -1484,7 +1513,7 @@ Parameters:
 
 <details><summary><code>batch(calls)</code></summary>
 
-Taking 0.1817 % of a block.
+Taking 0.1825 % of a block.
 
 ```rust
 calls: Vec<<T as Config>::RuntimeCall>
@@ -1515,7 +1544,7 @@ event is deposited.
 
 <details><summary><code>as_derivative(index, call)</code></summary>
 
-Taking 0.0045 % of a block.
+Taking 0.0046 % of a block.
 
 ```rust
 index: u16
@@ -1542,7 +1571,7 @@ The dispatch origin for this call must be _Signed_.
 
 <details><summary><code>batch_all(calls)</code></summary>
 
-Taking 0.1918 % of a block.
+Taking 0.1899 % of a block.
 
 ```rust
 calls: Vec<<T as Config>::RuntimeCall>
@@ -1568,7 +1597,7 @@ includes bypassing `frame_system::Config::BaseCallFilter`).
 
 <details><summary><code>force_batch(calls)</code></summary>
 
-Taking 0.1828 % of a block.
+Taking 0.1833 % of a block.
 
 ```rust
 calls: Vec<<T as Config>::RuntimeCall>
@@ -1616,7 +1645,7 @@ The dispatch origin for this call must be _Root_.
 
 <details><summary><code>propose_spend(value, beneficiary)</code></summary>
 
-Taking 0.011 % of a block.
+Taking 0.0111 % of a block.
 
 ```rust
 value: BalanceOf<T, I>
@@ -1636,7 +1665,7 @@ proposal is awarded.
 
 <details><summary><code>spend(amount, beneficiary)</code></summary>
 
-Taking 0.0044 % of a block.
+Taking 0.0045 % of a block.
 
 ```rust
 amount: BalanceOf<T, I>
@@ -1658,7 +1687,7 @@ beneficiary.
 
 <details><summary><code>remove_approval(proposal_id)</code></summary>
 
-Taking 0.0076 % of a block.
+Taking 0.0077 % of a block.
 
 ```rust
 proposal_id: ProposalIndex
@@ -1684,7 +1713,7 @@ exist altogether, thus there is no way it would have been approved in the first
 
 ## Root calls
 
-There are **17** root calls from **9** pallets.
+There are **15** root calls from **8** pallets.
 
 ### System - 0
 
@@ -1740,7 +1769,7 @@ Set the new runtime code without doing any checks of the given `code`.
 
 <details><summary><code>set_storage(items)</code></summary>
 
-Taking 2.6224 % of a block.
+Taking 2.6239 % of a block.
 
 ```rust
 items: Vec<KeyValue>
@@ -1768,7 +1797,7 @@ Kill some items from storage.
 
 <details><summary><code>kill_prefix(prefix, subkeys)</code></summary>
 
-Taking 3.0016 % of a block.
+Taking 3.0011 % of a block.
 
 ```rust
 prefix: Key
@@ -1843,7 +1872,7 @@ Can only be called by ROOT.
 
 <details><summary><code>remove_member(member_id)</code></summary>
 
-Taking 0.0441 % of a block.
+Taking 0.0345 % of a block.
 
 ```rust
 member_id: T::MemberId
@@ -1887,7 +1916,7 @@ Only callable by root.
 
 <details><summary><code>set_members(new_members, prime, old_count)</code></summary>
 
-Taking 0.0815 % of a block.
+Taking 0.0823 % of a block.
 
 ```rust
 new_members: Vec<T::AccountId>
@@ -1951,7 +1980,7 @@ O(P) where P is the number of max proposals
 
 <details><summary><code>prune_item_identities_names(names)</code></summary>
 
-Taking 2.6537 % of a block.
+Taking 2.6583 % of a block.
 
 ```rust
 names: Vec<IdtyName>
@@ -1961,44 +1990,13 @@ names: Vec<IdtyName>
 
 remove identity names from storage
 
-### Cert - 43
-
-#### del_cert - 1
-
-<details><summary><code>del_cert(issuer, receiver)</code></summary>
-
-Taking 0.0152 % of a block.
-
-```rust
-issuer: T::IdtyIndex
-receiver: T::IdtyIndex
-```
-</details>
-
-
-remove a certification (only root)
-
-#### remove_all_certs_received_by - 2
-
-<details><summary><code>remove_all_certs_received_by(idty_index)</code></summary>
-
-Taking 3.4734 % of a block.
-
-```rust
-idty_index: T::IdtyIndex
-```
-</details>
-
-
-remove all certifications received by an identity (only root)
-
 ### Utility - 54
 
 #### dispatch_as - 3
 
 <details><summary><code>dispatch_as(as_origin, call)</code></summary>
 
-Taking 0.0047 % of a block.
+Taking 0.0048 % of a block.
 
 ```rust
 as_origin: Box<T::PalletsOrigin>
@@ -2029,7 +2027,7 @@ There are **4** disabled calls from **2** pallets.
 
 <details><summary><code>remark(remark)</code></summary>
 
-Taking 0.0526 % of a block.
+Taking 0.0544 % of a block.
 
 ```rust
 remark: Vec<u8>
@@ -2046,7 +2044,7 @@ Make some on-chain remark.
 
 <details><summary><code>remark_with_event(remark)</code></summary>
 
-Taking 0.2032 % of a block.
+Taking 0.2043 % of a block.
 
 ```rust
 remark: Vec<u8>
@@ -2062,7 +2060,7 @@ Make some on-chain remark and emit event.
 
 <details><summary><code>set_keys(keys, proof)</code></summary>
 
-Taking 0.0203 % of a block.
+Taking 0.0204 % of a block.
 
 ```rust
 keys: T::Keys
@@ -2085,7 +2083,7 @@ The dispatch origin of this function must be signed.
 
 <details><summary><code>purge_keys()</code></summary>
 
-Taking 0.0184 % of a block.
+Taking 0.0185 % of a block.
 
 ```rust
 ```
diff --git a/docs/api/runtime-errors.md b/docs/api/runtime-errors.md
index 870d581dd0b725ec6ac3d63e2af9a4439aa0cb84..ebb10eb1a66022ba5bb640d7dc65cbf89a34d0b5 100644
--- a/docs/api/runtime-errors.md
+++ b/docs/api/runtime-errors.md
@@ -1013,7 +1013,7 @@ Membership not found.
 </li>
 </ul>
 </li>
-<li>Cert - 43
+<li>Certification - 43
 <ul>
 <li>
 <details>
diff --git a/docs/api/runtime-events.md b/docs/api/runtime-events.md
index 7798f77da1fe942f579e97f6af7487b04b415c1b..9aa80926367bb4a66c4f20f066063c6975b15769 100644
--- a/docs/api/runtime-events.md
+++ b/docs/api/runtime-events.md
@@ -1298,7 +1298,7 @@ reason: MembershipRemovalReason
 </li>
 </ul>
 </li>
-<li>Cert - 43
+<li>Certification - 43
 <ul>
 <li>
 <details>
diff --git a/end2end-tests/tests/common/cert.rs b/end2end-tests/tests/common/cert.rs
index 06d6e5589fc1181d70f91b15ddc7cce4d43e678d..0160b2b46048f49d5ebf5332c191519b4aedf7c1 100644
--- a/end2end-tests/tests/common/cert.rs
+++ b/end2end-tests/tests/common/cert.rs
@@ -51,7 +51,9 @@ pub async fn certify(client: &Client, from: AccountKeyring, to: AccountKeyring)
         client
             .tx()
             .create_signed(
-                &gdev::tx().cert().add_cert(issuer_index, receiver_index),
+                &gdev::tx()
+                    .certification()
+                    .add_cert(issuer_index, receiver_index),
                 &signer,
                 BaseExtrinsicParamsBuilder::new(),
             )
diff --git a/end2end-tests/tests/cucumber_tests.rs b/end2end-tests/tests/cucumber_tests.rs
index db7e64171d002fac921e0ff0f6166c7f23661e7c..7832a4a3d89048a033d61245d2a99cbaa508ea13 100644
--- a/end2end-tests/tests/cucumber_tests.rs
+++ b/end2end-tests/tests/cucumber_tests.rs
@@ -476,7 +476,11 @@ async fn should_be_certified_by(
         .unwrap();
 
     let issuers = world
-        .read_or_default(&gdev::storage().cert().certs_by_receiver(receiver_index))
+        .read_or_default(
+            &gdev::storage()
+                .certification()
+                .certs_by_receiver(receiver_index),
+        )
         .await
         .await?;
 
diff --git a/node/src/chain_spec/gdev.rs b/node/src/chain_spec/gdev.rs
index 4d80232c6e87564a2a7cfcffb75261c29bd49164..e927d483bc777d7b21c647ca7d07e3303ed464da 100644
--- a/node/src/chain_spec/gdev.rs
+++ b/node/src/chain_spec/gdev.rs
@@ -23,9 +23,10 @@ use common_runtime::entities::IdtyData;
 use common_runtime::*;
 use gdev_runtime::{
     opaque::SessionKeys, pallet_universal_dividend, parameters, AccountConfig,
-    AuthorityMembersConfig, BabeConfig, BalancesConfig, CertConfig, GenesisConfig, IdentityConfig,
-    MembershipConfig, ParametersConfig, QuotaConfig, Runtime, SessionConfig, SmithMembersConfig,
-    SudoConfig, SystemConfig, TechnicalCommitteeConfig, UniversalDividendConfig, WASM_BINARY,
+    AuthorityMembersConfig, BabeConfig, BalancesConfig, CertificationConfig, GenesisConfig,
+    IdentityConfig, MembershipConfig, ParametersConfig, QuotaConfig, Runtime, SessionConfig,
+    SmithMembersConfig, SudoConfig, SystemConfig, TechnicalCommitteeConfig,
+    UniversalDividendConfig, WASM_BINARY,
 };
 use jsonrpsee::core::JsonValue;
 use sc_network::config::MultiaddrWithPeerId;
@@ -352,7 +353,7 @@ fn genesis_data_to_gdev_genesis_conf(
                 )
                 .collect(),
         },
-        cert: CertConfig {
+        certification: CertificationConfig {
             apply_cert_period_at_genesis: false,
             certs_by_receiver,
         },
diff --git a/node/src/chain_spec/gtest.rs b/node/src/chain_spec/gtest.rs
index 4b1ee27f2b5b4842cfd04082099e1cb876fef9f8..d01ee0ccea092ce251aa1f631b40fd6ac56625a2 100644
--- a/node/src/chain_spec/gtest.rs
+++ b/node/src/chain_spec/gtest.rs
@@ -23,9 +23,9 @@ use frame_benchmarking::frame_support::traits::Get;
 use gtest_runtime::SmithMembersConfig;
 use gtest_runtime::{
     opaque::SessionKeys, pallet_universal_dividend, parameters, AccountConfig, AccountId,
-    AuthorityMembersConfig, BabeConfig, BalancesConfig, CertConfig, GenesisConfig, IdentityConfig,
-    ImOnlineId, MembershipConfig, Perbill, QuotaConfig, Runtime, SessionConfig, SudoConfig,
-    SystemConfig, TechnicalCommitteeConfig, UniversalDividendConfig, WASM_BINARY,
+    AuthorityMembersConfig, BabeConfig, BalancesConfig, CertificationConfig, GenesisConfig,
+    IdentityConfig, ImOnlineId, MembershipConfig, Perbill, QuotaConfig, Runtime, SessionConfig,
+    SudoConfig, SystemConfig, TechnicalCommitteeConfig, UniversalDividendConfig, WASM_BINARY,
 };
 use jsonrpsee::core::JsonValue;
 use sc_consensus_grandpa::AuthorityId as GrandpaId;
@@ -301,7 +301,7 @@ fn genesis_data_to_gtest_genesis_conf(
                 )
                 .collect(),
         },
-        cert: CertConfig {
+        certification: CertificationConfig {
             apply_cert_period_at_genesis: true,
             certs_by_receiver,
         },
diff --git a/resources/metadata.scale b/resources/metadata.scale
index d9b927842841c74ddf26cd400b3b4a304a3c6eeb..15ad56874e147a9b94c30468250afd196b8504ec 100644
Binary files a/resources/metadata.scale and b/resources/metadata.scale differ
diff --git a/runtime/g1/src/lib.rs b/runtime/g1/src/lib.rs
index 695fb3d39694e9decde7144b01f7de75d38d4d2c..40a3025acac0603b7069edfef33d2c977b0497b5 100644
--- a/runtime/g1/src/lib.rs
+++ b/runtime/g1/src/lib.rs
@@ -139,7 +139,7 @@ pub type TechnicalCommitteeInstance = Instance2;
 #[cfg(feature = "runtime-benchmarks")]
 mod benches {
     define_benchmarks!(
-        [pallet_certification, Cert]
+        [pallet_certification, Certification]
         [pallet_distance, Distance]
         [pallet_oneshot_account, OneshotAccount]
         [pallet_universal_dividend, UniversalDividend]
@@ -214,7 +214,7 @@ impl frame_support::traits::InstanceFilter<RuntimeCall> for ProxyType {
                 // Some calls are never authorized from a proxied account
                 !matches!(
                     c,
-                    RuntimeCall::Cert(..)
+                    RuntimeCall::Certification(..)
                         | RuntimeCall::Identity(..)
                         | RuntimeCall::SmithMembers(..)
                 )
@@ -288,7 +288,7 @@ construct_runtime!(
         Wot: pallet_duniter_wot::{Pallet} = 40,
         Identity: pallet_identity::{Pallet, Call, Config<T>, Storage, Event<T>} = 41,
         Membership: pallet_membership::{Pallet, Call, Config<T>, Storage, Event<T>} = 42,
-        Cert: pallet_certification::{Pallet, Call, Config<T>, Storage, Event<T>} = 43,
+        Certification: pallet_certification::{Pallet, Call, Config<T>, Storage, Event<T>} = 43,
         Distance: pallet_distance::{Pallet, Call, Storage, Inherent, Event<T>} = 44,
 
         // Utilities
diff --git a/runtime/gdev/src/lib.rs b/runtime/gdev/src/lib.rs
index 544ae962dc7ce8ffe38c59f0cc464501475152fd..04366d5dbe9b44698365b1531d33653819e914bd 100644
--- a/runtime/gdev/src/lib.rs
+++ b/runtime/gdev/src/lib.rs
@@ -141,7 +141,7 @@ pub type TechnicalCommitteeInstance = Instance2;
 #[cfg(feature = "runtime-benchmarks")]
 mod benches {
     define_benchmarks!(
-        [pallet_certification, Cert]
+        [pallet_certification, Certification]
         [pallet_distance, Distance]
         [pallet_oneshot_account, OneshotAccount]
         [pallet_universal_dividend, UniversalDividend]
@@ -218,7 +218,7 @@ impl frame_support::traits::InstanceFilter<RuntimeCall> for ProxyType {
                 // Some calls are never authorized from a proxied account
                 !matches!(
                     c,
-                    RuntimeCall::Cert(..)
+                    RuntimeCall::Certification(..)
                         | RuntimeCall::Identity(..)
                         | RuntimeCall::SmithMembers(..)
                 )
@@ -330,7 +330,7 @@ construct_runtime!(
         Wot: pallet_duniter_wot::{Pallet} = 40,
         Identity: pallet_identity::{Pallet, Call, Config<T>, Storage, Event<T>} = 41,
         Membership: pallet_membership::{Pallet, Call, Config<T>, Storage, Event<T>} = 42,
-        Cert: pallet_certification::{Pallet, Call, Config<T>, Storage, Event<T>} = 43,
+        Certification: pallet_certification::{Pallet, Call, Config<T>, Storage, Event<T>} = 43,
         Distance: pallet_distance::{Pallet, Call, Storage, Inherent, Event<T>} = 44,
 
         // Utilities
diff --git a/runtime/gdev/tests/common/mod.rs b/runtime/gdev/tests/common/mod.rs
index a74493b34a02f8f680be2c32712341314b1858fe..261755f759209283c2acbbfa4dd0de41c26f24c8 100644
--- a/runtime/gdev/tests/common/mod.rs
+++ b/runtime/gdev/tests/common/mod.rs
@@ -368,7 +368,7 @@ pub fn run_to_block(n: u32) {
         Wot::on_initialize(System::block_number());
         Identity::on_initialize(System::block_number());
         Membership::on_initialize(System::block_number());
-        Cert::on_initialize(System::block_number());
+        Certification::on_initialize(System::block_number());
 
         Timestamp::set_timestamp(System::block_number() as u64 * BLOCK_TIME);
         Distance::on_initialize(System::block_number());
diff --git a/runtime/gdev/tests/fixme_tests.rs b/runtime/gdev/tests/fixme_tests.rs
index 1ab0bd7a7c799d9ed6b9c8be655bb38106d3c7ad..17c6221109edcd2a4e181835f91d010289aa1f35 100644
--- a/runtime/gdev/tests/fixme_tests.rs
+++ b/runtime/gdev/tests/fixme_tests.rs
@@ -53,7 +53,7 @@ fn can_still_issue_cert_when_membership_lost() {
 
         // fixed :)
         assert_noop!(
-            Cert::add_cert(
+            Certification::add_cert(
                 frame_system::RawOrigin::Signed(AccountKeyring::Bob.to_account_id()).into(),
                 2, // Bob
                 3, // Charlie
diff --git a/runtime/gdev/tests/integration_tests.rs b/runtime/gdev/tests/integration_tests.rs
index ca90f99258221aa6cbadc7b9e7442c1e74b067e6..49755e0c49b7b054aa61f21cceed8cd5ca94a649 100644
--- a/runtime/gdev/tests/integration_tests.rs
+++ b/runtime/gdev/tests/integration_tests.rs
@@ -335,12 +335,12 @@ fn test_validate_identity_when_claim() {
             ));
             run_to_block(3);
             // eve gets certified by bob and charlie
-            assert_ok!(Cert::add_cert(
+            assert_ok!(Certification::add_cert(
                 frame_system::RawOrigin::Signed(AccountKeyring::Bob.to_account_id()).into(),
                 2,
                 5
             ));
-            assert_ok!(Cert::add_cert(
+            assert_ok!(Certification::add_cert(
                 frame_system::RawOrigin::Signed(AccountKeyring::Charlie.to_account_id()).into(),
                 3,
                 5
@@ -1031,7 +1031,7 @@ fn test_validate_new_idty_after_few_uds() {
 
             // At next block, Bob should be able to certify and validate the new identity
             run_to_block(23);
-            assert_ok!(Cert::add_cert(
+            assert_ok!(Certification::add_cert(
                 frame_system::RawOrigin::Signed(AccountKeyring::Bob.to_account_id()).into(),
                 2,
                 5,
@@ -1089,7 +1089,7 @@ fn test_claim_memberhsip_after_few_uds() {
 
             // At next block, Bob should be able to certify the new identity
             run_to_block(23);
-            assert_ok!(Cert::add_cert(
+            assert_ok!(Certification::add_cert(
                 frame_system::RawOrigin::Signed(AccountKeyring::Bob.to_account_id()).into(),
                 2,
                 5,
diff --git a/runtime/gtest/src/lib.rs b/runtime/gtest/src/lib.rs
index 374cc0d7999e5b709b8e886bfa1d8f5db7e55f3a..a4b6e010a2133efd043cbb7a05ae5f6dd9fa3e13 100644
--- a/runtime/gtest/src/lib.rs
+++ b/runtime/gtest/src/lib.rs
@@ -140,7 +140,7 @@ pub type TechnicalCommitteeInstance = Instance2;
 #[cfg(feature = "runtime-benchmarks")]
 mod benches {
     define_benchmarks!(
-        [pallet_certification, Cert]
+        [pallet_certification, Certification]
         [pallet_distance, Distance]
         [pallet_oneshot_account, OneshotAccount]
         [pallet_universal_dividend, UniversalDividend]
@@ -211,7 +211,7 @@ impl frame_support::traits::InstanceFilter<RuntimeCall> for ProxyType {
                 // Some calls are never authorized from a proxied account
                 !matches!(
                     c,
-                    RuntimeCall::Cert(..)
+                    RuntimeCall::Certification(..)
                         | RuntimeCall::Identity(..)
                         | RuntimeCall::SmithMembers(..)
                 )
@@ -293,7 +293,7 @@ construct_runtime!(
         Wot: pallet_duniter_wot::{Pallet} = 40,
         Identity: pallet_identity::{Pallet, Call, Config<T>, Storage, Event<T>} = 41,
         Membership: pallet_membership::{Pallet, Call, Config<T>, Storage, Event<T>} = 42,
-        Cert: pallet_certification::{Pallet, Call, Config<T>, Storage, Event<T>} = 43,
+        Certification: pallet_certification::{Pallet, Call, Config<T>, Storage, Event<T>} = 43,
         Distance: pallet_distance::{Pallet, Call, Storage, Inherent, Event<T>} = 44,
 
         // Utilities
diff --git a/xtask/src/gen_doc.rs b/xtask/src/gen_doc.rs
index 2a599b77c2c88cdee216b110c86a58882c9f6e93..979fa59a3040f70d2fd1e8a16932fbf6990fd366 100644
--- a/xtask/src/gen_doc.rs
+++ b/xtask/src/gen_doc.rs
@@ -275,22 +275,6 @@ pub(super) fn gen_doc() -> Result<()> {
         &"Collective".into(),
         "TechnicalCommittee".into(),
     );
-    rename_key(
-        &mut weights,
-        &"MembershipMembership".into(),
-        "Membership".into(),
-    );
-    rename_key(
-        &mut weights,
-        &"MembershipSmithMembership".into(),
-        "SmithMembership".into(),
-    );
-    rename_key(&mut weights, &"CertificationCert".into(), "Cert".into());
-    rename_key(
-        &mut weights,
-        &"CertificationSmithCert".into(),
-        "SmithCert".into(),
-    );
 
     // We enforce weight for each pallet.
     // For pallets with manual or no weight, we define a default value.