diff --git a/sphinx-key/hmq.html b/sphinx-key/hmq.html
new file mode 100644
index 0000000..8e534b8
--- /dev/null
+++ b/sphinx-key/hmq.html
@@ -0,0 +1,202 @@
+
+
+
+
+
+
+ HMQ CLIENT
+
+
+
+
+
+
+
+
+
Connection
+ {{ connection.state }}
+ ({{ connection.error }})
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Subscriptions
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+ QoS
+ {{ info.qos }}
+
+
+
+
+ Topic
+ {{ filter }}
+
+
+
+
+
+
+
+
+
+
+
Messages
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
{{ message.topic }}:
+ {{ message.payload }}
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/sphinx-key/go.sh b/sphinx-key/run.sh
similarity index 100%
rename from sphinx-key/go.sh
rename to sphinx-key/run.sh
diff --git a/sphinx-key/src/clear.rs b/sphinx-key/src/clear.rs
index e979f32..8292bd3 100644
--- a/sphinx-key/src/clear.rs
+++ b/sphinx-key/src/clear.rs
@@ -1,17 +1,12 @@
-#![allow(unused_imports)]
-
use esp_idf_sys as _; // If using the `binstart` feature of `esp-idf-sys`, always keep this module imported
use esp_idf_svc::nvs::*;
use esp_idf_svc::nvs_storage::EspNvsStorage;
-
-use embedded_svc::httpd::*;
-use embedded_svc::wifi::*;
use embedded_svc::storage::Storage;
use std::sync::Arc;
-fn main() -> Result<()> {
+fn main() -> anyhow::Result<()> {
let default_nvs = Arc::new(EspDefaultNvs::new()?);
let mut store = EspNvsStorage::new_default(default_nvs.clone(), "sphinx", true).expect("no storage");
store.remove("config").expect("couldnt remove config 1");
diff --git a/sphinx-key/src/conn/http.rs b/sphinx-key/src/conn/http.rs
index 989eac3..f21cc1c 100644
--- a/sphinx-key/src/conn/http.rs
+++ b/sphinx-key/src/conn/http.rs
@@ -1,12 +1,16 @@
-use crate::conn::{Params, Config};
use crate::conn::html;
+use crate::core::config::Config;
-use url;
use embedded_svc::httpd::*;
use esp_idf_svc::httpd as idf;
use std::sync::{Condvar, Mutex, Arc};
use embedded_svc::httpd::registry::Registry;
-use esp_idf_sys::{self};
+use serde::Deserialize;
+
+#[derive(Clone, Debug, Deserialize)]
+pub struct Params {
+ pub config: String
+}
#[allow(unused_variables)]
pub fn config_server(mutex: Arc<(Mutex