diff --git a/ethernet_interface.cpp b/ethernet_interface.cpp
index 19dfec4..3fd7835 100644
--- a/ethernet_interface.cpp
+++ b/ethernet_interface.cpp
@@ -158,14 +158,8 @@
 InterfaceInfo EthernetInterface::getInterfaceInfo() const
 {
     int sock{-1};
-    struct ifreq ifr
-    {
-        0
-    };
-    struct ethtool_cmd edata
-    {
-        0
-    };
+    ifreq ifr{0};
+    ethtool_cmd edata{0};
     LinkSpeed speed{0};
     Autoneg autoneg{0};
     DuplexMode duplex{0};
@@ -209,9 +203,7 @@
 std::string
     EthernetInterface::getMACAddress(const std::string& interfaceName) const
 {
-    struct ifreq ifr
-    {
-    };
+    ifreq ifr{};
     char macAddress[mac_address::size]{};
 
     int sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_IP);
@@ -511,17 +503,13 @@
     }
 
     // Write the device
-    stream << "["
-           << "Match"
-           << "]\n";
+    stream << "[Match]\n";
     stream << "Name=" << interfaceName() << "\n";
 
     auto addrs = getAddresses();
 
     // write the network section
-    stream << "["
-           << "Network"
-           << "]\n";
+    stream << "[Network]\n";
 #ifdef LINK_LOCAL_AUTOCONFIGURATION
     stream << "LinkLocalAddressing=yes\n";
 #else
@@ -595,9 +583,7 @@
                     addr.second->gateway() != "" && destination != "0.0.0.0" &&
                     destination != "")
                 {
-                    stream << "["
-                           << "Route"
-                           << "]\n";
+                    stream << "[Route]\n";
                     stream << "Gateway=" << addr.second->gateway() << "\n";
                     stream << "Destination=" << destination << "\n";
                 }
diff --git a/ethernet_interface.hpp b/ethernet_interface.hpp
index 8dad0e9..bfe1d54 100644
--- a/ethernet_interface.hpp
+++ b/ethernet_interface.hpp
@@ -205,7 +205,6 @@
 
     /** @brief write the dhcp section **/
     void writeDHCPSection(std::fstream& stream);
-    ;
 
     /** @brief get the NTP server list from the network conf
      *
diff --git a/vlan_interface.cpp b/vlan_interface.cpp
index 6ef1a0c..1b4eaee 100644
--- a/vlan_interface.cpp
+++ b/vlan_interface.cpp
@@ -56,14 +56,10 @@
         elog<InternalFailure>();
     }
 
-    stream << "["
-           << "NetDev"
-           << "]\n";
+    stream << "[NetDev]\n";
     stream << "Name=" << EthernetInterface::interfaceName() << "\n";
-    stream << "Kind=vlan"
-           << "\n";
-    stream << "[VLAN]"
-           << "\n";
+    stream << "Kind=vlan\n";
+    stream << "[VLAN]\n";
     stream << "Id=" << id() << "\n";
     stream.close();
 }
