diff --git a/Makefile.tools b/Makefile.tools
index 8528439..f6cc80b 100644
--- a/Makefile.tools
+++ b/Makefile.tools
bin_PROGRAMS += mesh/meshctl
mesh_meshctl_SOURCES = mesh/main.c \
+ mesh/mesh-net.h \
mesh/node.h mesh/node.c \
mesh/gatt.h mesh/gatt.c \
mesh/crypto.h mesh/crypto.c \
diff --git a/mesh/agent.c b/mesh/agent.c
index 0944862..026f260 100644
--- a/mesh/agent.c
+++ b/mesh/agent.c
#include <lib/bluetooth.h>
#include "client/display.h"
-#include "util.h"
-#include "agent.h"
+#include "mesh/util.h"
+#include "mesh/agent.h"
#define AGENT_PROMPT COLOR_RED "[agent]" COLOR_OFF " "
diff --git a/mesh/config-client.c b/mesh/config-client.c
index a0f6eee..d80f784 100644
--- a/mesh/config-client.c
+++ b/mesh/config-client.c
#include "src/shared/util.h"
#include "client/display.h"
-#include "mesh-net.h"
-#include "keys.h"
-#include "net.h"
-#include "node.h"
-#include "prov-db.h"
-#include "util.h"
-#include "config-model.h"
+#include "mesh/mesh-net.h"
+#include "mesh/keys.h"
+#include "mesh/net.h"
+#include "mesh/node.h"
+#include "mesh/prov-db.h"
+#include "mesh/util.h"
+#include "mesh/config-model.h"
#define MIN_COMPOSITION_LEN 16
diff --git a/mesh/config-server.c b/mesh/config-server.c
index 14e5d7b..4710ede 100644
--- a/mesh/config-server.c
+++ b/mesh/config-server.c
#include "src/shared/util.h"
#include "client/display.h"
-#include "mesh-net.h"
-#include "keys.h"
-#include "net.h"
-#include "node.h"
-#include "prov-db.h"
-#include "util.h"
-#include "config-model.h"
+#include "mesh/mesh-net.h"
+#include "mesh/keys.h"
+#include "mesh/net.h"
+#include "mesh/node.h"
+#include "mesh/prov-db.h"
+#include "mesh/util.h"
+#include "mesh/config-model.h"
static bool server_msg_recvd(uint16_t src, uint8_t *data,
uint16_t len, void *user_data)
diff --git a/mesh/crypto.c b/mesh/crypto.c
index 189624e..efb9df8 100644
--- a/mesh/crypto.c
+++ b/mesh/crypto.c
#endif
#include "src/shared/util.h"
-#include "mesh-net.h"
-#include "crypto.h"
+#include "mesh/mesh-net.h"
+#include "mesh/crypto.h"
static int alg_new(int fd, const void *keyval, socklen_t keylen,
size_t mic_size)
diff --git a/mesh/gatt.c b/mesh/gatt.c
index b981054..f9615b3 100644
--- a/mesh/gatt.c
+++ b/mesh/gatt.c
#include "lib/bluetooth.h"
#include "lib/uuid.h"
#include "client/display.h"
-#include "node.h"
-#include "util.h"
-#include "gatt.h"
-#include "prov.h"
-#include "net.h"
+#include "mesh/node.h"
+#include "mesh/util.h"
+#include "mesh/gatt.h"
+#include "mesh/prov.h"
+#include "mesh/net.h"
#define MESH_PROV_DATA_OUT_UUID_STR "00002adc-0000-1000-8000-00805f9b34fb"
#define MESH_PROXY_DATA_OUT_UUID_STR "00002ade-0000-1000-8000-00805f9b34fb"
diff --git a/mesh/gatt.h b/mesh/gatt.h
index d6e5ec3..2f7a3fc 100644
--- a/mesh/gatt.h
+++ b/mesh/gatt.h
#endif
#include "gdbus/gdbus.h"
-#include "node.h"
+#include "mesh/node.h"
uint16_t mesh_gatt_sar(uint8_t **pkt, uint16_t size);
bool mesh_gatt_is_child(GDBusProxy *proxy, GDBusProxy *parent,
diff --git a/mesh/main.c b/mesh/main.c
index a347484..0a7fc1e 100644
--- a/mesh/main.c
+++ b/mesh/main.c
#include "gdbus/gdbus.h"
#include "monitor/uuid.h"
#include "client/display.h"
-#include "mesh-net.h"
-#include "gatt.h"
-#include "crypto.h"
-#include "node.h"
-#include "net.h"
-#include "keys.h"
-#include "prov.h"
-#include "util.h"
-#include "agent.h"
-#include "prov-db.h"
-#include "config-model.h"
-#include "onoff-model.h"
+#include "mesh/mesh-net.h"
+#include "mesh/gatt.h"
+#include "mesh/crypto.h"
+#include "mesh/node.h"
+#include "mesh/net.h"
+#include "mesh/keys.h"
+#include "mesh/prov.h"
+#include "mesh/util.h"
+#include "mesh/agent.h"
+#include "mesh/prov-db.h"
+#include "mesh/config-model.h"
+#include "mesh/onoff-model.h"
/* String display constants */
#define COLORED_NEW COLOR_GREEN "NEW" COLOR_OFF
diff --git a/mesh/net.c b/mesh/net.c
index fb2d200..2d75c4f 100644
--- a/mesh/net.c
+++ b/mesh/net.c
#include "src/shared/util.h"
#include "client/display.h"
-#include "crypto.h"
-#include "gatt.h"
-#include "mesh-net.h"
-#include "util.h"
-#include "keys.h"
-#include "node.h"
-#include "prov-db.h"
-#include "net.h"
+#include "mesh/crypto.h"
+#include "mesh/gatt.h"
+#include "mesh/mesh-net.h"
+#include "mesh/util.h"
+#include "mesh/keys.h"
+#include "mesh/node.h"
+#include "mesh/prov-db.h"
+#include "mesh/net.h"
struct address_range
{
diff --git a/mesh/net.h b/mesh/net.h
index 00866cb..b357afa 100644
--- a/mesh/net.h
+++ b/mesh/net.h
#endif
#include "gdbus/gdbus.h"
-#include "node.h"
+#include "mesh/node.h"
typedef void (*net_mesh_session_open_callback)(int status);
diff --git a/mesh/node.c b/mesh/node.c
index ba8d4b6..9c00488 100644
--- a/mesh/node.c
+++ b/mesh/node.c
#include "src/shared/util.h"
#include "gdbus/gdbus.h"
#include "monitor/uuid.h"
-#include "mesh-net.h"
-#include "config-model.h"
-#include "node.h"
-#include "keys.h"
-#include "gatt.h"
-#include "net.h"
-#include "prov-db.h"
-#include "util.h"
+#include "mesh/mesh-net.h"
+#include "mesh/config-model.h"
+#include "mesh/node.h"
+#include "mesh/keys.h"
+#include "mesh/gatt.h"
+#include "mesh/net.h"
+#include "mesh/prov-db.h"
+#include "mesh/util.h"
struct mesh_model {
struct mesh_model_ops cbs;
diff --git a/mesh/onoff-model.c b/mesh/onoff-model.c
index 61c6ed6..e82dac4 100644
--- a/mesh/onoff-model.c
+++ b/mesh/onoff-model.c
#include "client/display.h"
#include "src/shared/util.h"
-#include "mesh-net.h"
-#include "keys.h"
-#include "net.h"
-#include "node.h"
-#include "prov-db.h"
-#include "util.h"
-#include "onoff-model.h"
+#include "mesh/mesh-net.h"
+#include "mesh/keys.h"
+#include "mesh/net.h"
+#include "mesh/node.h"
+#include "mesh/prov-db.h"
+#include "mesh/util.h"
+#include "mesh/onoff-model.h"
static uint8_t trans_id;
static uint16_t onoff_app_idx = APP_IDX_INVALID;
diff --git a/mesh/prov-db.c b/mesh/prov-db.c
index aad6145..a012ef8 100644
--- a/mesh/prov-db.c
+++ b/mesh/prov-db.c
#include "src/shared/util.h"
#include "client/display.h"
-#include "mesh-net.h"
-#include "crypto.h"
-#include "keys.h"
-#include "net.h"
-#include "node.h"
-#include "util.h"
-#include "prov-db.h"
+#include "mesh/mesh-net.h"
+#include "mesh/crypto.h"
+#include "mesh/keys.h"
+#include "mesh/net.h"
+#include "mesh/node.h"
+#include "mesh/util.h"
+#include "mesh/prov-db.h"
#define CHECK_KEY_IDX_RANGE(x) (((x) >= 0) && ((x) <= 4095))
diff --git a/mesh/prov.c b/mesh/prov.c
index 89fc884..32785dd 100644
--- a/mesh/prov.c
+++ b/mesh/prov.c
#include "gdbus/gdbus.h"
#include "monitor/uuid.h"
#include "client/display.h"
-#include "node.h"
-#include "gatt.h"
-#include "crypto.h"
-#include "mesh-net.h"
-#include "util.h"
-#include "agent.h"
-#include "prov.h"
-#include "net.h"
+#include "mesh/node.h"
+#include "mesh/gatt.h"
+#include "mesh/crypto.h"
+#include "mesh/mesh-net.h"
+#include "mesh/util.h"
+#include "mesh/agent.h"
+#include "mesh/prov.h"
+#include "mesh/net.h"
/* Provisioning Security Levels */
#define MESH_PROV_SEC_HIGH 2
diff --git a/mesh/util.c b/mesh/util.c
index cb241b3..b084c45 100644
--- a/mesh/util.c
+++ b/mesh/util.c
#include "client/display.h"
#include "src/shared/util.h"
-#include "mesh-net.h"
-#include "util.h"
+#include "mesh/mesh-net.h"
+#include "mesh/util.h"
struct cmd_menu {
const char *name;
diff --git a/mesh/util.h b/mesh/util.h
index 8212b53..eaf4857 100644
--- a/mesh/util.h
+++ b/mesh/util.h
#include <stdbool.h>
-#include "node.h"
+#include "mesh/node.h"
#define OP_UNRELIABLE 0x0100