diff --git a/po/lang/de/rmrf.po b/po/lang/de/rmrf.po
index f50b152ba28a86536921630d6e7c8310b86cb5f3..b5af550bcde912aea730c335c2759e5a69a28f99 100644
--- a/po/lang/de/rmrf.po
+++ b/po/lang/de/rmrf.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: rmrf 0.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-11-09 17:18+0100\n"
+"POT-Creation-Date: 2021-01-01 19:08+0100\n"
 "PO-Revision-Date: 2019-09-29 02:22+0200\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -21,6 +21,6 @@ msgstr ""
 msgid "Detected key: %8x (ct=%i)"
 msgstr "Erkannte Taste: %8x (ct=%i"
 
-#: src/app/rmrf.cpp:24
+#: src/app/rmrf.cpp:27
 msgid "Starting RMRF…"
 msgstr "Starte RMRF…"
diff --git a/po/lang/en/rmrf.po b/po/lang/en/rmrf.po
index 97ca3fa48a3c5689677d593946c457f3991a073f..cba055e4b2e2ca5b6983fbdae927bbf6a2f95f33 100644
--- a/po/lang/en/rmrf.po
+++ b/po/lang/en/rmrf.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: rmrf 0.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-11-09 17:18+0100\n"
+"POT-Creation-Date: 2021-01-01 19:08+0100\n"
 "PO-Revision-Date: 2019-09-29 02:22+0200\n"
 "Last-Translator: Automatically generated\n"
 "Language-Team: none\n"
@@ -21,6 +21,6 @@ msgstr ""
 msgid "Detected key: %8x (ct=%i)"
 msgstr ""
 
-#: src/app/rmrf.cpp:24
+#: src/app/rmrf.cpp:27
 msgid "Starting RMRF…"
 msgstr ""
diff --git a/po/tpl/rmrf.pot b/po/tpl/rmrf.pot
index c06700aa9948ee9d4a753fd427e601541d95f699..63ece2ec8f5cba7d419bcfc8a9ac41b57c7b6343 100644
--- a/po/tpl/rmrf.pot
+++ b/po/tpl/rmrf.pot
@@ -6,7 +6,7 @@
 msgid   ""
 msgstr  "Project-Id-Version: rmrf 0.1\n"
         "Report-Msgid-Bugs-To: \n"
-        "POT-Creation-Date: 2019-11-09 17:18+0100\n"
+        "POT-Creation-Date: 2021-01-02 20:30+0100\n"
         "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
         "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
         "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -20,6 +20,6 @@ msgstr  "Project-Id-Version: rmrf 0.1\n"
 msgid   "Detected key: %8x (ct=%i)"
 msgstr  ""
 
-#: src/app/rmrf.cpp:24
+#: src/app/rmrf.cpp:27
 msgid   "Starting RMRF…"
 msgstr  ""
diff --git a/src/app/rmrf.cpp b/src/app/rmrf.cpp
index 745ded790347c8899f40c17742ac2c3d40387a4d..a7f2b3a20277512953027fa6b4059d9b4301a557 100644
--- a/src/app/rmrf.cpp
+++ b/src/app/rmrf.cpp
@@ -8,9 +8,12 @@
 
 #include "ui/view.hpp"
 
+#include <iostream>
+
 int main() {
     using rmrf::ui::display;
 
+    std::cout << "Hallo" << std::endl;
     setlocale(LC_ALL, "");
     bindtextdomain("rmrf", "/usr/share/locale");
     textdomain("rmrf");
diff --git a/src/net/async_server.cpp b/src/net/async_server.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..94b3098e9e78293197f68438c6b2510c9394acd7
--- /dev/null
+++ b/src/net/async_server.cpp
@@ -0,0 +1,47 @@
+/*
+ * async_server.cpp
+ *
+ *  Created on: 02.01.2021
+ *      Author: doralitze
+ */
+#include <ev++.h>
+#include <utility>
+
+#include "async_server.hpp"
+
+
+namespace rmrf::net::asio {
+
+async_server_socket::async_server_socket(auto_fd&& socket_fd) : socket(std::forward(socket_fd)) {
+    // This constructor got a constructed socket as an argument
+    // and forwards it to libev
+    io.set<async_server_socket, &async_server_socket::cb_ev>(this);
+    io.start(this->socket, ev::READ);
+}
+
+async_server_socket::~async_server_socket() {
+    // Remove this socket from libev ...
+	io.stop();
+}
+
+void async_server_socket::cb_ev(::ev::io &w, int events) {
+	(void) w;
+
+	if (events & ::ev::READ) {
+		// Handle incoming clients
+		auto ah = this->get_accept_handler();
+	}
+
+	if (events & ::ev::WRITE) {
+		// Handle sending data which should be none here
+	}
+
+	if (events & ::ev::ERROR) {
+		// Handle errors
+		// Rebind socket if missed iov res else
+		// Log and throw?
+	}
+}
+
+}
+
diff --git a/src/net/async_server.hpp b/src/net/async_server.hpp
index 8485ee59e5fd0998212c7c71c498488bad4bc5c2..2a3c7896caae1e8aefbc1af75cc68615150ca7ca 100644
--- a/src/net/async_server.hpp
+++ b/src/net/async_server.hpp
@@ -37,6 +37,8 @@ public:
     }
 
 public:
+	void cb_ev(::ev::io &w, int events);
+
     accept_handler_type get_accept_handler() const {
         return on_accept;
     }