diff --git a/hostd/build.rs b/hostd/build.rs
index c12279a..bea0698 100644
--- a/hostd/build.rs
+++ b/hostd/build.rs
@@ -1,6 +1,6 @@
 extern crate varlink_generator;
 
 fn main() {
-    varlink_generator::cargo_build_tosource("src/io.systemd.Hostname.varlink", true);
-    varlink_generator::cargo_build_tosource("src/io.patagia.Hostd.varlink", true);
+    varlink_generator::cargo_build_tosource("src/io.systemd.hostname.varlink", true);
+    varlink_generator::cargo_build_tosource("src/io.patagia.hostd.varlink", true);
 }
diff --git a/hostd/src/io.patagia.Hostd.varlink b/hostd/src/io.patagia.hostd.varlink
similarity index 80%
rename from hostd/src/io.patagia.Hostd.varlink
rename to hostd/src/io.patagia.hostd.varlink
index 46123a8..ea34a12 100644
--- a/hostd/src/io.patagia.Hostd.varlink
+++ b/hostd/src/io.patagia.hostd.varlink
@@ -1,4 +1,4 @@
-interface io.patagia.Hostd
+interface io.patagia.hostd
 
 type Label (
   key: string,
@@ -6,8 +6,7 @@ type Label (
 )
 
 type PatagiaAgentConfig (
-  url: string,
-  extraMounts: [string]string
+  url: ?string
 )
 
 type Machine(
diff --git a/hostd/src/io.systemd.Hostname.varlink b/hostd/src/io.systemd.hostname.varlink
similarity index 100%
rename from hostd/src/io.systemd.Hostname.varlink
rename to hostd/src/io.systemd.hostname.varlink
diff --git a/hostd/src/io_patagia_Hostd.rs b/hostd/src/io_patagia_hostd.rs
similarity index 90%
rename from hostd/src/io_patagia_Hostd.rs
rename to hostd/src/io_patagia_hostd.rs
index a2de13d..19d0df5 100644
--- a/hostd/src/io_patagia_Hostd.rs
+++ b/hostd/src/io_patagia_hostd.rs
@@ -19,7 +19,7 @@ impl ::std::fmt::Display for ErrorKind {
             ErrorKind::Varlink_Error => write!(f, "Varlink Error"),
             ErrorKind::VarlinkReply_Error => write!(f, "Varlink error reply"),
             ErrorKind::InvalidMachineConfig(v) => {
-                write!(f, "io.patagia.Hostd.InvalidMachineConfig: {:#?}", v)
+                write!(f, "io.patagia.hostd.InvalidMachineConfig: {:#?}", v)
             }
         }
     }
@@ -108,7 +108,7 @@ impl From<&varlink::Reply> for ErrorKind {
         match e {
             varlink::Reply {
                 error: Some(ref t), ..
-            } if t == "io.patagia.Hostd.InvalidMachineConfig" => match e {
+            } if t == "io.patagia.hostd.InvalidMachineConfig" => match e {
                 varlink::Reply {
                     parameters: Some(p),
                     ..
@@ -125,7 +125,7 @@ impl From<&varlink::Reply> for ErrorKind {
 pub trait VarlinkCallError: varlink::CallTrait {
     fn reply_invalid_machine_config(&mut self) -> varlink::Result<()> {
         self.reply_struct(varlink::Reply::error(
-            "io.patagia.Hostd.InvalidMachineConfig",
+            "io.patagia.hostd.InvalidMachineConfig",
             None,
         ))
     }
@@ -144,8 +144,7 @@ pub struct r#Machine {
 }
 #[derive(Serialize, Deserialize, Debug, PartialEq, Clone)]
 pub struct r#PatagiaAgentConfig {
-    pub r#url: String,
-    pub r#extraMounts: varlink::StringHashMap<String>,
+    pub r#url: Option<String>,
 }
 #[derive(Serialize, Deserialize, Debug, PartialEq, Clone)]
 pub struct InvalidMachineConfig_Args {}
@@ -204,14 +203,14 @@ impl VarlinkClientInterface for VarlinkClient {
     fn apply(&mut self, r#machine: Machine) -> varlink::MethodCall<Apply_Args, Apply_Reply, Error> {
         varlink::MethodCall::<Apply_Args, Apply_Reply, Error>::new(
             self.connection.clone(),
-            "io.patagia.Hostd.Apply",
+            "io.patagia.hostd.Apply",
             Apply_Args { r#machine },
         )
     }
     fn describe(&mut self) -> varlink::MethodCall<Describe_Args, Describe_Reply, Error> {
         varlink::MethodCall::<Describe_Args, Describe_Reply, Error>::new(
             self.connection.clone(),
-            "io.patagia.Hostd.Describe",
+            "io.patagia.hostd.Describe",
             Describe_Args {},
         )
     }
@@ -226,10 +225,10 @@ pub fn new(inner: Box<dyn VarlinkInterface + Send + Sync>) -> VarlinkInterfacePr
 }
 impl varlink::Interface for VarlinkInterfaceProxy {
     fn get_description(&self) -> &'static str {
-        "interface io.patagia.Hostd\n\ntype Label (\n  key: string,\n  value: string\n)\n\ntype PatagiaAgentConfig (\n  url: string,\n  extraMounts: [string]string\n)\n\ntype Machine(\n  machineId: string,\n  nodeLabels: ?[]Label,\n  patagiaAgent: ?PatagiaAgentConfig\n)\n\nmethod Describe() -> (\n  machine: Machine\n)\n\nmethod Apply(\n  machine: Machine\n) -> ()\n\nerror InvalidMachineConfig()\n"
+        "interface io.patagia.hostd\n\ntype Label (\n  key: string,\n  value: string\n)\n\ntype PatagiaAgentConfig (\n  url: ?string\n)\n\ntype Machine(\n  machineId: string,\n  nodeLabels: ?[]Label,\n  patagiaAgent: ?PatagiaAgentConfig\n)\n\nmethod Describe() -> (\n  machine: Machine\n)\n\nmethod Apply(\n  machine: Machine\n) -> ()\n\nerror InvalidMachineConfig()\n"
     }
     fn get_name(&self) -> &'static str {
-        "io.patagia.Hostd"
+        "io.patagia.hostd"
     }
     fn call_upgraded(
         &self,
@@ -241,7 +240,7 @@ impl varlink::Interface for VarlinkInterfaceProxy {
     fn call(&self, call: &mut varlink::Call) -> varlink::Result<()> {
         let req = call.request.unwrap();
         match req.method.as_ref() {
-            "io.patagia.Hostd.Apply" => {
+            "io.patagia.hostd.Apply" => {
                 if let Some(args) = req.parameters.clone() {
                     let args: Apply_Args = match serde_json::from_value(args) {
                         Ok(v) => v,
@@ -257,7 +256,7 @@ impl varlink::Interface for VarlinkInterfaceProxy {
                     call.reply_invalid_parameter("parameters".into())
                 }
             }
-            "io.patagia.Hostd.Describe" => self.inner.describe(call as &mut dyn Call_Describe),
+            "io.patagia.hostd.Describe" => self.inner.describe(call as &mut dyn Call_Describe),
             m => call.reply_method_not_found(String::from(m)),
         }
     }
diff --git a/hostd/src/io_systemd_Hostname.rs b/hostd/src/io_systemd_hostname.rs
similarity index 100%
rename from hostd/src/io_systemd_Hostname.rs
rename to hostd/src/io_systemd_hostname.rs
diff --git a/hostd/src/main.rs b/hostd/src/main.rs
index 01ff4d2..7f886ef 100644
--- a/hostd/src/main.rs
+++ b/hostd/src/main.rs
@@ -1,48 +1,57 @@
-use std::{collections::HashMap, process::exit};
+use std::process::exit;
 
-use crate::io_patagia_Hostd::{
+use crate::io_patagia_hostd::{
     Call_Apply, Call_Describe, Label, Machine, PatagiaAgentConfig, VarlinkInterface,
 };
 
-mod io_patagia_Hostd;
+mod io_patagia_hostd;
 
-const LISTEN_ADDRESS: &str = "unix:/tmp/io.patagia.Hostd";
+const LISTEN_ADDRESS: &str = "unix:/tmp/io.patagia.hostd";
 
-struct Hostd;
+struct PatagiaHostd;
 
-impl VarlinkInterface for Hostd {
+impl VarlinkInterface for PatagiaHostd {
     fn apply(&self, call: &mut dyn Call_Apply, machine: Machine) -> varlink::Result<()> {
-        println!("Machine: {:#?}", machine);
-        return call.reply();
+        // FIXME: Do something useful
+        println!("Applying machine config: {:#?}", machine);
+        call.reply()
     }
 
     fn describe(&self, call: &mut dyn Call_Describe) -> varlink::Result<()> {
+        // FIXME: Do something useful
         let machine = Machine {
-            machineId: "1".to_string(),
-            nodeLabels: Option::from(vec![Label {
-                key: "key".to_string(),
-                value: "value".to_string(),
-            }]),
-            patagiaAgent: Option::from(PatagiaAgentConfig {
-                url: "https://cdn.patagia.dev/patagia-agent/stable".to_string(),
-                extraMounts: HashMap::new(),
+            machineId: "123456789".to_string(),
+            nodeLabels: Some(vec![
+                Label {
+                    key: "foo".to_string(),
+                    value: "bar".to_string(),
+                },
+                Label {
+                    key: "baz".to_string(),
+                    value: "quz".to_string(),
+                },
+            ]),
+            patagiaAgent: Some(PatagiaAgentConfig {
+                url: None, // Some("https://cdn.patagia.dev/patagia-agent/stable".to_string()),
             }),
         };
-        return call.reply(machine);
+        call.reply(machine)
     }
 }
 
 fn main() {
-    let hostd = Hostd;
-    let hostd_interface = io_patagia_Hostd::new(Box::new(hostd));
+    let hostd = PatagiaHostd;
+    let hostd_iface = io_patagia_hostd::new(Box::new(hostd));
 
     let svc = varlink::VarlinkService::new(
-        "io.patagia.Hostd",
+        "io.patagia.hostd",
         "Host controller for patagia",
         "0.1",
         "https://patagia.dev",
-        vec![Box::new(hostd_interface)],
+        vec![Box::new(hostd_iface)],
     );
+
+    println!("Varlink Listening on {}", LISTEN_ADDRESS);
     let ret: Result<(), varlink::Error> = varlink::listen(
         svc,
         LISTEN_ADDRESS,
@@ -53,6 +62,7 @@ fn main() {
         },
     );
 
+    // Exit with error code
     exit(match ret {
         Ok(_) => 0,
         Err(e) => {