diff --git a/src/bma/lookup_identity.rs b/src/bma/lookup_identity.rs
index c775a02835d55d702fead745870a74987e529e73..d15c01e751e5b6146798194f74038f0d65c55c75 100644
--- a/src/bma/lookup_identity.rs
+++ b/src/bma/lookup_identity.rs
@@ -39,11 +39,11 @@ pub fn lookup2identities(lookup_result: &LookupResult) -> Vec<LookupIdentity> {
         let pubkey = result["pubkey"].as_str().unwrap();
         let empty: &Vec<Value> = &Vec::new();
         let uids: &Vec<Value> = result["uids"].as_array().unwrap_or(empty);
-        for anUid in uids.iter() {
-            let uid = anUid["uid"].as_str().unwrap();
-            let blockstamp = anUid["meta"]["timestamp"].as_str().unwrap();
-            let signature = anUid["self"].as_str().unwrap();
-            let revoked = anUid["revoked"].as_bool().unwrap();
+        for an_uid in uids.iter() {
+            let uid = an_uid["uid"].as_str().unwrap();
+            let blockstamp = an_uid["meta"]["timestamp"].as_str().unwrap();
+            let signature = an_uid["self"].as_str().unwrap();
+            let revoked = an_uid["revoked"].as_bool().unwrap();
             identities.push(LookupIdentity::new(pubkey, uid, blockstamp, signature,revoked));
         }
     }
diff --git a/src/bma/mod.rs b/src/bma/mod.rs
index 4f89f3a1b885dfeef663d382e6272db74986d135..4973afbb18ca1734b2e9e04076c54ed1876872b9 100644
--- a/src/bma/mod.rs
+++ b/src/bma/mod.rs
@@ -1,11 +1,4 @@
-use std::error::Error;
-use reqwest;
-use std::fmt::Display;
 pub use crate::bma::node::BmaNode;
-use serde_json::Value;
-use reqwest::blocking::Response;
-use crate::bma::lookup_identity::{LookupIdentity, lookup2identities, lookup_print, LookupResult};
-use std::process::id;
 
 mod node;
 pub mod lookup_identity;
diff --git a/src/bma/wot/mod.rs b/src/bma/wot/mod.rs
index 9a5ec04101fd005d78083ec64ea039c2ccaf525d..9046a951b044790176a2c9a2acadb4ccf9408c0c 100644
--- a/src/bma/wot/mod.rs
+++ b/src/bma/wot/mod.rs
@@ -1,10 +1,8 @@
 use std::fmt::{Display, Formatter};
 
-use reqwest::{blocking, StatusCode};
 use serde::{Deserialize, Serialize};
 
 use crate::bma::BmaNode;
-use crate::bma::lookup_identity::LookupIdentity;
 
 #[derive(Serialize, Deserialize)]
 struct BmaCertification {
@@ -18,7 +16,7 @@ impl Display for BmaCertification {
 }
 
 pub fn certify(node: &BmaNode, idty: &String, sig: &String) -> Result<(), String> {
-    let mut cert = BmaCertification { cert: format!("{}{}\n", idty, sig) };
+    let cert = BmaCertification { cert: format!("{}{}\n", idty, sig) };
     let address = node.get_address();
     let client = reqwest::blocking::Client::new();
     let resp = client.post(format!("{}/wot/certify", address))
diff --git a/src/cli/certify.rs b/src/cli/certify.rs
index d9ce5f704b1d66d62157f7e59b8cba9c9e5954b0..a51a4cbc85cecf5d19d112e08f775f3cec07dee1 100644
--- a/src/cli/certify.rs
+++ b/src/cli/certify.rs
@@ -1,9 +1,9 @@
 use crate::bma::BmaNode;
 use crate::bma::lookup_identity::{LookupResult, lookup2identities, lookup_print};
-use duniter_mini_client::crypto::scrypt_duniter_key::ScryptDuniterKey;
-use duniter_mini_client::crypto::duniter_key::ToDuniterKey;
-use duniter_mini_client::dubp::documents::certification::Certification;
-use duniter_mini_client::crypto::signable::Signable;
+use crate::crypto::scrypt_duniter_key::ScryptDuniterKey;
+use crate::crypto::duniter_key::ToDuniterKey;
+use crate::dubp::documents::certification::Certification;
+use crate::crypto::signable::Signable;
 
 pub fn certify(node: BmaNode, uid_or_pub: String) -> Result<(), String> {
     let address = node.get_address();
diff --git a/src/cli/mod.rs b/src/cli/mod.rs
index cff0cae62074813d0abb92d9645a46fe621c8ad6..4f69eae0f8aa72479297411eded3caeaf60beae5 100644
--- a/src/cli/mod.rs
+++ b/src/cli/mod.rs
@@ -4,7 +4,7 @@ use crate::cli::Command::*;
 use crate::bma::BmaNode;
 use std::env;
 
-pub(crate) mod certify;
+pub mod certify;
 
 const DEFAULT_NODE: &str = "https://g1-test.duniter.org";
 
diff --git a/src/crypto/duniter_signature.rs b/src/crypto/duniter_signature.rs
index 770fecb26a3e3c47e3b1656ca54ba5977486c691..decf48ac89fa9d1e833b3876358cc88fd87fb87c 100644
--- a/src/crypto/duniter_signature.rs
+++ b/src/crypto/duniter_signature.rs
@@ -6,8 +6,8 @@ pub struct DuniterSignature([u8; SIGNATURE_LENGTH]);
 
 /// A DuniterSignature wraps an actuel signature (64 bytes data)
 impl DuniterSignature {
-    pub fn new(signature: [u8; SIGNATURE_LENGTH]) -> DuniterSignature {
-        DuniterSignature(signature)
+    pub fn new(signature: [u8; SIGNATURE_LENGTH]) -> Self {
+        Self(signature)
     }
     pub fn as_bytes(&self) -> [u8; SIGNATURE_LENGTH] {
         self.0
diff --git a/src/lib.rs b/src/lib.rs
index 6d83bd11144c69602f02dcf5d9c482288a072440..ea003ab19903927cec4d6964fb27db963f7e1bd6 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -1,5 +1,7 @@
 pub mod crypto;
 pub mod dubp;
+pub mod cli;
+pub mod bma;
 
 use crate::crypto::duniter_key::{ToDuniterKey};
 
diff --git a/src/main.rs b/src/main.rs
index 8a65a1c67600dfcca5b781b8253dccba30a32086..0eb54a98fac0431efc14c929aa5a1ada64012240 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -1,15 +1,10 @@
 use std::env;
 
-use duniter_mini_client::{compute_pub, compute_sec, compute_key};
-
-use crate::cli::Command;
-use crate::cli::Command::*;
+use duniter_mini_client::{compute_pub, compute_sec, compute_key, cli, bma};
+use duniter_mini_client::cli::Command;
+use duniter_mini_client::cli::Command::{UNKNOWN, PUB, SEC, KEYRING, LOOKUP, CERTIFY};
 use duniter_mini_client::crypto::duniter_key::ScryptDuniterKey;
 
-mod cli;
-mod crypto;
-mod bma;
-
 fn main() {
     let command = Command::from(env::args());