diff --git a/Cargo.lock b/Cargo.lock
index c484e9b..e4ade8e 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -1362,7 +1362,6 @@ dependencies = [
  "serde_json",
  "varlink",
  "varlink_generator",
- "walkdir",
 ]
 
 [[package]]
@@ -2487,15 +2486,6 @@ version = "1.0.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f"
 
-[[package]]
-name = "same-file"
-version = "1.0.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
-dependencies = [
- "winapi-util",
-]
-
 [[package]]
 name = "schannel"
 version = "0.1.27"
@@ -3809,16 +3799,6 @@ dependencies = [
  "atomic-waker",
 ]
 
-[[package]]
-name = "walkdir"
-version = "2.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b"
-dependencies = [
- "same-file",
- "winapi-util",
-]
-
 [[package]]
 name = "want"
 version = "0.3.1"
@@ -3979,15 +3959,6 @@ version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
 
-[[package]]
-name = "winapi-util"
-version = "0.1.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb"
-dependencies = [
- "windows-sys 0.59.0",
-]
-
 [[package]]
 name = "winapi-x86_64-pc-windows-gnu"
 version = "0.4.0"
diff --git a/hostd/src/main.rs b/hostd/src/main.rs
index c9b7a65..3ebbabe 100644
--- a/hostd/src/main.rs
+++ b/hostd/src/main.rs
@@ -1,8 +1,6 @@
 use anyhow::Result;
 
-use internal::ipc::patagia::io_patagia_hostd::{
-    Call_Apply, Call_Describe, Label, Machine, VarlinkInterface,
-};
+use internal::io_patagia_hostd::{Call_Apply, Call_Describe, Label, Machine, VarlinkInterface};
 
 const LISTEN_ADDRESS: &str = "unix:/tmp/patagia/io.patagia.hostd";
 
@@ -37,7 +35,7 @@ impl VarlinkInterface for PatagiaHostd {
 
 fn main() -> Result<()> {
     let hostd = PatagiaHostd;
-    let hostd_iface = internal::ipc::patagia::io_patagia_hostd::new(Box::new(hostd));
+    let hostd_iface = internal::io_patagia_hostd::new(Box::new(hostd));
 
     let svc = varlink::VarlinkService::new(
         "io.patagia.hostd",
diff --git a/internal/Cargo.toml b/internal/Cargo.toml
index 4bff095..f0a2b58 100644
--- a/internal/Cargo.toml
+++ b/internal/Cargo.toml
@@ -11,4 +11,3 @@ varlink = "11.0.1"
 
 [build-dependencies]
 varlink_generator = "10.1.0"
-walkdir = "2.5.0"
diff --git a/internal/build.rs b/internal/build.rs
index 89bc35a..0b22cad 100644
--- a/internal/build.rs
+++ b/internal/build.rs
@@ -1,12 +1,11 @@
 extern crate varlink_generator;
 
-use walkdir::WalkDir;
-
 fn main() {
-    // walk dir to find varlink files
-    for entry in WalkDir::new("src").into_iter().filter_map(|e| e.ok()) {
-        if entry.file_name().to_str().unwrap().ends_with(".varlink") {
-            varlink_generator::cargo_build_tosource(&entry.path().display().to_string(), true);
+    // iterate over all varlink files
+    std::fs::read_dir("src").unwrap().for_each(|f| {
+        let f = f.unwrap();
+        if f.file_name().to_str().unwrap().ends_with(".varlink") {
+            varlink_generator::cargo_build_tosource(&f.path().display().to_string(), true);
         }
-    }
+    });
 }
diff --git a/internal/src/ipc/patagia/io.patagia.hostd.varlink b/internal/src/io.patagia.hostd.varlink
similarity index 100%
rename from internal/src/ipc/patagia/io.patagia.hostd.varlink
rename to internal/src/io.patagia.hostd.varlink
diff --git a/internal/src/ipc/systemd/io.systemd.hostname.varlink b/internal/src/io.systemd.hostname.varlink
similarity index 100%
rename from internal/src/ipc/systemd/io.systemd.hostname.varlink
rename to internal/src/io.systemd.hostname.varlink
diff --git a/internal/src/ipc/patagia/io_patagia_hostd.rs b/internal/src/io_patagia_hostd.rs
similarity index 100%
rename from internal/src/ipc/patagia/io_patagia_hostd.rs
rename to internal/src/io_patagia_hostd.rs
diff --git a/internal/src/ipc/systemd/io_systemd_hostname.rs b/internal/src/io_systemd_hostname.rs
similarity index 100%
rename from internal/src/ipc/systemd/io_systemd_hostname.rs
rename to internal/src/io_systemd_hostname.rs
diff --git a/internal/src/ipc/mod.rs b/internal/src/ipc/mod.rs
deleted file mode 100644
index 8bf455d..0000000
--- a/internal/src/ipc/mod.rs
+++ /dev/null
@@ -1,2 +0,0 @@
-pub mod patagia;
-pub mod systemd;
diff --git a/internal/src/ipc/patagia/mod.rs b/internal/src/ipc/patagia/mod.rs
deleted file mode 100644
index 02666ab..0000000
--- a/internal/src/ipc/patagia/mod.rs
+++ /dev/null
@@ -1 +0,0 @@
-pub mod io_patagia_hostd;
diff --git a/internal/src/ipc/systemd/mod.rs b/internal/src/ipc/systemd/mod.rs
deleted file mode 100644
index e13378d..0000000
--- a/internal/src/ipc/systemd/mod.rs
+++ /dev/null
@@ -1 +0,0 @@
-pub mod io_systemd_hostname;
diff --git a/internal/src/lib.rs b/internal/src/lib.rs
index ce14ad3..8e3b981 100644
--- a/internal/src/lib.rs
+++ b/internal/src/lib.rs
@@ -1 +1,2 @@
-pub mod ipc;
+pub mod io_patagia_hostd;
+pub mod io_systemd_hostname;