diff --git a/mesh/agent.c b/mesh/agent.c
index b94ae77..4f99bad 100644
--- a/mesh/agent.c
+++ b/mesh/agent.c
#include <ell/ell.h>
#include "mesh/mesh.h"
-#include "mesh/provision.h"
#include "mesh/error.h"
#include "mesh/dbus.h"
#include "mesh/agent.h"
diff --git a/mesh/appkey.c b/mesh/appkey.c
index edf815c..412a2c4 100644
--- a/mesh/appkey.c
+++ b/mesh/appkey.c
#define _GNU_SOURCE
#include <ell/ell.h>
-#include <json-c/json.h>
#include "mesh/mesh-defs.h"
-#include "mesh/mesh.h"
#include "mesh/node.h"
#include "mesh/net.h"
#include "mesh/crypto.h"
diff --git a/mesh/cfgmod-server.c b/mesh/cfgmod-server.c
index a693881..060d7f4 100644
--- a/mesh/cfgmod-server.c
+++ b/mesh/cfgmod-server.c
#include <config.h>
#endif
-#include <unistd.h>
-#include <stdio.h>
-#include <stdint.h>
#include <sys/time.h>
#include <ell/ell.h>
-#include <ell/ell.h>
#include "json-c/json.h"
#include "mesh/mesh-defs.h"
-#include "mesh/mesh.h"
#include "mesh/node.h"
#include "mesh/net.h"
#include "mesh/appkey.h"
diff --git a/mesh/crypto.c b/mesh/crypto.c
index f36518f..085e727 100644
--- a/mesh/crypto.c
+++ b/mesh/crypto.c
#endif
#define _GNU_SOURCE
-#include <fcntl.h>
#include <unistd.h>
-#include <string.h>
#include <sys/socket.h>
#include <ell/ell.h>
diff --git a/mesh/dbus.c b/mesh/dbus.c
index 083a7f7..2b700a1 100644
--- a/mesh/dbus.c
+++ b/mesh/dbus.c
#include <config.h>
#endif
-#include <time.h>
#include <ell/ell.h>
-#include <json-c/json.h>
-
-#include "lib/bluetooth.h"
-#include "lib/mgmt.h"
-
-#include "src/shared/mgmt.h"
#include "mesh/mesh-defs.h"
-#include "mesh/mesh-io.h"
#include "mesh/node.h"
#include "mesh/manager.h"
-#include "mesh/net.h"
-#include "mesh/cfgmod.h"
#include "mesh/mesh.h"
#include "mesh/error.h"
#include "mesh/dbus.h"
diff --git a/mesh/friend.c b/mesh/friend.c
index 84a75a1..da27728 100644
--- a/mesh/friend.c
+++ b/mesh/friend.c
#include <config.h>
#endif
-#include <unistd.h>
-#include <stdio.h>
-#include <sys/time.h>
#include <ell/ell.h>
#include "mesh/mesh-defs.h"
-#include "mesh/mesh.h"
#include "mesh/net-keys.h"
-#include "mesh/node.h"
#include "mesh/net.h"
-#include "mesh/crypto.h"
#include "mesh/model.h"
#include "mesh/util.h"
diff --git a/mesh/keyring.c b/mesh/keyring.c
index 4b1460a..4c6d298 100644
--- a/mesh/keyring.c
+++ b/mesh/keyring.c
#endif
#define _GNU_SOURCE
-#include <errno.h>
#include <fcntl.h>
#include <stdio.h>
#include <unistd.h>
#include <dirent.h>
-#include <libgen.h>
-#include <sys/types.h>
#include <sys/stat.h>
#include <ell/ell.h>
#include "mesh/mesh-defs.h"
-#include "mesh/net.h"
-#include "mesh/keyring.h"
-#include "mesh/mesh.h"
#include "mesh/node.h"
+#include "mesh/keyring.h"
const char *dev_key_dir = "/dev_keys";
const char *app_key_dir = "/app_keys";
diff --git a/mesh/main.c b/mesh/main.c
index 93a6468..a621300 100644
--- a/mesh/main.c
+++ b/mesh/main.c
#define _GNU_SOURCE
#include <getopt.h>
-#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <ctype.h>
-#include <signal.h>
#include <sys/stat.h>
#include <ell/ell.h>
-#include <dbus/dbus.h>
-#include <json-c/json.h>
-
#include "lib/bluetooth.h"
#include "lib/mgmt.h"
#include "mesh/mesh.h"
-#include "mesh/net.h"
#include "mesh/dbus.h"
-#include "mesh/storage.h"
static const struct option main_options[] = {
{ "index", required_argument, NULL, 'i' },
diff --git a/mesh/mesh-db.c b/mesh/mesh-db.c
index 255a2e2..5b2868f 100644
--- a/mesh/mesh-db.c
+++ b/mesh/mesh-db.c
#define _GNU_SOURCE
#include <errno.h>
-#include <stdbool.h>
#include <stdio.h>
#include <string.h>
diff --git a/mesh/mesh-io-generic.c b/mesh/mesh-io-generic.c
index 1a42c59..756dcea 100644
--- a/mesh/mesh-io-generic.c
+++ b/mesh/mesh-io-generic.c
#include <sys/time.h>
#include <ell/ell.h>
-#include "lib/bluetooth.h"
-#include "lib/hci.h"
-
#include "monitor/bt.h"
#include "src/shared/hci.h"
#include "mesh/mesh-io.h"
#include "mesh/mesh-io-api.h"
-
#include "mesh/mesh-io-generic.h"
struct mesh_io_private {
diff --git a/mesh/mesh-io.c b/mesh/mesh-io.c
index 8cf6c48..37153ea 100644
--- a/mesh/mesh-io.c
+++ b/mesh/mesh-io.c
#include <ell/ell.h>
#include "lib/bluetooth.h"
-#include "lib/hci.h"
#include "mesh/mesh-defs.h"
-
#include "mesh/mesh-io.h"
#include "mesh/mesh-io-api.h"
diff --git a/mesh/mesh.c b/mesh/mesh.c
index d5b6197..231a6bc 100644
--- a/mesh/mesh.c
+++ b/mesh/mesh.c
#define _GNU_SOURCE
#include <ell/ell.h>
-#include <json-c/json.h>
#include "lib/bluetooth.h"
#include "lib/mgmt.h"
#include "mesh/model.h"
#include "mesh/dbus.h"
#include "mesh/error.h"
-#include "mesh/mesh.h"
#include "mesh/agent.h"
+#include "mesh/mesh.h"
/*
* The default values for mesh configuration. Can be
diff --git a/mesh/net-keys.c b/mesh/net-keys.c
index 0a0e58f..25f4cae 100644
--- a/mesh/net-keys.c
+++ b/mesh/net-keys.c
#include <config.h>
#endif
-#include <stdlib.h>
#include <ell/ell.h>
#include "mesh/crypto.h"
diff --git a/mesh/net.c b/mesh/net.c
index d808e9b..c7aff9a 100644
--- a/mesh/net.c
+++ b/mesh/net.c
#endif
#define _GNU_SOURCE
-#include <stdlib.h>
-#include <stdio.h>
-#include <sys/time.h>
+
#include <ell/ell.h>
-#include <json-c/json.h>
#include "mesh/mesh-defs.h"
#include "mesh/util.h"
-
#include "mesh/crypto.h"
#include "mesh/net-keys.h"
-#include "mesh/mesh.h"
#include "mesh/node.h"
#include "mesh/net.h"
#include "mesh/mesh-io.h"
#include "mesh/storage.h"
#include "mesh/model.h"
#include "mesh/appkey.h"
-#include "mesh/prov.h"
-#include "mesh/provision.h"
#define abs_diff(a, b) ((a) > (b) ? (a) - (b) : (b) - (a))
diff --git a/mesh/node.c b/mesh/node.c
index 8b82053..394f5bf 100644
--- a/mesh/node.c
+++ b/mesh/node.c
#endif
#define _GNU_SOURCE
-#include <stdio.h>
+
#include <sys/time.h>
+
#include <ell/ell.h>
#include <json-c/json.h>
#include "mesh/mesh-defs.h"
-
#include "mesh/mesh.h"
-#include "mesh/mesh-io.h"
#include "mesh/net.h"
#include "mesh/mesh-db.h"
#include "mesh/provision.h"
#include "mesh/storage.h"
#include "mesh/keyring.h"
-#include "mesh/appkey.h"
#include "mesh/model.h"
#include "mesh/cfgmod.h"
#include "mesh/util.h"
diff --git a/mesh/pb-adv.c b/mesh/pb-adv.c
index 915bb19..8762afd 100644
--- a/mesh/pb-adv.c
+++ b/mesh/pb-adv.c
#include <config.h>
#endif
-#include <sys/select.h>
-#include <sys/time.h>
-#include <sys/types.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <termios.h>
-
-#include <ctype.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <getopt.h>
-#include <time.h>
#include <ell/ell.h>
#include "mesh/mesh-defs.h"
-#include "src/shared/ecc.h"
-
-#include "mesh/util.h"
-#include "mesh/net-keys.h"
#include "mesh/crypto.h"
#include "mesh/net.h"
#include "mesh/mesh-io.h"
diff --git a/mesh/prov-acceptor.c b/mesh/prov-acceptor.c
index 2ec0436..7b79fa9 100644
--- a/mesh/prov-acceptor.c
+++ b/mesh/prov-acceptor.c
#include <config.h>
#endif
-#include <sys/select.h>
-#include <sys/time.h>
-#include <sys/types.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <termios.h>
-
-#include <ctype.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <getopt.h>
-#include <time.h>
#include <ell/ell.h>
-#include "mesh/mesh-defs.h"
#include "src/shared/ecc.h"
+#include "mesh/mesh-defs.h"
#include "mesh/util.h"
-#include "mesh/net-keys.h"
#include "mesh/crypto.h"
#include "mesh/net.h"
-#include "mesh/error.h"
#include "mesh/prov.h"
#include "mesh/provision.h"
#include "mesh/pb-adv.h"
diff --git a/mesh/prov-initiator.c b/mesh/prov-initiator.c
index a1f29ca..f147c7a 100644
--- a/mesh/prov-initiator.c
+++ b/mesh/prov-initiator.c
#include <config.h>
#endif
-#include <sys/select.h>
-#include <sys/time.h>
-#include <sys/types.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <termios.h>
-
-#include <ctype.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <getopt.h>
-#include <time.h>
#include <ell/ell.h>
-#include "mesh/mesh-defs.h"
#include "src/shared/ecc.h"
+#include "mesh/mesh-defs.h"
#include "mesh/util.h"
-#include "mesh/net-keys.h"
#include "mesh/crypto.h"
#include "mesh/net.h"
-#include "mesh/error.h"
#include "mesh/prov.h"
#include "mesh/provision.h"
#include "mesh/pb-adv.h"
diff --git a/mesh/storage.c b/mesh/storage.c
index 2e10a4a..1a9945a 100644
--- a/mesh/storage.c
+++ b/mesh/storage.c
#endif
#define _GNU_SOURCE
-#include <errno.h>
+//#include <errno.h>
#include <fcntl.h>
#include <stdio.h>
#include <unistd.h>
#include <libgen.h>
#include <ftw.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-
#include <json-c/json.h>
#include <ell/ell.h>
#include "mesh/mesh-defs.h"
-
-#include "mesh/mesh.h"
#include "mesh/node.h"
-
#include "mesh/net.h"
#include "mesh/appkey.h"
-#include "mesh/model.h"
#include "mesh/mesh-db.h"
-#include "mesh/storage.h"
#include "mesh/util.h"
+#include "mesh/storage.h"
struct write_info {
json_object *jnode;
diff --git a/mesh/util.c b/mesh/util.c
index b3ce1ce..8612322 100644
--- a/mesh/util.c
+++ b/mesh/util.c
#endif
#define _GNU_SOURCE
-#include <stdbool.h>
-#include <stdint.h>
+
#include <stdio.h>
-#include <unistd.h>
-#include <termios.h>
#include <time.h>
-#include <sys/ioctl.h>
#include <sys/time.h>
#include <ell/ell.h>