diff --git a/pallets/distance/src/lib.rs b/pallets/distance/src/lib.rs
index d858edb07ac5e88caa77310ab6f76c30b95686a3..48ad748feb1e751196bde559c2d4e193abbe88ed 100644
--- a/pallets/distance/src/lib.rs
+++ b/pallets/distance/src/lib.rs
@@ -60,7 +60,7 @@ pub mod pallet {
     pub trait Config<I: 'static = ()>:
         frame_system::Config
         + pallet_authorship::Config
-        // + pallet_certification::Config<I, IdtyIndex = IdtyIndex>
+        + pallet_certification::Config<I, IdtyIndex = IdtyIndex>
         + pallet_identity::Config<IdtyIndex = IdtyIndex>
         + pallet_session::Config
     {
@@ -91,7 +91,7 @@ pub mod pallet {
         _,
         EvaluationPool<
             <T as frame_system::Config>::AccountId,
-            // <T as pallet_certification::Config<I>>::IdtyIndex,
+            <T as pallet_certification::Config<I>>::IdtyIndex,
             <T as Config<I>>::MaxEvaluationsPerSession,
             <T as Config<I>>::MaxEvaluatorsPerSession,
         >,
@@ -103,7 +103,7 @@ pub mod pallet {
         _,
         EvaluationPool<
             <T as frame_system::Config>::AccountId,
-            // <T as pallet_certification::Config<I>>::IdtyIndex,
+            <T as pallet_certification::Config<I>>::IdtyIndex,
             <T as Config<I>>::MaxEvaluationsPerSession,
             <T as Config<I>>::MaxEvaluatorsPerSession,
         >,
@@ -115,7 +115,7 @@ pub mod pallet {
         _,
         EvaluationPool<
             <T as frame_system::Config>::AccountId,
-            // <T as pallet_certification::Config<I>>::IdtyIndex,
+            <T as pallet_certification::Config<I>>::IdtyIndex,
             <T as Config<I>>::MaxEvaluationsPerSession,
             <T as Config<I>>::MaxEvaluatorsPerSession,
         >,
@@ -233,38 +233,37 @@ pub mod pallet {
                 !DidUpdate::<T, I>::exists(),
                 Error::<T, I>::ManyEvaluationsInBlock,
             );
-            Ok(())
-
-            // Pallet::<T, I>::mutate_current_pool(
-            //     pallet_session::CurrentIndex::<T>::get().wrapping_add(1),
-            //     |result_pool| {
-            //         ensure!(
-            //             computation_result.distances.len() == result_pool.0.len(),
-            //             Error::<T, I>::WrongResultLength
-            //         );
-            //
-            //         let author =
-            //             pallet_authorship::Pallet::<T>::author().ok_or(Error::<T, I>::NoAuthor)?;
-            //
-            //         if result_pool
-            //             .1
-            //             .try_insert(author)
-            //             .map_err(|_| Error::<T, I>::TooManyEvaluators)?
-            //         {
-            //             for (distance_value, (_identity, median_acc)) in computation_result
-            //                 .distances
-            //                 .into_iter()
-            //                 .zip(result_pool.0.iter_mut())
-            //             {
-            //                 median_acc.push(distance_value);
-            //             }
-            //
-            //             Ok(())
-            //         } else {
-            //             Err(Error::<T, I>::ManyEvaluationsByAuthor.into())
-            //         }
-            //     },
-            // )
+
+            Pallet::<T, I>::mutate_current_pool(
+                pallet_session::CurrentIndex::<T>::get().wrapping_add(1),
+                |result_pool| {
+                    ensure!(
+                        computation_result.distances.len() == result_pool.0.len(),
+                        Error::<T, I>::WrongResultLength
+                    );
+
+                    let author =
+                        pallet_authorship::Pallet::<T>::author().ok_or(Error::<T, I>::NoAuthor)?;
+
+                    if result_pool
+                        .1
+                        .try_insert(author)
+                        .map_err(|_| Error::<T, I>::TooManyEvaluators)?
+                    {
+                        for (distance_value, (_identity, median_acc)) in computation_result
+                            .distances
+                            .into_iter()
+                            .zip(result_pool.0.iter_mut())
+                        {
+                            median_acc.push(distance_value);
+                        }
+
+                        Ok(())
+                    } else {
+                        Err(Error::<T, I>::ManyEvaluationsByAuthor.into())
+                    }
+                },
+            )
         }
     }
 
@@ -273,29 +272,27 @@ pub mod pallet {
     impl<T: Config<I>, I: 'static> Pallet<T, I> {
         pub fn do_evaluate_distance(
             who: T::AccountId,
-            idty_index: u64,
-            // idty_index: <T as pallet_certification::Config<I>>::IdtyIndex,
+            idty_index: <T as pallet_certification::Config<I>>::IdtyIndex,
         ) -> Result<(), DispatchError> {
-            // Pallet::<T, I>::mutate_current_pool(
-            //     pallet_session::CurrentIndex::<T>::get(),
-            //     |current_pool| {
-            //         ensure!(
-            //             current_pool.0.len()
-            //                 < (<T as Config<I>>::MaxEvaluationsPerSession::get() as usize),
-            //             Error::<T, I>::QueueFull
-            //         );
-            //
-            //         T::Currency::reserve(&who, <T as Config<I>>::EvaluationPrice::get())?;
-            //
-            //         current_pool
-            //             .0
-            //             .try_push((idty_index, median::MedianAcc::new()))
-            //             .map_err(|_| Error::<T, I>::QueueFull)?;
-            //
-            //         Ok(())
-            //     },
-            // )
-            Ok(())
+            Pallet::<T, I>::mutate_current_pool(
+                pallet_session::CurrentIndex::<T>::get(),
+                |current_pool| {
+                    ensure!(
+                        current_pool.0.len()
+                            < (<T as Config<I>>::MaxEvaluationsPerSession::get() as usize),
+                        Error::<T, I>::QueueFull
+                    );
+
+                    T::Currency::reserve(&who, <T as Config<I>>::EvaluationPrice::get())?;
+
+                    current_pool
+                        .0
+                        .try_push((idty_index, median::MedianAcc::new()))
+                        .map_err(|_| Error::<T, I>::QueueFull)?;
+
+                    Ok(())
+                },
+            )
         }
     }
 
@@ -303,27 +300,27 @@ pub mod pallet {
 
     impl<T: Config<I>, I: 'static> Pallet<T, I> {
         /// Mutate the evaluation pool containing the results to be applied on this session.
-        // fn mutate_current_pool<
-        //     R,
-        //     F: FnOnce(
-        //         &mut EvaluationPool<
-        //             <T as frame_system::Config>::AccountId,
-        //             <T as pallet_certification::Config<I>>::IdtyIndex,
-        //             <T as Config<I>>::MaxEvaluationsPerSession,
-        //             <T as Config<I>>::MaxEvaluatorsPerSession,
-        //         >,
-        //     ) -> R,
-        // >(
-        //     index: SessionIndex,
-        //     f: F,
-        // ) -> R {
-        //     match index % 3 {
-        //         0 => EvaluationPool2::<T, I>::mutate(f),
-        //         1 => EvaluationPool0::<T, I>::mutate(f),
-        //         2 => EvaluationPool1::<T, I>::mutate(f),
-        //         _ => panic!("index % 3 < 3"),
-        //     }
-        // }
+        fn mutate_current_pool<
+            R,
+            F: FnOnce(
+                &mut EvaluationPool<
+                    <T as frame_system::Config>::AccountId,
+                    <T as pallet_certification::Config<I>>::IdtyIndex,
+                    <T as Config<I>>::MaxEvaluationsPerSession,
+                    <T as Config<I>>::MaxEvaluatorsPerSession,
+                >,
+            ) -> R,
+        >(
+            index: SessionIndex,
+            f: F,
+        ) -> R {
+            match index % 3 {
+                0 => EvaluationPool2::<T, I>::mutate(f),
+                1 => EvaluationPool0::<T, I>::mutate(f),
+                2 => EvaluationPool1::<T, I>::mutate(f),
+                _ => panic!("index % 3 < 3"),
+            }
+        }
 
         /// Take the evaluation pool containing the results to be applied on this session.
         #[allow(clippy::type_complexity)]
@@ -331,7 +328,7 @@ pub mod pallet {
             index: SessionIndex,
         ) -> EvaluationPool<
             <T as frame_system::Config>::AccountId,
-            // <T as pallet_certification::Config<I>>::IdtyIndex,
+            <T as pallet_certification::Config<I>>::IdtyIndex,
             <T as Config<I>>::MaxEvaluationsPerSession,
             <T as Config<I>>::MaxEvaluatorsPerSession,
         > {
@@ -353,7 +350,7 @@ pub mod pallet {
             #[allow(clippy::type_complexity)]
             let current_pool: EvaluationPool<
                 <T as frame_system::Config>::AccountId,
-                // <T as pallet_certification::Config<I>>::IdtyIndex,
+                <T as pallet_certification::Config<I>>::IdtyIndex,
                 <T as Config<I>>::MaxEvaluationsPerSession,
                 <T as Config<I>>::MaxEvaluatorsPerSession,
             > = Pallet::<T, I>::take_current_pool(index);
diff --git a/pallets/distance/src/mock.rs b/pallets/distance/src/mock.rs
index 456d6b29c6a33b0977af993f5a7086142bbcd484..61ad83e667c907dd73701a56fffb89e73b50f639 100644
--- a/pallets/distance/src/mock.rs
+++ b/pallets/distance/src/mock.rs
@@ -56,7 +56,7 @@ frame_support::construct_runtime!(
         Authorship: pallet_authorship::{Pallet, Call, Storage},
         Distance: pallet_distance::{Pallet, Call, Config<T>, Storage, Event<T>},
         Identity: pallet_identity::{Pallet, Call, Config<T>, Storage, Event<T>},
-        // Cert: pallet_certification::{Pallet, Call, Config<T>, Storage, Event<T>},
+        Cert: pallet_certification::{Pallet, Call, Config<T>, Storage, Event<T>},
         AuthorityMembers: pallet_authority_members::{Pallet, Call, Storage, Config<T>, Event<T>},
     }
 );
@@ -182,26 +182,26 @@ impl pallet_identity::Config for Test {
     type WeightInfo = ();
 }
 
-// parameter_types! {
-//     pub const MaxByIssuer: u32 = 4;
-//     pub const MinReceivedCertToBeAbleToIssueCert: u32 = 2;
-//     pub const CertPeriod: u64 = 2;
-//     pub const ValidityPeriod: u64 = 10;
-// }
-//
-// impl pallet_certification::Config for Test {
-//     type CertPeriod = CertPeriod;
-//     type IdtyIndex = IdtyIndex;
-//     type OwnerKeyOf = sp_runtime::traits::ConvertInto;
-//     type CheckCertAllowed = ();
-//     type MaxByIssuer = MaxByIssuer;
-//     type MinReceivedCertToBeAbleToIssueCert = MinReceivedCertToBeAbleToIssueCert;
-//     type OnNewcert = ();
-//     type OnRemovedCert = ();
-//     type RuntimeEvent = RuntimeEvent;
-//     type WeightInfo = ();
-//     type ValidityPeriod = ValidityPeriod;
-// }
+parameter_types! {
+    pub const MaxByIssuer: u32 = 4;
+    pub const MinReceivedCertToBeAbleToIssueCert: u32 = 2;
+    pub const CertPeriod: u64 = 2;
+    pub const ValidityPeriod: u64 = 10;
+}
+
+impl pallet_certification::Config for Test {
+    type CertPeriod = CertPeriod;
+    type IdtyIndex = IdtyIndex;
+    type OwnerKeyOf = sp_runtime::traits::ConvertInto;
+    type CheckCertAllowed = ();
+    type MaxByIssuer = MaxByIssuer;
+    type MinReceivedCertToBeAbleToIssueCert = MinReceivedCertToBeAbleToIssueCert;
+    type OnNewcert = ();
+    type OnRemovedCert = ();
+    type RuntimeEvent = RuntimeEvent;
+    type WeightInfo = ();
+    type ValidityPeriod = ValidityPeriod;
+}
 
 impl pallet_authorship::Config for Test {
     type FindAuthor = ();
@@ -248,7 +248,7 @@ pub fn new_test_ext() -> sp_io::TestExternalities {
     GenesisConfig {
         system: SystemConfig::default(),
         authority_members: pallet_authority_members::GenesisConfig::default(),
-        // cert: pallet_certification::GenesisConfig::default(),
+        cert: pallet_certification::GenesisConfig::default(),
         distance: pallet_distance::GenesisConfig::default(),
         identity: pallet_identity::GenesisConfig::default(),
         session: pallet_session::GenesisConfig::default(),
diff --git a/pallets/distance/src/types.rs b/pallets/distance/src/types.rs
index 74338d34983c75e1d5b4146b05d952ab7b1fa360..ab629ec482290350863cadfb8a85de3273a67b13 100644
--- a/pallets/distance/src/types.rs
+++ b/pallets/distance/src/types.rs
@@ -30,13 +30,8 @@ pub enum DistanceStatus {
     Valid,
 }
 
-pub type EvaluationPool<
-    AccountId,
-    // IdtyIndex,
-    MaxEvaluationsPerSession,
-    MaxEvaluatorsPerSession,
-> = (
-    BoundedVec<(u64, MedianAcc<Perbill, MaxEvaluatorsPerSession>), MaxEvaluationsPerSession>,
+pub type EvaluationPool<AccountId, IdtyIndex, MaxEvaluationsPerSession, MaxEvaluatorsPerSession> = (
+    BoundedVec<(IdtyIndex, MedianAcc<Perbill, MaxEvaluatorsPerSession>), MaxEvaluationsPerSession>,
     BoundedBTreeSet<AccountId, MaxEvaluatorsPerSession>,
 );