diff --git a/Makefile.am b/Makefile.am
index cce6cbcf8fd1add6b148a2d2645385ad9d6936c4..162f95fe798e12e33daaa3632b645784feb7ea4c 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -9,4 +9,4 @@ EXTRA_DIST = \
 			$(DOC_FILES)
 
 pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = dhtcpp.pc
+pkgconfig_DATA = opendht.pc
diff --git a/README.md b/README.md
index 7b33b54aacb38516e329806a8cda2a9c45d3ac45..df30b6c61dbd36f7489d8e29acf734bc190fee63 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-DhtCpp
+OpenDHT
 ===
 A lightweight C++11 Distributed Hash Table implementation
 
@@ -33,7 +33,7 @@ TODO
 Examples
 -
 ```c++
-#include <dht.h>
+#include <opendht.h>
 
 int main() {
     dht::DhtRunner node;
@@ -81,5 +81,5 @@ sudo make install
 How-to build a simple client app
 -
 ```bash
-g++ main.cpp -std=c++11 -ldhtcpp -lgnutls
+g++ main.cpp -std=c++11 -lopendht -lgnutls
 ```
diff --git a/configure.ac b/configure.ac
index 3ecd8f2027b56e01ab6ad85145bd07000ecf7f91..94f1fdf3fb762c6859035a1d1ae82285d4f90aa8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,9 +1,11 @@
-AC_INIT(dhtcpp, 0.1)
+AC_INIT(opendht, 0.1)
 AC_CONFIG_AUX_DIR(ac)
 AM_INIT_AUTOMAKE([foreign])
 AC_CONFIG_HEADERS([config.h])
 AC_CONFIG_MACRO_DIR([m4])
 
+CXXFLAGS=-O3
+
 AC_PROG_CC
 AC_PROG_CXX
 AM_PROG_AR
@@ -16,5 +18,5 @@ AX_CXX_COMPILE_STDCXX_11([noext],[mandatory])
 PKG_PROG_PKG_CONFIG()
 PKG_CHECK_MODULES([GNUTLS], [gnutls >= 3.1])
 
-AC_CONFIG_FILES([Makefile src/Makefile dhtcpp.pc])
+AC_CONFIG_FILES([Makefile src/Makefile opendht.pc])
 AC_OUTPUT
diff --git a/dhtcpp.pc.in b/dhtcpp.pc.in
deleted file mode 100644
index a4381383ea6e362d27efe342ac827eb10490c018..0000000000000000000000000000000000000000
--- a/dhtcpp.pc.in
+++ /dev/null
@@ -1,9 +0,0 @@
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-libdir=@libdir@
-includedir=@includedir@
-Name: DhtCpp
-Description: Lightweight C++11 Distributed Hash Table library
-Version: @VERSION@
-Libs: -L${libdir} -ldhtcpp
-Cflags: -I${includedir}
\ No newline at end of file
diff --git a/include/dht.h b/include/opendht.h
similarity index 90%
rename from include/dht.h
rename to include/opendht.h
index d1ed824b652f3df4ffe4ac76a7c290000505a1f9..fb49b5597f44524d75b5e24be5517257c76ac2e3 100644
--- a/include/dht.h
+++ b/include/opendht.h
@@ -30,8 +30,8 @@
 
 #pragma once
 
-#include "dhtcpp/dht.h"
-#include "dhtcpp/value.h"
-#include "dhtcpp/infohash.h"
-#include "dhtcpp/securedht.h"
-#include "dhtcpp/dhtrunner.h"
+#include "opendht/dht.h"
+#include "opendht/value.h"
+#include "opendht/infohash.h"
+#include "opendht/securedht.h"
+#include "opendht/dhtrunner.h"
diff --git a/include/dhtcpp/crypto.h b/include/opendht/crypto.h
similarity index 100%
rename from include/dhtcpp/crypto.h
rename to include/opendht/crypto.h
diff --git a/include/dhtcpp/dht.h b/include/opendht/dht.h
similarity index 100%
rename from include/dhtcpp/dht.h
rename to include/opendht/dht.h
diff --git a/include/dhtcpp/dhtrunner.h b/include/opendht/dhtrunner.h
similarity index 100%
rename from include/dhtcpp/dhtrunner.h
rename to include/opendht/dhtrunner.h
diff --git a/include/dhtcpp/infohash.h b/include/opendht/infohash.h
similarity index 100%
rename from include/dhtcpp/infohash.h
rename to include/opendht/infohash.h
diff --git a/include/dhtcpp/securedht.h b/include/opendht/securedht.h
similarity index 100%
rename from include/dhtcpp/securedht.h
rename to include/opendht/securedht.h
diff --git a/include/dhtcpp/serialize.h b/include/opendht/serialize.h
similarity index 100%
rename from include/dhtcpp/serialize.h
rename to include/opendht/serialize.h
diff --git a/include/dhtcpp/value.h b/include/opendht/value.h
similarity index 100%
rename from include/dhtcpp/value.h
rename to include/opendht/value.h
diff --git a/opendht.pc.in b/opendht.pc.in
new file mode 100644
index 0000000000000000000000000000000000000000..b98f6fbb4b05d30f0eece8defb6ba169592c495c
--- /dev/null
+++ b/opendht.pc.in
@@ -0,0 +1,9 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+Name: OpenDHT
+Description: C++ Distributed Hash Table library
+Version: @VERSION@
+Libs: -L${libdir} -lopendht
+Cflags: -I${includedir}
diff --git a/src/Makefile.am b/src/Makefile.am
index da89a5e1f4019c8667e59b8a6ef8293128e6a6bf..f5c25162f961d56e6237e2ecd8e63dbb3967d96d 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,9 +1,9 @@
-lib_LTLIBRARIES = libdhtcpp.la
+lib_LTLIBRARIES = libopendht.la
 
-AM_CPPFLAGS = -I../include/dhtcpp
-libdhtcpp_la_CXXFLAGS = @CXXFLAGS@
+AM_CPPFLAGS = -I../include/opendht
+libopendht_la_CXXFLAGS = @CXXFLAGS@
 
-libdhtcpp_la_SOURCES = \
+libopendht_la_SOURCES = \
         dht.cpp \
         infohash.cpp \
         value.cpp \
@@ -12,11 +12,11 @@ libdhtcpp_la_SOURCES = \
         dhtrunner.cpp
 
 nobase_include_HEADERS = \
-        ../include/dht.h \
-        ../include/dhtcpp/dht.h \
-        ../include/dhtcpp/infohash.h \
-        ../include/dhtcpp/value.h \
-        ../include/dhtcpp/crypto.h \
-        ../include/dhtcpp/securedht.h \
-        ../include/dhtcpp/dhtrunner.h \
-        ../include/dhtcpp/serialize.h
+        ../include/opendht.h \
+        ../include/opendht/dht.h \
+        ../include/opendht/infohash.h \
+        ../include/opendht/value.h \
+        ../include/opendht/crypto.h \
+        ../include/opendht/securedht.h \
+        ../include/opendht/dhtrunner.h \
+        ../include/opendht/serialize.h