diff --git a/src/rust/amadeus-rs/amadeus/src/amadeus.rs b/src/rust/amadeus-rs/amadeus/src/amadeus.rs
index a9af04b6b5182903cdc462a59ad5f3f855a33a22..235b6fff78033409d6d5b2e8d3e66f7db832a1a8 100644
--- a/src/rust/amadeus-rs/amadeus/src/amadeus.rs
+++ b/src/rust/amadeus-rs/amadeus/src/amadeus.rs
@@ -7,11 +7,7 @@ use crate::{
 };
 use amadeus_macro::either;
 use eframe::{egui, App};
-use lkt_lib::{
-    query::LektorQuery,
-    response::LektorFormatedResponse,
-    types::{LektorState, Playlist},
-};
+use lkt_lib::{Kara, LektorFormatedResponse, LektorQuery, LektorState, Playlist};
 use log::debug;
 use std::{
     sync::mpsc::{Receiver, Sender},
@@ -412,7 +408,7 @@ impl Amadeus<'_> {
     }
 
     fn fill_debug_values(&mut self) {
-        let default_kara_card = KaraCard::new(lkt_lib::types::Kara {
+        let default_kara_card = KaraCard::new(Kara {
             id: 1000,
             source_name: "Totoro".to_owned(),
             song_type: "OP".to_owned(),
@@ -424,7 +420,7 @@ impl Amadeus<'_> {
             is_available: false,
         });
 
-        self.lektord_current_kara = Some(KaraCard::new(lkt_lib::types::Kara {
+        self.lektord_current_kara = Some(KaraCard::new(Kara {
             id: 3000,
             source_name: "Umineko no Naku Koro ni Saku".to_owned(),
             song_type: "ED".to_owned(),
diff --git a/src/rust/amadeus-rs/amadeus/src/cards/card.rs b/src/rust/amadeus-rs/amadeus/src/cards/card.rs
index 47365d262e569a65e24f1a99b2a5a65d8c765a3b..0eabb2026a765fc6a263896bb4014dd49f1cfcbe 100644
--- a/src/rust/amadeus-rs/amadeus/src/cards/card.rs
+++ b/src/rust/amadeus-rs/amadeus/src/cards/card.rs
@@ -1,6 +1,6 @@
 use crate::{action, constants, utils};
 use amadeus_macro::either;
-use lkt_lib::types::*;
+use lkt_lib::*;
 
 /// A simple card trait
 pub trait Card<'a, LktType: LektorType<'a>>: ToString + Clone {
diff --git a/src/rust/amadeus-rs/amadeus/src/cards/collection.rs b/src/rust/amadeus-rs/amadeus/src/cards/collection.rs
index 4cd507bdf5c88c1e18925d9ad291aaa68d66a9c9..1966ea2ece73cc1a6ba2d78c91948076c890d338 100644
--- a/src/rust/amadeus-rs/amadeus/src/cards/collection.rs
+++ b/src/rust/amadeus-rs/amadeus/src/cards/collection.rs
@@ -1,6 +1,6 @@
 use crate::{action, cards::card::*, constants, utils};
 use amadeus_macro::either;
-use lkt_lib::types::{Kara, LektorType};
+use lkt_lib::{Kara, LektorType};
 use std::{borrow::Borrow, cmp::min, marker::PhantomData};
 
 pub type KaraCardCollection<'a> = CardCollection<'a, KaraCard, Kara>;
diff --git a/src/rust/amadeus-rs/amadeus/src/playlists.rs b/src/rust/amadeus-rs/amadeus/src/playlists.rs
index b4a642567a17dd74f5a4606db85207de94bf17fc..95aa96fa5fa8f6a4b643b836ce1855765a9e27d6 100644
--- a/src/rust/amadeus-rs/amadeus/src/playlists.rs
+++ b/src/rust/amadeus-rs/amadeus/src/playlists.rs
@@ -1,4 +1,4 @@
-use lkt_lib::types::{Kara, LektorType, Playlist};
+use lkt_lib::{Kara, LektorType, Playlist};
 use std::collections::{HashMap, HashSet};
 
 use crate::{action, constants, utils, widgets};
diff --git a/src/rust/amadeus-rs/amadeus/src/utils/deamon.rs b/src/rust/amadeus-rs/amadeus/src/utils/deamon.rs
index 481f06dacc2b500c9fe858e1f41e0cc605cf516f..f7d312b3f251e366fd6dbb79a6184f27c990bb69 100644
--- a/src/rust/amadeus-rs/amadeus/src/utils/deamon.rs
+++ b/src/rust/amadeus-rs/amadeus/src/utils/deamon.rs
@@ -1,6 +1,6 @@
 #![allow(dead_code)]
 
-use lkt_lib::{query::*, response::LektorFormatedResponse};
+use lkt_lib::*;
 use log::error;
 use std::{
     cell::Cell,
@@ -36,8 +36,8 @@ pub struct CommandDeamon {
 }
 
 pub type StatusDeamonMessageType = (
-    lkt_lib::response::PlaybackStatus,
-    Option<lkt_lib::response::CurrentKara>,
+    LektorPlaybackStatusResponse,
+    Option<LektorCurrentKaraResponse>,
 );
 
 pub struct StatusDeamon {
@@ -92,7 +92,7 @@ impl Deamon for CommandDeamon {
     implement_deamon_joined!();
 
     fn spawn(hostname: String, port: i16) -> io::Result<(Self::Channels, Self)> {
-        let mut connexion = lkt_lib::connexion::LektorConnexion::new(hostname, port)?;
+        let mut connexion = LektorConnexion::new(hostname, port)?;
 
         let (responses_send, responses_recv) = channel::<LektorFormatedResponse>();
         let (commands_send, commands_recv) = channel::<LektorQuery>();
@@ -137,7 +137,7 @@ impl Deamon for StatusDeamon {
     implement_deamon_joined!();
 
     fn spawn(hostname: String, port: i16) -> io::Result<(Self::Channels, StatusDeamon)> {
-        let mut connexion = lkt_lib::connexion::LektorConnexion::new(hostname, port)?;
+        let mut connexion = LektorConnexion::new(hostname, port)?;
 
         let (responses_send, responses_recv) = channel();
         let quit = Arc::<AtomicBool>::new(AtomicBool::default());
@@ -160,7 +160,7 @@ impl Deamon for StatusDeamon {
                         continue;
                     }
                 };
-                match lkt_lib::response::PlaybackStatus::consume(&mut res) {
+                match LektorPlaybackStatusResponse::consume(&mut res) {
                     Err(e) => {
                         error!("failed to build response from formated response: {e}");
                         continue;
@@ -169,15 +169,15 @@ impl Deamon for StatusDeamon {
                 }
             };
 
-            let current = if status.state != lkt_lib::types::LektorState::Stopped {
-                let mut res = match connexion.send_query(lkt_lib::query::LektorQuery::CurrentKara) {
+            let current = if status.state != LektorState::Stopped {
+                let mut res = match connexion.send_query(LektorQuery::CurrentKara) {
                     Ok(res) => res,
                     Err(e) => {
                         error!("failed to send the current kara command to lektor: {e}",);
                         continue;
                     }
                 };
-                match lkt_lib::response::CurrentKara::consume(&mut res) {
+                match LektorCurrentKaraResponse::consume(&mut res) {
                     Ok(res) => Some(res),
                     Err(err) => {
                         error!("failed to build response from formated response: {err}");
diff --git a/src/rust/amadeus-rs/amadeus/src/widgets/mod.rs b/src/rust/amadeus-rs/amadeus/src/widgets/mod.rs
index 1f9ab805afdb623062e42f0704e9fee3db5ce0e5..a0870ec1ded1cb86a3d4d8204bba9d912da58ed1 100644
--- a/src/rust/amadeus-rs/amadeus/src/widgets/mod.rs
+++ b/src/rust/amadeus-rs/amadeus/src/widgets/mod.rs
@@ -4,6 +4,7 @@ mod toggle_switch;
 mod window;
 
 pub use about_window::render_about_window;
+use lkt_lib::Kara;
 pub use progress_bar::progress_bar;
 pub use toggle_switch::toggle_switch;
 pub use window::WindowBuilder;
@@ -71,7 +72,7 @@ pub fn add_labelled_password(
     });
 }
 
-pub fn get_label_text_for_kara(kara: &lkt_lib::types::Kara) -> String {
+pub fn get_label_text_for_kara(kara: &Kara) -> String {
     format!(
         "{} - {} / {} - {} - {} [{}]",
         kara.category, kara.language, kara.source_name, kara.song_type, kara.title, kara.author
diff --git a/src/rust/amadeus-rs/lkt-lib/src/lib.rs b/src/rust/amadeus-rs/lkt-lib/src/lib.rs
index 7eeb178ca4395cedd33b15c280b8ee0e2d43831f..4d272fafa663d56974da0b460962db7373390b05 100644
--- a/src/rust/amadeus-rs/lkt-lib/src/lib.rs
+++ b/src/rust/amadeus-rs/lkt-lib/src/lib.rs
@@ -1,10 +1,16 @@
 //! Contains structurs and mechanisms to build, send and recieve commands
 //! to/from lektord.
 
-pub mod connexion;
+mod connexion;
 mod constants;
 mod macros;
-pub mod query;
-pub mod response;
-pub mod types;
-pub mod uri;
+mod query;
+mod response;
+mod types;
+mod uri;
+
+pub use connexion::*;
+pub use query::*;
+pub use response::*;
+pub use types::*;
+pub use uri::*;
diff --git a/src/rust/amadeus-rs/lkt-lib/src/query.rs b/src/rust/amadeus-rs/lkt-lib/src/query.rs
index 886f19df22e519c2efacf99b181eb1509bfd9fbb..6bcf9b19d8847cc6377998482d322a09ea7e51bb 100644
--- a/src/rust/amadeus-rs/lkt-lib/src/query.rs
+++ b/src/rust/amadeus-rs/lkt-lib/src/query.rs
@@ -4,7 +4,7 @@ use crate::uri::LektorUri;
 use amadeus_macro::lkt_command_from_str;
 use std::string::ToString;
 
-pub enum LektorQueryLineType {
+pub(crate) enum LektorQueryLineType {
     Ok,
     Ack,
     Continuation(usize),
diff --git a/src/rust/amadeus-rs/lkt-lib/src/response.rs b/src/rust/amadeus-rs/lkt-lib/src/response.rs
index ccd2b826466a1333e95efa182d32bb9ec3d6b208..585ebdfa45f94980aff71b284c82f4378a246b1f 100644
--- a/src/rust/amadeus-rs/lkt-lib/src/response.rs
+++ b/src/rust/amadeus-rs/lkt-lib/src/response.rs
@@ -52,12 +52,12 @@ impl TryFrom<Vec<String>> for LektorFormatedResponse {
 
 #[derive(Debug)]
 pub enum LektordResponse {
-    PlaybackStatus(PlaybackStatus),
-    CurrentKara(CurrentKara),
+    PlaybackStatus(LektorPlaybackStatusResponse),
+    CurrentKara(LektorCurrentKaraResponse),
 }
 
 #[derive(Debug)]
-pub struct PlaybackStatus {
+pub struct LektorPlaybackStatusResponse {
     pub elapsed: usize,
     pub songid: Option<usize>,
     pub song: Option<usize>,
@@ -72,7 +72,7 @@ pub struct PlaybackStatus {
     pub repeat: bool,
 }
 
-impl PlaybackStatus {
+impl LektorPlaybackStatusResponse {
     pub fn consume(response: &mut LektorFormatedResponse) -> Result<Self, String> {
         let mut ret = Self {
             elapsed: response.pop("elapsed")?.parse::<usize>().unwrap_or(0),
@@ -109,7 +109,7 @@ impl PlaybackStatus {
 }
 
 #[derive(Debug)]
-pub struct CurrentKara {
+pub struct LektorCurrentKaraResponse {
     pub title: String,
     pub author: String,
     pub source: String,
@@ -119,7 +119,7 @@ pub struct CurrentKara {
     pub language: String,
 }
 
-impl CurrentKara {
+impl LektorCurrentKaraResponse {
     pub fn consume(response: &mut LektorFormatedResponse) -> Result<Self, String> {
         let song_type_number = response.pop("type")?;
         let (song_type, song_number) = match song_type_number.find(char::is_numeric) {
diff --git a/src/rust/amadeus-rs/lkt-rs/src/main.rs b/src/rust/amadeus-rs/lkt-rs/src/main.rs
index 26faabcea3058464b217869bb610b77b3a92d051..01aea5fe5c8f1bb629914ac2f58f9e8a24b8863d 100644
--- a/src/rust/amadeus-rs/lkt-rs/src/main.rs
+++ b/src/rust/amadeus-rs/lkt-rs/src/main.rs
@@ -1,16 +1,16 @@
-use lkt_lib::{connexion::LektorConnexion, query::LektorQuery, response};
+use lkt_lib::*;
 
 fn main() {
     let mut lektor = LektorConnexion::new("localhost".to_owned(), 6600).unwrap();
     if lektor.send_query(LektorQuery::Ping).is_ok() {}
 
     if let Ok(mut response) = lektor.send_query(LektorQuery::CurrentKara) {
-        let current_kara = response::CurrentKara::consume(&mut response);
+        let current_kara = LektorCurrentKaraResponse::consume(&mut response);
         println!("CURRENT {:?}", current_kara);
     }
 
     if let Ok(mut response) = lektor.send_query(LektorQuery::PlaybackStatus) {
-        let playback_status = response::PlaybackStatus::consume(&mut response);
+        let playback_status = LektorPlaybackStatusResponse::consume(&mut response);
         println!("PLAYBACK-STATUS {:?}", playback_status);
     }