diff --git a/tools/benchmark/main.cpp b/tools/benchmark/main.cpp
index 068d133..6823307 100644
--- a/tools/benchmark/main.cpp
+++ b/tools/benchmark/main.cpp
@@ -90,7 +90,7 @@
 {
     BenchResult ret;
     std::mutex mtx;
-    std::unique_lock<std::mutex> lock {mtx};
+    std::unique_lock lock {mtx};
     std::condition_variable serverConVar;
 
     auto boostrap_node = std::make_shared<dht::DhtRunner>();
diff --git a/tools/dnc/dnc.cpp b/tools/dnc/dnc.cpp
index 6bde30e..3923716 100644
--- a/tools/dnc/dnc.cpp
+++ b/tools/dnc/dnc.cpp
@@ -99,7 +99,7 @@
     });
 
     std::mutex mtx;
-    std::unique_lock<std::mutex> lk {mtx};
+    std::unique_lock lk {mtx};
 
     connectionManager->onChannelRequest(
         [&](const std::shared_ptr<dht::crypto::Certificate>&, const std::string& name) {
diff --git a/tools/dsh/dsh.cpp b/tools/dsh/dsh.cpp
index 60637ff..9da0544 100644
--- a/tools/dsh/dsh.cpp
+++ b/tools/dsh/dsh.cpp
@@ -126,7 +126,7 @@
     });
 
     std::mutex mtx;
-    std::unique_lock<std::mutex> lk {mtx};
+    std::unique_lock lk {mtx};
 
     connectionManager->onChannelRequest(
         [&](const std::shared_ptr<dht::crypto::Certificate>&, const std::string& name) {
diff --git a/tools/dvpn/dvpn.cpp b/tools/dvpn/dvpn.cpp
index 47cd95c..021b000 100644
--- a/tools/dvpn/dvpn.cpp
+++ b/tools/dvpn/dvpn.cpp
@@ -97,7 +97,7 @@
     pid_t pid;
     int status;
     std::mutex mtx;
-    std::unique_lock<std::mutex> lk {mtx};
+    std::unique_lock lk {mtx};
     if ((pid = fork()) < 0) {
         perror("fork");
         return -1;
@@ -131,7 +131,7 @@
     int fd; // file descriptor
     struct ifreq ifr;
     std::mutex mtx;
-    std::unique_lock<std::mutex> lk {mtx};
+    std::unique_lock lk {mtx};
     if ((fd = open("/dev/net/tun", O_RDWR)) < 0) {
         perror("Opening /dev/net/tun");
         return -1;
@@ -209,7 +209,7 @@
     : Dvpn(identity, bootstrap, turn_host, turn_user, turn_pass, turn_realm, configuration_file)
 {
     std::mutex mtx;
-    std::unique_lock<std::mutex> lk {mtx};
+    std::unique_lock lk {mtx};
 
     connectionManager->onChannelRequest(
         [&](const std::shared_ptr<dht::crypto::Certificate>&, const std::string& channel) {
