diff --git a/meson.build b/meson.build
index 89bd910a14d4251de306669a9b8c3ef1ecb0f1e3..082eba15359d65621e3b0afb2cdc47602ebc8160 100644
--- a/meson.build
+++ b/meson.build
@@ -1,7 +1,7 @@
 project('batmen', 'cpp',
     version: '1.0',
     license: 'LGPLv3',
-    default_options: ['cpp_std=c++11'],
+    default_options: ['cpp_std=c++14'],
     meson_version: '>=0.40.0'
 )
 
diff --git a/src/network.cpp b/src/network.cpp
index 8d43f73aebd49d35ea5d6071a225c7642b044266..0ad5656f090a56d0d46210d8f9e3102fcfc96810 100644
--- a/src/network.cpp
+++ b/src/network.cpp
@@ -32,17 +32,13 @@ void Network::bind(const std::string &socket_endpoint)
 
 void Network::write(const string &content)
 {
-    // Let's make sure the sent message is in UTF-8
-    string msg_utf8 = boost::locale::conv::to_utf<char>(content, "UTF-8");
-
-    LOG_F(INFO, "Sending '%s'", msg_utf8.c_str());
-    _socket->send(msg_utf8.data(), msg_utf8.size());
+    _socket->send(zmq::buffer(content), zmq::send_flags::none);
 }
 
 void Network::read(string &received_content)
 {
     zmq::message_t message;
-    _socket->recv(&message);
+    _socket->recv(message, zmq::recv_flags::none);
 
     received_content = string((char*)message.data(), message.size());