diff --git a/clients/cpu_temp/src/cpu_temp.c b/clients/cpu_temp/src/cpu_temp.c
index a93500245045b349e4be2ea363d673618a68778f..10d8c20602363ad3d4593385c5a438e2e580263d 100644
--- a/clients/cpu_temp/src/cpu_temp.c
+++ b/clients/cpu_temp/src/cpu_temp.c
@@ -29,8 +29,11 @@ int main(int argc, char *argv[]) {
   double cpu_temp;
   char buffer[6];
 
+  int id = atoi(argv[1]);
   int sleep_ms = atoi(argv[2]);
 
+  printf("Started cpu temp (id: %d, delay: %dms)\n", id, sleep_ms);
+
   while (1) {
     if (pread(file_fd, buffer, sizeof(buffer), 0) == -1) {
       perror("Failed to read file");
@@ -42,7 +45,7 @@ int main(int argc, char *argv[]) {
     measurement_t measurement = {
         .data.float64 = cpu_temp,
         .datatype = FLOAT64,
-        .id = atoi(argv[1]),
+        .id = id,
     };
 
     if (send_userspace_message(&userspace_send_handle, measurement) == -1) {
diff --git a/clients/dummy/src/dummy.c b/clients/dummy/src/dummy.c
index 01581cb88327f4821b621a03a62b3c4c23214ff7..2db5e2376e604ddfd802adcbdcb2a94dd52bd7de 100644
--- a/clients/dummy/src/dummy.c
+++ b/clients/dummy/src/dummy.c
@@ -23,13 +23,16 @@ int main(int argc, char *argv[]) {
 
   double step = 0.0;
 
+  int id = atoi(argv[1]);
   int sleep_ms = atoi(argv[2]);
 
+  printf("Started dummy (id: %d, delay: %dms)\n", id, sleep_ms);
+
   while (1) {
     measurement_t measurement = {
         .data.float64 = sin(step),
         .datatype = FLOAT64,
-        .id = atoi(argv[1]),
+        .id = id,
     };
 
     if (send_userspace_message(&userspace_send_handle, measurement) == -1) {
diff --git a/common/src/userspace_comm.c b/common/src/userspace_comm.c
index 7acbc39fe1e2cd07bc4b3f26f83d52ad93a74d71..e3999d7b9d19c3eccfadc74624c558289482e30f 100644
--- a/common/src/userspace_comm.c
+++ b/common/src/userspace_comm.c
@@ -27,10 +27,10 @@ int send_userspace_message(userspace_send_handle_t *handle,
       .measurement = measurement,
   };
 
-  int read = msgsnd(handle->msg_queue_id, &message_queue_message, sizeof(measurement_t),
-         0);
+  int read = msgsnd(handle->msg_queue_id, &message_queue_message,
+                    sizeof(measurement_t), 0);
   if (read == -1) {
-      return -1;
+    return -1;
   }
   return 0;
 }
diff --git a/systemd/clients/cpu-temp.service b/systemd/clients/cpu-temp.service
new file mode 100644
index 0000000000000000000000000000000000000000..139256679e82c9466d6d7fa537a702c935b89dcc
--- /dev/null
+++ b/systemd/clients/cpu-temp.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=CPU Temp
+After=daemon.service
+
+[Service]
+ExecStart=/usr/bin/cpu-temp 2 250
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
diff --git a/systemd/clients/dummy.service b/systemd/clients/dummy.service
new file mode 100644
index 0000000000000000000000000000000000000000..9c75c1d7ef47426ee174adf4fa459227258a0e37
--- /dev/null
+++ b/systemd/clients/dummy.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Dummy
+After=daemon.service
+
+[Service]
+ExecStart=/usr/bin/dummy 1 250
+Restart=always
+
+[Install]
+WantedBy=multi-user.target
diff --git a/systemd/daemon.service b/systemd/daemon.service
new file mode 100644
index 0000000000000000000000000000000000000000..d8e294a6e549c141c8b464543c94d80195c072a7
--- /dev/null
+++ b/systemd/daemon.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Daemon
+After=network.target
+
+[Service]
+ExecStart=/usr/bin/daemon
+Restart=always
+
+[Install]
+WantedBy=multi-user.target