diff --git a/Makefile.in b/Makefile.in
index 99a40c4aa1acc10532fb8fd7e63dcdc3b1b8d785..2b8971799ad07514de763ac54885e4eec300d0fe 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -255,6 +255,8 @@ LIPO = @LIPO@
 LKT_BUILD_STRING = @LKT_BUILD_STRING@
 LKT_COMPILER = @LKT_COMPILER@
 LKT_DEBUG_ENABLED = @LKT_DEBUG_ENABLED@
+LKT_ENDIANES_BIG = @LKT_ENDIANES_BIG@
+LKT_ENDIANES_LITTLE = @LKT_ENDIANES_LITTLE@
 LKT_MAN_BINARY = @LKT_MAN_BINARY@
 LKT_PREFIX_PATH = @LKT_PREFIX_PATH@
 LKT_STATIC_MODULE = @LKT_STATIC_MODULE@
diff --git a/configure b/configure
index 435fd6e97861ca3df65f354d4cf43caa9ebd3d9e..594d0b03e1f784351d8c0768d3ddf75979c29202 100755
--- a/configure
+++ b/configure
@@ -634,6 +634,8 @@ ac_subst_vars='am__EXEEXT_FALSE
 am__EXEEXT_TRUE
 LTLIBOBJS
 LIBOBJS
+LKT_ENDIANES_BIG
+LKT_ENDIANES_LITTLE
 LKT_BUILD_STRING
 LKT_COMPILER
 LKT_MAN_BINARY
@@ -2272,12 +2274,6 @@ as_fn_append ac_header_list " ctypes.h"
 as_fn_append ac_header_list " regex.h"
 as_fn_append ac_header_list " locale.h"
 as_fn_append ac_header_list " assert.h"
-as_fn_append ac_header_list " regex"
-as_fn_append ac_header_list " stdexcept"
-as_fn_append ac_header_list " vector"
-as_fn_append ac_header_list " string"
-as_fn_append ac_header_list " locale"
-as_fn_append ac_header_list " type_traits"
 # Check that the precious variables saved in the cache have kept the same
 # value.
 ac_cache_corrupted=false
@@ -2385,6 +2381,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
+##########
+# CHECKS #
+##########
+
 # Extract the first word of "xxd", so it can be a program name with args.
 set dummy xxd; ac_word=$2
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
@@ -2474,7 +2474,12 @@ if test "$MAN" = "notfound"; then :
   as_fn_error $? "man is required" "$LINENO" 5
 fi
 
-# Checks
+LKT_PATH_SOURCE="$(dirname $(readlink -f "$0"))"
+LKT_PATH_BUILD="$(pwd)"
+if test "$LKT_PATH_SOURCE" = "$LKT_PATH_BUILD"; then :
+  as_fn_error $? "The build directory can't be the same as the source directory" "$LINENO" 5
+fi
+
 # Expand $ac_aux_dir to an absolute path.
 am_aux_dir=`cd "$ac_aux_dir" && pwd`
 
@@ -3807,18 +3812,6 @@ done
 
 
 
-
-
-
-
-
-
-
-
-
-
-
-
 
 
 
@@ -4052,7 +4045,9 @@ _ACEOF
   esac
 
 
-# More rules
+##############
+# MORE RULES #
+##############
 
 # Check whether --enable-silent-rules was given.
 if test "${enable_silent_rules+set}" = set; then :
@@ -13476,10 +13471,10 @@ fi
 
 
 
-# Little or big endian
-LKT_ENDIANES_LITTLE="$(echo -n I | od -to2 | head -n1 | cut -f2 -d" " | cut -c6)"
+###########
+# OPTIONS #
+###########
 
-# Options
 
 # Check whether --with-debug was given.
 if test "${with_debug+set}" = set; then :
@@ -13539,7 +13534,7 @@ _ACEOF
 
 
 
-LKT_BUILD_STRING="$(uname -r) $(uname -m)"
+LKT_BUILD_STRING="$CC $(uname -r) $(uname -m)"
 
 cat >>confdefs.h <<_ACEOF
 #define LKT_BUILD_STRING "$LKT_BUILD_STRING"
@@ -13547,7 +13542,27 @@ _ACEOF
 
 
 
-# CFLAGS
+LKT_ENDIANES_LITTLE="$(echo -n I | od -to2 | head -n1 | cut -f2 -d" " | cut -c6)"
+if test "$LKT_ENDIANES_LITTLE" = "1" ; then
+
+cat >>confdefs.h <<_ACEOF
+#define LKT_ENDIANES_LITTLE /**/
+_ACEOF
+
+
+else
+
+cat >>confdefs.h <<_ACEOF
+#define LKT_ENDIANES_BIG /**/
+_ACEOF
+
+
+fi
+
+##########
+# CFLAGS #
+##########
+
 BASEFLAGS="-Werror -Wall -I../inc/"
 if test "x${LKT_DEBUG_ENABLED}" = "xyes"; then
     BASEFLAGS+=" -g"
@@ -13556,10 +13571,13 @@ else
 fi
 CFLAGS="${BASEFLAGS} -std=c18"
 
-# Output
+##########
+# OUTPUT #
+##########
+
 ac_config_headers="$ac_config_headers inc/lektor/lktconfig.h"
 
-ac_config_files="$ac_config_files Makefile inc/Makefile src/Makefile"
+ac_config_files="$ac_config_files Makefile inc/Makefile src/Makefile man/Makefile"
 
 cat >confcache <<\_ACEOF
 # This file is a shell script that caches the results of configure
@@ -14583,6 +14601,7 @@ do
     "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
     "inc/Makefile") CONFIG_FILES="$CONFIG_FILES inc/Makefile" ;;
     "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
+    "man/Makefile") CONFIG_FILES="$CONFIG_FILES man/Makefile" ;;
 
   *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
   esac
@@ -15858,7 +15877,10 @@ $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
 fi
 
 
-# Conf result
+################
+# CONF RESULTS #
+################
+
 LKT_CONFIG_RESULT="
 ########## Lektor configuration ###########
 #
diff --git a/inc/Makefile.in b/inc/Makefile.in
index 01ac33629990cad1b22c76b519bcab1a3f6425b9..67b1bc66ff3d0ec312150d0c27d2cbfc2c1ea1e0 100644
--- a/inc/Makefile.in
+++ b/inc/Makefile.in
@@ -216,6 +216,8 @@ LIPO = @LIPO@
 LKT_BUILD_STRING = @LKT_BUILD_STRING@
 LKT_COMPILER = @LKT_COMPILER@
 LKT_DEBUG_ENABLED = @LKT_DEBUG_ENABLED@
+LKT_ENDIANES_BIG = @LKT_ENDIANES_BIG@
+LKT_ENDIANES_LITTLE = @LKT_ENDIANES_LITTLE@
 LKT_MAN_BINARY = @LKT_MAN_BINARY@
 LKT_PREFIX_PATH = @LKT_PREFIX_PATH@
 LKT_STATIC_MODULE = @LKT_STATIC_MODULE@
@@ -301,8 +303,8 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 nobase_include_HEADERS = lektor/cmd.h lektor/commands.h \
 	lektor/config.h lektor/database.h lektor/mkv.h lektor/net.h \
-	lektor/reg.h lektor/thread.h lektor/uri.h lektor/module/mpv.h \
-	mthread/mthread.h mthread/mthread_internal.h
+	lektor/reg.h lektor/thread.h lektor/uri.h lektor/bufferfd.h \
+	lektor/common.h lektor/macro.h lektor/queue.h lektor/stack.h
 all: all-am
 
 .SUFFIXES:
@@ -572,7 +574,6 @@ uninstall-am: uninstall-nobase_includeHEADERS
 
 .PRECIOUS: Makefile
 
-# nobase_include_HEADERS += common/bufferfd.h common/common.h common/macro.h common/queue.h common/stack.h
 
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/inc/lektor/lktconfig.h.in b/inc/lektor/lktconfig.h.in
index 591a7fae03df207b26c10d74fc8ec56ac39c5bd4..58c06167260a6d9736245a0f4f062bb7a0148d93 100644
--- a/inc/lektor/lktconfig.h.in
+++ b/inc/lektor/lktconfig.h.in
@@ -18,18 +18,12 @@
 /* Define to 1 if you have the `sqlite3' library (-lsqlite3). */
 #undef HAVE_LIBSQLITE3
 
-/* Define to 1 if you have the <locale> header file. */
-#undef HAVE_LOCALE
-
 /* Define to 1 if you have the <locale.h> header file. */
 #undef HAVE_LOCALE_H
 
 /* Define to 1 if you have the <memory.h> header file. */
 #undef HAVE_MEMORY_H
 
-/* Define to 1 if you have the <regex> header file. */
-#undef HAVE_REGEX
-
 /* Define to 1 if you have the <regex.h> header file. */
 #undef HAVE_REGEX_H
 
@@ -42,9 +36,6 @@
 /* Define to 1 if you have the <stddef.h> header file. */
 #undef HAVE_STDDEF_H
 
-/* Define to 1 if you have the <stdexcept> header file. */
-#undef HAVE_STDEXCEPT
-
 /* Define to 1 if you have the <stdint.h> header file. */
 #undef HAVE_STDINT_H
 
@@ -57,9 +48,6 @@
 /* Define to 1 if you have the <stdnoreturn.h> header file. */
 #undef HAVE_STDNORETURN_H
 
-/* Define to 1 if you have the <string> header file. */
-#undef HAVE_STRING
-
 /* Define to 1 if you have the <strings.h> header file. */
 #undef HAVE_STRINGS_H
 
@@ -72,15 +60,9 @@
 /* Define to 1 if you have the <sys/types.h> header file. */
 #undef HAVE_SYS_TYPES_H
 
-/* Define to 1 if you have the <type_traits> header file. */
-#undef HAVE_TYPE_TRAITS
-
 /* Define to 1 if you have the <unistd.h> header file. */
 #undef HAVE_UNISTD_H
 
-/* Define to 1 if you have the <vector> header file. */
-#undef HAVE_VECTOR
-
 /* Build string */
 #undef LKT_BUILD_STRING
 
@@ -90,6 +72,12 @@
 /* Enable debug */
 #undef LKT_DEBUG_ENABLED
 
+/* Big endian */
+#undef LKT_ENDIANES_BIG
+
+/* Little endian */
+#undef LKT_ENDIANES_LITTLE
+
 /* Path to the man executable */
 #undef LKT_MAN_BINARY
 
diff --git a/inc/lektor/reg.h b/inc/lektor/reg.h
index bc52f2571315a3dfd5c9157e6d836f9092fc902c..5460b531b32658c1523c01679d3444c314bd1cd6 100644
--- a/inc/lektor/reg.h
+++ b/inc/lektor/reg.h
@@ -1,5 +1,5 @@
 #if ! defined(__LKT_REG_H__)
-#define ___LKT_REG_H__
+#define __LKT_REG_H__
 
 struct lkt_state;
 
diff --git a/man/Makefile.in b/man/Makefile.in
new file mode 100644
index 0000000000000000000000000000000000000000..f79404614c6b9bec06b5c64ddc252e11c3cefaaf
--- /dev/null
+++ b/man/Makefile.in
@@ -0,0 +1,533 @@
+# Makefile.in generated by automake 1.16.2 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2020 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+VPATH = @srcdir@
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
+    case $$MAKEFLAGS in \
+      *\\[\ \	]*) \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
+    esac; \
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = man
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/config/m4/libtool.m4 \
+	$(top_srcdir)/config/m4/ltoptions.m4 \
+	$(top_srcdir)/config/m4/ltsugar.m4 \
+	$(top_srcdir)/config/m4/ltversion.m4 \
+	$(top_srcdir)/config/m4/lt~obsolete.m4 \
+	$(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/inc/lektor/lktconfig.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+  for p in $$list; do echo "$$p $$p"; done | \
+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+    if (++n[$$2] == $(am__install_max)) \
+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+    END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
+man1dir = $(mandir)/man1
+am__installdirs = "$(DESTDIR)$(man1dir)"
+NROFF = nroff
+MANS = $(notrans_dist_man1_MANS)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(notrans_dist_man1_MANS) $(srcdir)/Makefile.in
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
+CCASFLAGS = @CCASFLAGS@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DLLTOOL = @DLLTOOL@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
+LKT_BUILD_STRING = @LKT_BUILD_STRING@
+LKT_COMPILER = @LKT_COMPILER@
+LKT_DEBUG_ENABLED = @LKT_DEBUG_ENABLED@
+LKT_ENDIANES_BIG = @LKT_ENDIANES_BIG@
+LKT_ENDIANES_LITTLE = @LKT_ENDIANES_LITTLE@
+LKT_MAN_BINARY = @LKT_MAN_BINARY@
+LKT_PREFIX_PATH = @LKT_PREFIX_PATH@
+LKT_STATIC_MODULE = @LKT_STATIC_MODULE@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+MAKEINFO = @MAKEINFO@
+MAN = $(abs_top_srcdir)/scripts/manpager.sh
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RANLIB = @RANLIB@
+SED = @SED@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+XXD = @XXD@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+notrans_dist_man1_MANS = lektor.man lektord.man lkt.man
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .man .template
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign man/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign man/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+install-man1: $(notrans_dist_man1_MANS)
+	@$(NORMAL_INSTALL)
+	@list1='$(notrans_dist_man1_MANS)'; \
+	list2=''; \
+	test -n "$(man1dir)" \
+	  && test -n "`echo $$list1$$list2`" \
+	  || exit 0; \
+	echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \
+	$(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \
+	{ for i in $$list1; do echo "$$i"; done;  \
+	if test -n "$$list2"; then \
+	  for i in $$list2; do echo "$$i"; done \
+	    | sed -n '/\.1[a-z]*$$/p'; \
+	fi; \
+	} | while read p; do \
+	  if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+	  echo "$$d$$p"; echo "$$p"; \
+	done | \
+	sed 'n;s,.*/,,;p;s,\.[^1][0-9a-z]*$$,.1,' | \
+	sed 'N;N;s,\n, ,g' | { \
+	list=; while read file base inst; do \
+	  if test "$$base" = "$$inst"; then list="$$list $$file"; else \
+	    echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
+	    $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \
+	  fi; \
+	done; \
+	for i in $$list; do echo "$$i"; done | $(am__base_list) | \
+	while read files; do \
+	  test -z "$$files" || { \
+	    echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \
+	    $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \
+	done; }
+
+uninstall-man1:
+	@$(NORMAL_UNINSTALL)
+	@list='$(notrans_dist_man1_MANS)'; test -n "$(man1dir)" || exit 0; \
+	files=`{ for i in $$list; do echo "$$i"; done; \
+	} | sed 's,.*/,,;s,\.[^1][0-9a-z]*$$,.1,'`; \
+	dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir)
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+
+distdir: $(BUILT_SOURCES)
+	$(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+	  else \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(MANS)
+installdirs:
+	for dir in "$(DESTDIR)$(man1dir)"; do \
+	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+	done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	if test -z '$(STRIP)'; then \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	      install; \
+	else \
+	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+	fi
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool mostlyclean-am
+
+distclean: distclean-am
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-man
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man: install-man1
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-man
+
+uninstall-man: uninstall-man1
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+	cscopelist-am ctags-am distclean distclean-generic \
+	distclean-libtool distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am install-dvi \
+	install-dvi-am install-exec install-exec-am install-html \
+	install-html-am install-info install-info-am install-man \
+	install-man1 install-pdf install-pdf-am install-ps \
+	install-ps-am install-strip installcheck installcheck-am \
+	installdirs maintainer-clean maintainer-clean-generic \
+	mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
+	ps ps-am tags-am uninstall uninstall-am uninstall-man \
+	uninstall-man1
+
+.PRECIOUS: Makefile
+
+
+.template.man:
+    $(MAN) $<
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/src/Makefile.am b/src/Makefile.am
index d96bbc4eb1449129b6a5bee4c39584d80e00b442..82967b0eda62a125a3a8eb0c4aecdc6d435595be 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -78,7 +78,7 @@ EXTRA_DIST = database/disk.sql database/memory.sql
 bin_PROGRAMS = lektord lkt
 
 ## The lkt client
-lkt_SOURCES = main/lkt.c cmd.c common.c
+lkt_SOURCES = main/lkt.c base/cmd.c base/common.c
 
 ## The lektord server
 lektord_SOURCES = main/server.c
diff --git a/src/Makefile.in b/src/Makefile.in
index 311870f51e0f5156ca1a5c56fa0e7c630b26f8fe..76ff6ee6839de14dfd969c52326193c6022a17b0 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -89,10 +89,12 @@ PRE_UNINSTALL = :
 POST_UNINSTALL = :
 build_triplet = @build@
 host_triplet = @host@
-@LKT_STATIC_MODULE_FALSE@am__append_1 = liblktmodsdl.la
+@LKT_STATIC_MODULE_FALSE@am__append_1 = liblktmodsdl.la liblktmodrepo.la
 @LKT_STATIC_MODULE_TRUE@am__append_2 = -static
 @LKT_STATIC_MODULE_FALSE@am__append_3 = -shared
-@LKT_STATIC_MODULE_TRUE@am__append_4 = -lSDL2 -lmpv
+@LKT_STATIC_MODULE_TRUE@am__append_4 = -static
+@LKT_STATIC_MODULE_FALSE@am__append_5 = -shared
+@LKT_STATIC_MODULE_TRUE@am__append_6 = -lSDL2 -lmpv
 bin_PROGRAMS = lektord$(EXEEXT) lkt$(EXEEXT)
 subdir = src
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -139,14 +141,15 @@ am__uninstall_files_from_dir = { \
          $(am__cd) "$$dir" && rm -f $$files; }; \
   }
 LTLIBRARIES = $(lib_LTLIBRARIES) $(noinst_LTLIBRARIES)
-@LKT_STATIC_MODULE_TRUE@liblektor_la_DEPENDENCIES = liblktmodsdl.la
+@LKT_STATIC_MODULE_TRUE@liblektor_la_DEPENDENCIES = liblktmodsdl.la \
+@LKT_STATIC_MODULE_TRUE@	liblktmodrepo.la
 am__dirstamp = $(am__leading_dot)dirstamp
-am_liblektor_la_OBJECTS = liblektor_la-bufferfd.lo liblektor_la-cmd.lo \
-	liblektor_la-commands.lo liblektor_la-common.lo \
-	liblektor_la-config.lo liblektor_la-mthread.lo \
-	liblektor_la-queue.lo liblektor_la-reg.lo \
-	liblektor_la-stack.lo liblektor_la-thread.lo \
-	liblektor_la-uri.lo database/liblektor_la-disk.lo \
+am_liblektor_la_OBJECTS = base/liblektor_la-bufferfd.lo \
+	base/liblektor_la-cmd.lo base/liblektor_la-common.lo \
+	base/liblektor_la-config.lo base/liblektor_la-queue.lo \
+	base/liblektor_la-reg.lo base/liblektor_la-stack.lo \
+	base/liblektor_la-uri.lo base/liblektor_la-thread.lo \
+	base/liblektor_la-commands.lo database/liblektor_la-disk.lo \
 	database/liblektor_la-memory.lo database/liblektor_la-open.lo \
 	database/liblektor_la-playlist.lo \
 	database/liblektor_la-queue.lo \
@@ -155,8 +158,7 @@ am_liblektor_la_OBJECTS = liblektor_la-bufferfd.lo liblektor_la-cmd.lo \
 	database/liblektor_la-config.lo database/liblektor_la-find.lo \
 	mkv/liblektor_la-mkv.lo mkv/liblektor_la-utils.lo \
 	mkv/liblektor_la-write.lo net/liblektor_la-command.lo \
-	net/liblektor_la-listen.lo net/liblektor_la-message.lo \
-	module/liblektor_la-repo.lo
+	net/liblektor_la-listen.lo net/liblektor_la-message.lo
 liblektor_la_OBJECTS = $(am_liblektor_la_OBJECTS)
 AM_V_lt = $(am__v_lt_@AM_V@)
 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
@@ -165,6 +167,16 @@ am__v_lt_1 =
 liblektor_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(liblektor_la_CFLAGS) \
 	$(CFLAGS) $(liblektor_la_LDFLAGS) $(LDFLAGS) -o $@
+liblktmodrepo_la_LIBADD =
+am_liblktmodrepo_la_OBJECTS = module/liblktmodrepo_la-module_repo.lo \
+	module/liblktmodrepo_la-worker.lo
+liblktmodrepo_la_OBJECTS = $(am_liblktmodrepo_la_OBJECTS)
+liblktmodrepo_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+	$(liblktmodrepo_la_CFLAGS) $(CFLAGS) \
+	$(liblktmodrepo_la_LDFLAGS) $(LDFLAGS) -o $@
+@LKT_STATIC_MODULE_FALSE@am_liblktmodrepo_la_rpath = -rpath $(libdir)
+@LKT_STATIC_MODULE_TRUE@am_liblktmodrepo_la_rpath =
 liblktmodsdl_la_DEPENDENCIES =
 am_liblktmodsdl_la_OBJECTS = module/liblktmodsdl_la-module_sdl2.lo \
 	module/liblktmodsdl_la-mpv.lo
@@ -178,7 +190,8 @@ liblktmodsdl_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
 am_lektord_OBJECTS = main/server.$(OBJEXT)
 lektord_OBJECTS = $(am_lektord_OBJECTS)
 lektord_DEPENDENCIES = liblektor.la
-am_lkt_OBJECTS = main/lkt.$(OBJEXT) cmd.$(OBJEXT) common.$(OBJEXT)
+am_lkt_OBJECTS = main/lkt.$(OBJEXT) base/cmd.$(OBJEXT) \
+	base/common.$(OBJEXT)
 lkt_OBJECTS = $(am_lkt_OBJECTS)
 lkt_LDADD = $(LDADD)
 AM_V_P = $(am__v_P_@AM_V@)
@@ -196,18 +209,17 @@ am__v_at_1 =
 DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/inc/lektor
 depcomp = $(SHELL) $(top_srcdir)/config/depcomp
 am__maybe_remake_depfiles = depfiles
-am__depfiles_remade = ./$(DEPDIR)/cmd.Po ./$(DEPDIR)/common.Po \
-	./$(DEPDIR)/liblektor_la-bufferfd.Plo \
-	./$(DEPDIR)/liblektor_la-cmd.Plo \
-	./$(DEPDIR)/liblektor_la-commands.Plo \
-	./$(DEPDIR)/liblektor_la-common.Plo \
-	./$(DEPDIR)/liblektor_la-config.Plo \
-	./$(DEPDIR)/liblektor_la-mthread.Plo \
-	./$(DEPDIR)/liblektor_la-queue.Plo \
-	./$(DEPDIR)/liblektor_la-reg.Plo \
-	./$(DEPDIR)/liblektor_la-stack.Plo \
-	./$(DEPDIR)/liblektor_la-thread.Plo \
-	./$(DEPDIR)/liblektor_la-uri.Plo \
+am__depfiles_remade = base/$(DEPDIR)/cmd.Po base/$(DEPDIR)/common.Po \
+	base/$(DEPDIR)/liblektor_la-bufferfd.Plo \
+	base/$(DEPDIR)/liblektor_la-cmd.Plo \
+	base/$(DEPDIR)/liblektor_la-commands.Plo \
+	base/$(DEPDIR)/liblektor_la-common.Plo \
+	base/$(DEPDIR)/liblektor_la-config.Plo \
+	base/$(DEPDIR)/liblektor_la-queue.Plo \
+	base/$(DEPDIR)/liblektor_la-reg.Plo \
+	base/$(DEPDIR)/liblektor_la-stack.Plo \
+	base/$(DEPDIR)/liblektor_la-thread.Plo \
+	base/$(DEPDIR)/liblektor_la-uri.Plo \
 	database/$(DEPDIR)/liblektor_la-config.Plo \
 	database/$(DEPDIR)/liblektor_la-disk.Plo \
 	database/$(DEPDIR)/liblektor_la-find.Plo \
@@ -221,7 +233,8 @@ am__depfiles_remade = ./$(DEPDIR)/cmd.Po ./$(DEPDIR)/common.Po \
 	main/$(DEPDIR)/server.Po mkv/$(DEPDIR)/liblektor_la-mkv.Plo \
 	mkv/$(DEPDIR)/liblektor_la-utils.Plo \
 	mkv/$(DEPDIR)/liblektor_la-write.Plo \
-	module/$(DEPDIR)/liblektor_la-repo.Plo \
+	module/$(DEPDIR)/liblktmodrepo_la-module_repo.Plo \
+	module/$(DEPDIR)/liblktmodrepo_la-worker.Plo \
 	module/$(DEPDIR)/liblktmodsdl_la-module_sdl2.Plo \
 	module/$(DEPDIR)/liblktmodsdl_la-mpv.Plo \
 	net/$(DEPDIR)/liblektor_la-command.Plo \
@@ -246,10 +259,10 @@ AM_V_CCLD = $(am__v_CCLD_@AM_V@)
 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
 am__v_CCLD_0 = @echo "  CCLD    " $@;
 am__v_CCLD_1 = 
-SOURCES = $(liblektor_la_SOURCES) $(liblktmodsdl_la_SOURCES) \
-	$(lektord_SOURCES) $(lkt_SOURCES)
-DIST_SOURCES = $(liblektor_la_SOURCES) $(liblktmodsdl_la_SOURCES) \
-	$(lektord_SOURCES) $(lkt_SOURCES)
+SOURCES = $(liblektor_la_SOURCES) $(liblktmodrepo_la_SOURCES) \
+	$(liblktmodsdl_la_SOURCES) $(lektord_SOURCES) $(lkt_SOURCES)
+DIST_SOURCES = $(liblektor_la_SOURCES) $(liblktmodrepo_la_SOURCES) \
+	$(liblktmodsdl_la_SOURCES) $(lektord_SOURCES) $(lkt_SOURCES)
 am__can_run_installinfo = \
   case $$AM_UPDATE_INFO_DIR in \
     n|no|NO) false;; \
@@ -319,6 +332,8 @@ LIPO = @LIPO@
 LKT_BUILD_STRING = @LKT_BUILD_STRING@
 LKT_COMPILER = @LKT_COMPILER@
 LKT_DEBUG_ENABLED = @LKT_DEBUG_ENABLED@
+LKT_ENDIANES_BIG = @LKT_ENDIANES_BIG@
+LKT_ENDIANES_LITTLE = @LKT_ENDIANES_LITTLE@
 LKT_MAN_BINARY = @LKT_MAN_BINARY@
 LKT_PREFIX_PATH = @LKT_PREFIX_PATH@
 LKT_STATIC_MODULE = @LKT_STATIC_MODULE@
@@ -407,36 +422,41 @@ AM_CPPFLAGS = -I$(abs_top_srcdir)/inc/ -I$(abs_top_builddir)/inc/
 ###############
 ###############
 lib_LTLIBRARIES = liblektor.la $(am__append_1)
-@LKT_STATIC_MODULE_TRUE@noinst_LTLIBRARIES = liblktmodsdl.la
+@LKT_STATIC_MODULE_TRUE@noinst_LTLIBRARIES = liblktmodsdl.la liblktmodrepo.la
+liblktmodrepo_la_SOURCES = module/module_repo.c module/worker.c
+liblktmodrepo_la_CFLAGS = -fPIC
+liblktmodrepo_la_LDFLAGS = -avoid-version -pthread $(am__append_2) \
+	$(am__append_3)
 liblktmodsdl_la_SOURCES = module/module_sdl2.c module/mpv.c
 liblktmodsdl_la_CFLAGS = -fPIC `/usr/bin/sdl2-config --cflags`
 liblktmodsdl_la_LDFLAGS = -avoid-version -pthread -lmpv \
-	$(am__append_2) $(am__append_3)
+	$(am__append_4) $(am__append_5)
 liblktmodsdl_la_LIBADD = -lSDL2 -lmpv
 
 # Base sources
 
 # Database sources
 
-# Mkv interactions sources
+# MKV interactions sources
 
 # Net sources
-liblektor_la_SOURCES = bufferfd.c cmd.c commands.c common.c config.c \
-	mthread.c queue.c reg.c stack.c thread.c uri.c database/disk.c \
+liblektor_la_SOURCES = base/bufferfd.c base/cmd.c base/common.c \
+	base/config.c base/queue.c base/reg.c base/stack.c base/uri.c \
+	base/thread.c base/commands.c database/disk.c \
 	database/memory.c database/open.c database/playlist.c \
 	database/queue.c database/stickers.c database/update.c \
 	database/user.c database/config.c database/find.c mkv/mkv.c \
 	mkv/utils.c mkv/write.c net/command.c net/listen.c \
-	net/message.c module/repo.c
+	net/message.c
 
-# Lib conf
+# Liblektor configuration
 liblektor_la_CFLAGS = -fPIC
 liblektor_la_LDFLAGS = -avoid-version -shared -pthread -ljson-c \
-	-lsqlite3 -lcurl $(am__append_4)
-@LKT_STATIC_MODULE_TRUE@liblektor_la_LIBADD = liblktmodsdl.la
+	-lsqlite3 -lcurl $(am__append_6)
+@LKT_STATIC_MODULE_TRUE@liblektor_la_LIBADD = liblktmodsdl.la liblktmodrepo.la
 CLEANFILES = database/disk.c database/memory.c
 EXTRA_DIST = database/disk.sql database/memory.sql
-lkt_SOURCES = main/lkt.c cmd.c common.c
+lkt_SOURCES = main/lkt.c base/cmd.c base/common.c
 lektord_SOURCES = main/server.c
 lektord_LDADD = liblektor.la
 all: all-am
@@ -583,6 +603,32 @@ clean-noinstLTLIBRARIES:
 	  echo rm -f $${locs}; \
 	  rm -f $${locs}; \
 	}
+base/$(am__dirstamp):
+	@$(MKDIR_P) base
+	@: > base/$(am__dirstamp)
+base/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) base/$(DEPDIR)
+	@: > base/$(DEPDIR)/$(am__dirstamp)
+base/liblektor_la-bufferfd.lo: base/$(am__dirstamp) \
+	base/$(DEPDIR)/$(am__dirstamp)
+base/liblektor_la-cmd.lo: base/$(am__dirstamp) \
+	base/$(DEPDIR)/$(am__dirstamp)
+base/liblektor_la-common.lo: base/$(am__dirstamp) \
+	base/$(DEPDIR)/$(am__dirstamp)
+base/liblektor_la-config.lo: base/$(am__dirstamp) \
+	base/$(DEPDIR)/$(am__dirstamp)
+base/liblektor_la-queue.lo: base/$(am__dirstamp) \
+	base/$(DEPDIR)/$(am__dirstamp)
+base/liblektor_la-reg.lo: base/$(am__dirstamp) \
+	base/$(DEPDIR)/$(am__dirstamp)
+base/liblektor_la-stack.lo: base/$(am__dirstamp) \
+	base/$(DEPDIR)/$(am__dirstamp)
+base/liblektor_la-uri.lo: base/$(am__dirstamp) \
+	base/$(DEPDIR)/$(am__dirstamp)
+base/liblektor_la-thread.lo: base/$(am__dirstamp) \
+	base/$(DEPDIR)/$(am__dirstamp)
+base/liblektor_la-commands.lo: base/$(am__dirstamp) \
+	base/$(DEPDIR)/$(am__dirstamp)
 database/$(am__dirstamp):
 	@$(MKDIR_P) database
 	@: > database/$(am__dirstamp)
@@ -633,17 +679,22 @@ net/liblektor_la-listen.lo: net/$(am__dirstamp) \
 	net/$(DEPDIR)/$(am__dirstamp)
 net/liblektor_la-message.lo: net/$(am__dirstamp) \
 	net/$(DEPDIR)/$(am__dirstamp)
+
+liblektor.la: $(liblektor_la_OBJECTS) $(liblektor_la_DEPENDENCIES) $(EXTRA_liblektor_la_DEPENDENCIES) 
+	$(AM_V_CCLD)$(liblektor_la_LINK) -rpath $(libdir) $(liblektor_la_OBJECTS) $(liblektor_la_LIBADD) $(LIBS)
 module/$(am__dirstamp):
 	@$(MKDIR_P) module
 	@: > module/$(am__dirstamp)
 module/$(DEPDIR)/$(am__dirstamp):
 	@$(MKDIR_P) module/$(DEPDIR)
 	@: > module/$(DEPDIR)/$(am__dirstamp)
-module/liblektor_la-repo.lo: module/$(am__dirstamp) \
+module/liblktmodrepo_la-module_repo.lo: module/$(am__dirstamp) \
+	module/$(DEPDIR)/$(am__dirstamp)
+module/liblktmodrepo_la-worker.lo: module/$(am__dirstamp) \
 	module/$(DEPDIR)/$(am__dirstamp)
 
-liblektor.la: $(liblektor_la_OBJECTS) $(liblektor_la_DEPENDENCIES) $(EXTRA_liblektor_la_DEPENDENCIES) 
-	$(AM_V_CCLD)$(liblektor_la_LINK) -rpath $(libdir) $(liblektor_la_OBJECTS) $(liblektor_la_LIBADD) $(LIBS)
+liblktmodrepo.la: $(liblktmodrepo_la_OBJECTS) $(liblktmodrepo_la_DEPENDENCIES) $(EXTRA_liblktmodrepo_la_DEPENDENCIES) 
+	$(AM_V_CCLD)$(liblktmodrepo_la_LINK) $(am_liblktmodrepo_la_rpath) $(liblktmodrepo_la_OBJECTS) $(liblktmodrepo_la_LIBADD) $(LIBS)
 module/liblktmodsdl_la-module_sdl2.lo: module/$(am__dirstamp) \
 	module/$(DEPDIR)/$(am__dirstamp)
 module/liblktmodsdl_la-mpv.lo: module/$(am__dirstamp) \
@@ -665,6 +716,10 @@ lektord$(EXEEXT): $(lektord_OBJECTS) $(lektord_DEPENDENCIES) $(EXTRA_lektord_DEP
 	$(AM_V_CCLD)$(LINK) $(lektord_OBJECTS) $(lektord_LDADD) $(LIBS)
 main/lkt.$(OBJEXT): main/$(am__dirstamp) \
 	main/$(DEPDIR)/$(am__dirstamp)
+base/cmd.$(OBJEXT): base/$(am__dirstamp) \
+	base/$(DEPDIR)/$(am__dirstamp)
+base/common.$(OBJEXT): base/$(am__dirstamp) \
+	base/$(DEPDIR)/$(am__dirstamp)
 
 lkt$(EXEEXT): $(lkt_OBJECTS) $(lkt_DEPENDENCIES) $(EXTRA_lkt_DEPENDENCIES) 
 	@rm -f lkt$(EXEEXT)
@@ -672,6 +727,8 @@ lkt$(EXEEXT): $(lkt_OBJECTS) $(lkt_DEPENDENCIES) $(EXTRA_lkt_DEPENDENCIES)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
+	-rm -f base/*.$(OBJEXT)
+	-rm -f base/*.lo
 	-rm -f database/*.$(OBJEXT)
 	-rm -f database/*.lo
 	-rm -f main/*.$(OBJEXT)
@@ -685,19 +742,18 @@ mostlyclean-compile:
 distclean-compile:
 	-rm -f *.tab.c
 
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cmd.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/common.Po@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblektor_la-bufferfd.Plo@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblektor_la-cmd.Plo@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblektor_la-commands.Plo@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblektor_la-common.Plo@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblektor_la-config.Plo@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblektor_la-mthread.Plo@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblektor_la-queue.Plo@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblektor_la-reg.Plo@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblektor_la-stack.Plo@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblektor_la-thread.Plo@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblektor_la-uri.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@base/$(DEPDIR)/cmd.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@base/$(DEPDIR)/common.Po@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@base/$(DEPDIR)/liblektor_la-bufferfd.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@base/$(DEPDIR)/liblektor_la-cmd.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@base/$(DEPDIR)/liblektor_la-commands.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@base/$(DEPDIR)/liblektor_la-common.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@base/$(DEPDIR)/liblektor_la-config.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@base/$(DEPDIR)/liblektor_la-queue.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@base/$(DEPDIR)/liblektor_la-reg.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@base/$(DEPDIR)/liblektor_la-stack.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@base/$(DEPDIR)/liblektor_la-thread.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@base/$(DEPDIR)/liblektor_la-uri.Plo@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@database/$(DEPDIR)/liblektor_la-config.Plo@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@database/$(DEPDIR)/liblektor_la-disk.Plo@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@database/$(DEPDIR)/liblektor_la-find.Plo@am__quote@ # am--include-marker
@@ -713,7 +769,8 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@mkv/$(DEPDIR)/liblektor_la-mkv.Plo@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@mkv/$(DEPDIR)/liblektor_la-utils.Plo@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@mkv/$(DEPDIR)/liblektor_la-write.Plo@am__quote@ # am--include-marker
-@AMDEP_TRUE@@am__include@ @am__quote@module/$(DEPDIR)/liblektor_la-repo.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@module/$(DEPDIR)/liblktmodrepo_la-module_repo.Plo@am__quote@ # am--include-marker
+@AMDEP_TRUE@@am__include@ @am__quote@module/$(DEPDIR)/liblktmodrepo_la-worker.Plo@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@module/$(DEPDIR)/liblktmodsdl_la-module_sdl2.Plo@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@module/$(DEPDIR)/liblktmodsdl_la-mpv.Plo@am__quote@ # am--include-marker
 @AMDEP_TRUE@@am__include@ @am__quote@net/$(DEPDIR)/liblektor_la-command.Plo@am__quote@ # am--include-marker
@@ -750,82 +807,75 @@ am--depfiles: $(am__depfiles_remade)
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
 
-liblektor_la-bufferfd.lo: bufferfd.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblektor_la_CFLAGS) $(CFLAGS) -MT liblektor_la-bufferfd.lo -MD -MP -MF $(DEPDIR)/liblektor_la-bufferfd.Tpo -c -o liblektor_la-bufferfd.lo `test -f 'bufferfd.c' || echo '$(srcdir)/'`bufferfd.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/liblektor_la-bufferfd.Tpo $(DEPDIR)/liblektor_la-bufferfd.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='bufferfd.c' object='liblektor_la-bufferfd.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblektor_la_CFLAGS) $(CFLAGS) -c -o liblektor_la-bufferfd.lo `test -f 'bufferfd.c' || echo '$(srcdir)/'`bufferfd.c
-
-liblektor_la-cmd.lo: cmd.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblektor_la_CFLAGS) $(CFLAGS) -MT liblektor_la-cmd.lo -MD -MP -MF $(DEPDIR)/liblektor_la-cmd.Tpo -c -o liblektor_la-cmd.lo `test -f 'cmd.c' || echo '$(srcdir)/'`cmd.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/liblektor_la-cmd.Tpo $(DEPDIR)/liblektor_la-cmd.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='cmd.c' object='liblektor_la-cmd.lo' libtool=yes @AMDEPBACKSLASH@
+base/liblektor_la-bufferfd.lo: base/bufferfd.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblektor_la_CFLAGS) $(CFLAGS) -MT base/liblektor_la-bufferfd.lo -MD -MP -MF base/$(DEPDIR)/liblektor_la-bufferfd.Tpo -c -o base/liblektor_la-bufferfd.lo `test -f 'base/bufferfd.c' || echo '$(srcdir)/'`base/bufferfd.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) base/$(DEPDIR)/liblektor_la-bufferfd.Tpo base/$(DEPDIR)/liblektor_la-bufferfd.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='base/bufferfd.c' object='base/liblektor_la-bufferfd.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblektor_la_CFLAGS) $(CFLAGS) -c -o liblektor_la-cmd.lo `test -f 'cmd.c' || echo '$(srcdir)/'`cmd.c
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblektor_la_CFLAGS) $(CFLAGS) -c -o base/liblektor_la-bufferfd.lo `test -f 'base/bufferfd.c' || echo '$(srcdir)/'`base/bufferfd.c
 
-liblektor_la-commands.lo: commands.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblektor_la_CFLAGS) $(CFLAGS) -MT liblektor_la-commands.lo -MD -MP -MF $(DEPDIR)/liblektor_la-commands.Tpo -c -o liblektor_la-commands.lo `test -f 'commands.c' || echo '$(srcdir)/'`commands.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/liblektor_la-commands.Tpo $(DEPDIR)/liblektor_la-commands.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='commands.c' object='liblektor_la-commands.lo' libtool=yes @AMDEPBACKSLASH@
+base/liblektor_la-cmd.lo: base/cmd.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblektor_la_CFLAGS) $(CFLAGS) -MT base/liblektor_la-cmd.lo -MD -MP -MF base/$(DEPDIR)/liblektor_la-cmd.Tpo -c -o base/liblektor_la-cmd.lo `test -f 'base/cmd.c' || echo '$(srcdir)/'`base/cmd.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) base/$(DEPDIR)/liblektor_la-cmd.Tpo base/$(DEPDIR)/liblektor_la-cmd.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='base/cmd.c' object='base/liblektor_la-cmd.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblektor_la_CFLAGS) $(CFLAGS) -c -o liblektor_la-commands.lo `test -f 'commands.c' || echo '$(srcdir)/'`commands.c
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblektor_la_CFLAGS) $(CFLAGS) -c -o base/liblektor_la-cmd.lo `test -f 'base/cmd.c' || echo '$(srcdir)/'`base/cmd.c
 
-liblektor_la-common.lo: common.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblektor_la_CFLAGS) $(CFLAGS) -MT liblektor_la-common.lo -MD -MP -MF $(DEPDIR)/liblektor_la-common.Tpo -c -o liblektor_la-common.lo `test -f 'common.c' || echo '$(srcdir)/'`common.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/liblektor_la-common.Tpo $(DEPDIR)/liblektor_la-common.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='common.c' object='liblektor_la-common.lo' libtool=yes @AMDEPBACKSLASH@
+base/liblektor_la-common.lo: base/common.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblektor_la_CFLAGS) $(CFLAGS) -MT base/liblektor_la-common.lo -MD -MP -MF base/$(DEPDIR)/liblektor_la-common.Tpo -c -o base/liblektor_la-common.lo `test -f 'base/common.c' || echo '$(srcdir)/'`base/common.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) base/$(DEPDIR)/liblektor_la-common.Tpo base/$(DEPDIR)/liblektor_la-common.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='base/common.c' object='base/liblektor_la-common.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblektor_la_CFLAGS) $(CFLAGS) -c -o liblektor_la-common.lo `test -f 'common.c' || echo '$(srcdir)/'`common.c
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblektor_la_CFLAGS) $(CFLAGS) -c -o base/liblektor_la-common.lo `test -f 'base/common.c' || echo '$(srcdir)/'`base/common.c
 
-liblektor_la-config.lo: config.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblektor_la_CFLAGS) $(CFLAGS) -MT liblektor_la-config.lo -MD -MP -MF $(DEPDIR)/liblektor_la-config.Tpo -c -o liblektor_la-config.lo `test -f 'config.c' || echo '$(srcdir)/'`config.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/liblektor_la-config.Tpo $(DEPDIR)/liblektor_la-config.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='config.c' object='liblektor_la-config.lo' libtool=yes @AMDEPBACKSLASH@
+base/liblektor_la-config.lo: base/config.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblektor_la_CFLAGS) $(CFLAGS) -MT base/liblektor_la-config.lo -MD -MP -MF base/$(DEPDIR)/liblektor_la-config.Tpo -c -o base/liblektor_la-config.lo `test -f 'base/config.c' || echo '$(srcdir)/'`base/config.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) base/$(DEPDIR)/liblektor_la-config.Tpo base/$(DEPDIR)/liblektor_la-config.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='base/config.c' object='base/liblektor_la-config.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblektor_la_CFLAGS) $(CFLAGS) -c -o liblektor_la-config.lo `test -f 'config.c' || echo '$(srcdir)/'`config.c
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblektor_la_CFLAGS) $(CFLAGS) -c -o base/liblektor_la-config.lo `test -f 'base/config.c' || echo '$(srcdir)/'`base/config.c
 
-liblektor_la-mthread.lo: mthread.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblektor_la_CFLAGS) $(CFLAGS) -MT liblektor_la-mthread.lo -MD -MP -MF $(DEPDIR)/liblektor_la-mthread.Tpo -c -o liblektor_la-mthread.lo `test -f 'mthread.c' || echo '$(srcdir)/'`mthread.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/liblektor_la-mthread.Tpo $(DEPDIR)/liblektor_la-mthread.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='mthread.c' object='liblektor_la-mthread.lo' libtool=yes @AMDEPBACKSLASH@
+base/liblektor_la-queue.lo: base/queue.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblektor_la_CFLAGS) $(CFLAGS) -MT base/liblektor_la-queue.lo -MD -MP -MF base/$(DEPDIR)/liblektor_la-queue.Tpo -c -o base/liblektor_la-queue.lo `test -f 'base/queue.c' || echo '$(srcdir)/'`base/queue.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) base/$(DEPDIR)/liblektor_la-queue.Tpo base/$(DEPDIR)/liblektor_la-queue.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='base/queue.c' object='base/liblektor_la-queue.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblektor_la_CFLAGS) $(CFLAGS) -c -o liblektor_la-mthread.lo `test -f 'mthread.c' || echo '$(srcdir)/'`mthread.c
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblektor_la_CFLAGS) $(CFLAGS) -c -o base/liblektor_la-queue.lo `test -f 'base/queue.c' || echo '$(srcdir)/'`base/queue.c
 
-liblektor_la-queue.lo: queue.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblektor_la_CFLAGS) $(CFLAGS) -MT liblektor_la-queue.lo -MD -MP -MF $(DEPDIR)/liblektor_la-queue.Tpo -c -o liblektor_la-queue.lo `test -f 'queue.c' || echo '$(srcdir)/'`queue.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/liblektor_la-queue.Tpo $(DEPDIR)/liblektor_la-queue.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='queue.c' object='liblektor_la-queue.lo' libtool=yes @AMDEPBACKSLASH@
+base/liblektor_la-reg.lo: base/reg.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblektor_la_CFLAGS) $(CFLAGS) -MT base/liblektor_la-reg.lo -MD -MP -MF base/$(DEPDIR)/liblektor_la-reg.Tpo -c -o base/liblektor_la-reg.lo `test -f 'base/reg.c' || echo '$(srcdir)/'`base/reg.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) base/$(DEPDIR)/liblektor_la-reg.Tpo base/$(DEPDIR)/liblektor_la-reg.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='base/reg.c' object='base/liblektor_la-reg.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblektor_la_CFLAGS) $(CFLAGS) -c -o liblektor_la-queue.lo `test -f 'queue.c' || echo '$(srcdir)/'`queue.c
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblektor_la_CFLAGS) $(CFLAGS) -c -o base/liblektor_la-reg.lo `test -f 'base/reg.c' || echo '$(srcdir)/'`base/reg.c
 
-liblektor_la-reg.lo: reg.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblektor_la_CFLAGS) $(CFLAGS) -MT liblektor_la-reg.lo -MD -MP -MF $(DEPDIR)/liblektor_la-reg.Tpo -c -o liblektor_la-reg.lo `test -f 'reg.c' || echo '$(srcdir)/'`reg.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/liblektor_la-reg.Tpo $(DEPDIR)/liblektor_la-reg.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='reg.c' object='liblektor_la-reg.lo' libtool=yes @AMDEPBACKSLASH@
+base/liblektor_la-stack.lo: base/stack.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblektor_la_CFLAGS) $(CFLAGS) -MT base/liblektor_la-stack.lo -MD -MP -MF base/$(DEPDIR)/liblektor_la-stack.Tpo -c -o base/liblektor_la-stack.lo `test -f 'base/stack.c' || echo '$(srcdir)/'`base/stack.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) base/$(DEPDIR)/liblektor_la-stack.Tpo base/$(DEPDIR)/liblektor_la-stack.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='base/stack.c' object='base/liblektor_la-stack.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblektor_la_CFLAGS) $(CFLAGS) -c -o liblektor_la-reg.lo `test -f 'reg.c' || echo '$(srcdir)/'`reg.c
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblektor_la_CFLAGS) $(CFLAGS) -c -o base/liblektor_la-stack.lo `test -f 'base/stack.c' || echo '$(srcdir)/'`base/stack.c
 
-liblektor_la-stack.lo: stack.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblektor_la_CFLAGS) $(CFLAGS) -MT liblektor_la-stack.lo -MD -MP -MF $(DEPDIR)/liblektor_la-stack.Tpo -c -o liblektor_la-stack.lo `test -f 'stack.c' || echo '$(srcdir)/'`stack.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/liblektor_la-stack.Tpo $(DEPDIR)/liblektor_la-stack.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='stack.c' object='liblektor_la-stack.lo' libtool=yes @AMDEPBACKSLASH@
+base/liblektor_la-uri.lo: base/uri.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblektor_la_CFLAGS) $(CFLAGS) -MT base/liblektor_la-uri.lo -MD -MP -MF base/$(DEPDIR)/liblektor_la-uri.Tpo -c -o base/liblektor_la-uri.lo `test -f 'base/uri.c' || echo '$(srcdir)/'`base/uri.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) base/$(DEPDIR)/liblektor_la-uri.Tpo base/$(DEPDIR)/liblektor_la-uri.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='base/uri.c' object='base/liblektor_la-uri.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblektor_la_CFLAGS) $(CFLAGS) -c -o liblektor_la-stack.lo `test -f 'stack.c' || echo '$(srcdir)/'`stack.c
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblektor_la_CFLAGS) $(CFLAGS) -c -o base/liblektor_la-uri.lo `test -f 'base/uri.c' || echo '$(srcdir)/'`base/uri.c
 
-liblektor_la-thread.lo: thread.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblektor_la_CFLAGS) $(CFLAGS) -MT liblektor_la-thread.lo -MD -MP -MF $(DEPDIR)/liblektor_la-thread.Tpo -c -o liblektor_la-thread.lo `test -f 'thread.c' || echo '$(srcdir)/'`thread.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/liblektor_la-thread.Tpo $(DEPDIR)/liblektor_la-thread.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='thread.c' object='liblektor_la-thread.lo' libtool=yes @AMDEPBACKSLASH@
+base/liblektor_la-thread.lo: base/thread.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblektor_la_CFLAGS) $(CFLAGS) -MT base/liblektor_la-thread.lo -MD -MP -MF base/$(DEPDIR)/liblektor_la-thread.Tpo -c -o base/liblektor_la-thread.lo `test -f 'base/thread.c' || echo '$(srcdir)/'`base/thread.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) base/$(DEPDIR)/liblektor_la-thread.Tpo base/$(DEPDIR)/liblektor_la-thread.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='base/thread.c' object='base/liblektor_la-thread.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblektor_la_CFLAGS) $(CFLAGS) -c -o liblektor_la-thread.lo `test -f 'thread.c' || echo '$(srcdir)/'`thread.c
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblektor_la_CFLAGS) $(CFLAGS) -c -o base/liblektor_la-thread.lo `test -f 'base/thread.c' || echo '$(srcdir)/'`base/thread.c
 
-liblektor_la-uri.lo: uri.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblektor_la_CFLAGS) $(CFLAGS) -MT liblektor_la-uri.lo -MD -MP -MF $(DEPDIR)/liblektor_la-uri.Tpo -c -o liblektor_la-uri.lo `test -f 'uri.c' || echo '$(srcdir)/'`uri.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/liblektor_la-uri.Tpo $(DEPDIR)/liblektor_la-uri.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='uri.c' object='liblektor_la-uri.lo' libtool=yes @AMDEPBACKSLASH@
+base/liblektor_la-commands.lo: base/commands.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblektor_la_CFLAGS) $(CFLAGS) -MT base/liblektor_la-commands.lo -MD -MP -MF base/$(DEPDIR)/liblektor_la-commands.Tpo -c -o base/liblektor_la-commands.lo `test -f 'base/commands.c' || echo '$(srcdir)/'`base/commands.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) base/$(DEPDIR)/liblektor_la-commands.Tpo base/$(DEPDIR)/liblektor_la-commands.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='base/commands.c' object='base/liblektor_la-commands.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblektor_la_CFLAGS) $(CFLAGS) -c -o liblektor_la-uri.lo `test -f 'uri.c' || echo '$(srcdir)/'`uri.c
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblektor_la_CFLAGS) $(CFLAGS) -c -o base/liblektor_la-commands.lo `test -f 'base/commands.c' || echo '$(srcdir)/'`base/commands.c
 
 database/liblektor_la-disk.lo: database/disk.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblektor_la_CFLAGS) $(CFLAGS) -MT database/liblektor_la-disk.lo -MD -MP -MF database/$(DEPDIR)/liblektor_la-disk.Tpo -c -o database/liblektor_la-disk.lo `test -f 'database/disk.c' || echo '$(srcdir)/'`database/disk.c
@@ -939,12 +989,19 @@ net/liblektor_la-message.lo: net/message.c
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblektor_la_CFLAGS) $(CFLAGS) -c -o net/liblektor_la-message.lo `test -f 'net/message.c' || echo '$(srcdir)/'`net/message.c
 
-module/liblektor_la-repo.lo: module/repo.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblektor_la_CFLAGS) $(CFLAGS) -MT module/liblektor_la-repo.lo -MD -MP -MF module/$(DEPDIR)/liblektor_la-repo.Tpo -c -o module/liblektor_la-repo.lo `test -f 'module/repo.c' || echo '$(srcdir)/'`module/repo.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) module/$(DEPDIR)/liblektor_la-repo.Tpo module/$(DEPDIR)/liblektor_la-repo.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='module/repo.c' object='module/liblektor_la-repo.lo' libtool=yes @AMDEPBACKSLASH@
+module/liblktmodrepo_la-module_repo.lo: module/module_repo.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblktmodrepo_la_CFLAGS) $(CFLAGS) -MT module/liblktmodrepo_la-module_repo.lo -MD -MP -MF module/$(DEPDIR)/liblktmodrepo_la-module_repo.Tpo -c -o module/liblktmodrepo_la-module_repo.lo `test -f 'module/module_repo.c' || echo '$(srcdir)/'`module/module_repo.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) module/$(DEPDIR)/liblktmodrepo_la-module_repo.Tpo module/$(DEPDIR)/liblktmodrepo_la-module_repo.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='module/module_repo.c' object='module/liblktmodrepo_la-module_repo.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblektor_la_CFLAGS) $(CFLAGS) -c -o module/liblektor_la-repo.lo `test -f 'module/repo.c' || echo '$(srcdir)/'`module/repo.c
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblktmodrepo_la_CFLAGS) $(CFLAGS) -c -o module/liblktmodrepo_la-module_repo.lo `test -f 'module/module_repo.c' || echo '$(srcdir)/'`module/module_repo.c
+
+module/liblktmodrepo_la-worker.lo: module/worker.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblktmodrepo_la_CFLAGS) $(CFLAGS) -MT module/liblktmodrepo_la-worker.lo -MD -MP -MF module/$(DEPDIR)/liblktmodrepo_la-worker.Tpo -c -o module/liblktmodrepo_la-worker.lo `test -f 'module/worker.c' || echo '$(srcdir)/'`module/worker.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) module/$(DEPDIR)/liblktmodrepo_la-worker.Tpo module/$(DEPDIR)/liblktmodrepo_la-worker.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='module/worker.c' object='module/liblktmodrepo_la-worker.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblktmodrepo_la_CFLAGS) $(CFLAGS) -c -o module/liblktmodrepo_la-worker.lo `test -f 'module/worker.c' || echo '$(srcdir)/'`module/worker.c
 
 module/liblktmodsdl_la-module_sdl2.lo: module/module_sdl2.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(liblktmodsdl_la_CFLAGS) $(CFLAGS) -MT module/liblktmodsdl_la-module_sdl2.lo -MD -MP -MF module/$(DEPDIR)/liblktmodsdl_la-module_sdl2.Tpo -c -o module/liblktmodsdl_la-module_sdl2.lo `test -f 'module/module_sdl2.c' || echo '$(srcdir)/'`module/module_sdl2.c
@@ -965,6 +1022,7 @@ mostlyclean-libtool:
 
 clean-libtool:
 	-rm -rf .libs _libs
+	-rm -rf base/.libs base/_libs
 	-rm -rf database/.libs database/_libs
 	-rm -rf mkv/.libs mkv/_libs
 	-rm -rf module/.libs module/_libs
@@ -1091,6 +1149,8 @@ clean-generic:
 distclean-generic:
 	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
 	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+	-rm -f base/$(DEPDIR)/$(am__dirstamp)
+	-rm -f base/$(am__dirstamp)
 	-rm -f database/$(DEPDIR)/$(am__dirstamp)
 	-rm -f database/$(am__dirstamp)
 	-rm -f main/$(DEPDIR)/$(am__dirstamp)
@@ -1111,19 +1171,18 @@ clean-am: clean-binPROGRAMS clean-generic clean-libLTLIBRARIES \
 	clean-libtool clean-noinstLTLIBRARIES mostlyclean-am
 
 distclean: distclean-am
-		-rm -f ./$(DEPDIR)/cmd.Po
-	-rm -f ./$(DEPDIR)/common.Po
-	-rm -f ./$(DEPDIR)/liblektor_la-bufferfd.Plo
-	-rm -f ./$(DEPDIR)/liblektor_la-cmd.Plo
-	-rm -f ./$(DEPDIR)/liblektor_la-commands.Plo
-	-rm -f ./$(DEPDIR)/liblektor_la-common.Plo
-	-rm -f ./$(DEPDIR)/liblektor_la-config.Plo
-	-rm -f ./$(DEPDIR)/liblektor_la-mthread.Plo
-	-rm -f ./$(DEPDIR)/liblektor_la-queue.Plo
-	-rm -f ./$(DEPDIR)/liblektor_la-reg.Plo
-	-rm -f ./$(DEPDIR)/liblektor_la-stack.Plo
-	-rm -f ./$(DEPDIR)/liblektor_la-thread.Plo
-	-rm -f ./$(DEPDIR)/liblektor_la-uri.Plo
+		-rm -f base/$(DEPDIR)/cmd.Po
+	-rm -f base/$(DEPDIR)/common.Po
+	-rm -f base/$(DEPDIR)/liblektor_la-bufferfd.Plo
+	-rm -f base/$(DEPDIR)/liblektor_la-cmd.Plo
+	-rm -f base/$(DEPDIR)/liblektor_la-commands.Plo
+	-rm -f base/$(DEPDIR)/liblektor_la-common.Plo
+	-rm -f base/$(DEPDIR)/liblektor_la-config.Plo
+	-rm -f base/$(DEPDIR)/liblektor_la-queue.Plo
+	-rm -f base/$(DEPDIR)/liblektor_la-reg.Plo
+	-rm -f base/$(DEPDIR)/liblektor_la-stack.Plo
+	-rm -f base/$(DEPDIR)/liblektor_la-thread.Plo
+	-rm -f base/$(DEPDIR)/liblektor_la-uri.Plo
 	-rm -f database/$(DEPDIR)/liblektor_la-config.Plo
 	-rm -f database/$(DEPDIR)/liblektor_la-disk.Plo
 	-rm -f database/$(DEPDIR)/liblektor_la-find.Plo
@@ -1139,7 +1198,8 @@ distclean: distclean-am
 	-rm -f mkv/$(DEPDIR)/liblektor_la-mkv.Plo
 	-rm -f mkv/$(DEPDIR)/liblektor_la-utils.Plo
 	-rm -f mkv/$(DEPDIR)/liblektor_la-write.Plo
-	-rm -f module/$(DEPDIR)/liblektor_la-repo.Plo
+	-rm -f module/$(DEPDIR)/liblktmodrepo_la-module_repo.Plo
+	-rm -f module/$(DEPDIR)/liblktmodrepo_la-worker.Plo
 	-rm -f module/$(DEPDIR)/liblktmodsdl_la-module_sdl2.Plo
 	-rm -f module/$(DEPDIR)/liblktmodsdl_la-mpv.Plo
 	-rm -f net/$(DEPDIR)/liblektor_la-command.Plo
@@ -1190,19 +1250,18 @@ install-ps-am:
 installcheck-am: installcheck-binPROGRAMS
 
 maintainer-clean: maintainer-clean-am
-		-rm -f ./$(DEPDIR)/cmd.Po
-	-rm -f ./$(DEPDIR)/common.Po
-	-rm -f ./$(DEPDIR)/liblektor_la-bufferfd.Plo
-	-rm -f ./$(DEPDIR)/liblektor_la-cmd.Plo
-	-rm -f ./$(DEPDIR)/liblektor_la-commands.Plo
-	-rm -f ./$(DEPDIR)/liblektor_la-common.Plo
-	-rm -f ./$(DEPDIR)/liblektor_la-config.Plo
-	-rm -f ./$(DEPDIR)/liblektor_la-mthread.Plo
-	-rm -f ./$(DEPDIR)/liblektor_la-queue.Plo
-	-rm -f ./$(DEPDIR)/liblektor_la-reg.Plo
-	-rm -f ./$(DEPDIR)/liblektor_la-stack.Plo
-	-rm -f ./$(DEPDIR)/liblektor_la-thread.Plo
-	-rm -f ./$(DEPDIR)/liblektor_la-uri.Plo
+		-rm -f base/$(DEPDIR)/cmd.Po
+	-rm -f base/$(DEPDIR)/common.Po
+	-rm -f base/$(DEPDIR)/liblektor_la-bufferfd.Plo
+	-rm -f base/$(DEPDIR)/liblektor_la-cmd.Plo
+	-rm -f base/$(DEPDIR)/liblektor_la-commands.Plo
+	-rm -f base/$(DEPDIR)/liblektor_la-common.Plo
+	-rm -f base/$(DEPDIR)/liblektor_la-config.Plo
+	-rm -f base/$(DEPDIR)/liblektor_la-queue.Plo
+	-rm -f base/$(DEPDIR)/liblektor_la-reg.Plo
+	-rm -f base/$(DEPDIR)/liblektor_la-stack.Plo
+	-rm -f base/$(DEPDIR)/liblektor_la-thread.Plo
+	-rm -f base/$(DEPDIR)/liblektor_la-uri.Plo
 	-rm -f database/$(DEPDIR)/liblektor_la-config.Plo
 	-rm -f database/$(DEPDIR)/liblektor_la-disk.Plo
 	-rm -f database/$(DEPDIR)/liblektor_la-find.Plo
@@ -1218,7 +1277,8 @@ maintainer-clean: maintainer-clean-am
 	-rm -f mkv/$(DEPDIR)/liblektor_la-mkv.Plo
 	-rm -f mkv/$(DEPDIR)/liblektor_la-utils.Plo
 	-rm -f mkv/$(DEPDIR)/liblektor_la-write.Plo
-	-rm -f module/$(DEPDIR)/liblektor_la-repo.Plo
+	-rm -f module/$(DEPDIR)/liblktmodrepo_la-module_repo.Plo
+	-rm -f module/$(DEPDIR)/liblktmodrepo_la-worker.Plo
 	-rm -f module/$(DEPDIR)/liblktmodsdl_la-module_sdl2.Plo
 	-rm -f module/$(DEPDIR)/liblktmodsdl_la-mpv.Plo
 	-rm -f net/$(DEPDIR)/liblektor_la-command.Plo
@@ -1274,9 +1334,6 @@ database/memory.c: database/memory.sql
 	$(XXD) -i < $< >> $@
 	echo ', 0x00 };' >> $@
 
-# Additional rules
-open.c: disk.c memory.c
-
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:
diff --git a/src/base/commands.c b/src/base/commands.c
index d99a246caed95da07597999b199101d5bbbd15b6..96c7c65a6a3588db6ae63814e60051526f18349a 100644
--- a/src/base/commands.c
+++ b/src/base/commands.c
@@ -57,7 +57,7 @@ command_update(struct lkt_state *srv, size_t c, char *argv[LKT_MESSAGE_ARGS_MAX]
     RETURN_UNLESS(lkt_client_auth(srv, c, false), "Failed to authentificate user", false);
     srv->mpd_idle_events |= MPD_IDLE_UPDATE;
     srv->mpd_idle_events |= MPD_IDLE_DATABASE;
-    return ! MOD_CALL(srv.repo_mod, "update", 0);
+    return ! MOD_CALL(srv->repo_mod, "update", 0);
 }
 
 static inline void *
@@ -80,7 +80,11 @@ command_rescan(struct lkt_state *srv, size_t c, char *argv[LKT_MESSAGE_ARGS_MAX]
     void *args = malloc(sizeof(struct lkt_state *) + sizeof(bool));
     ((struct lkt_state **) args)[0] = srv;
     * ((bool *) & ((struct lkt_state **) args)[1]) = forced;
-    return ! mthread_create(NULL, ATTR_DETACHED_FREE, __rescan, args);
+    // return ! mthread_create(NULL, ATTR_DETACHED_FREE, __rescan, args);
+    /* TODO: Use the repo module. */
+    (void) __rescan;
+    LOG_ERROR("GENERAL", "%s", "Not implemented");
+    return false;
 }
 
 inline bool
diff --git a/src/database/config.c b/src/database/config.c
index ae0a1f9bbe7e8b45facbdbd3caf5c59ed7e16d61..dd69d0ffe17435d08a4950b84520f2d8d1d81f7c 100644
--- a/src/database/config.c
+++ b/src/database/config.c
@@ -1,6 +1,6 @@
 #define _POSIX_C_SOURCE 200809L
 
-#include <common/common.h>
+#include <lektor/common.h>
 #include <lektor/database.h>
 
 #include <limits.h>
diff --git a/src/database/find.c b/src/database/find.c
index 960a6295e59d2baca98ae7aabefa58a16aa59053..3d123eaf971cc434985e612012f27cbb5a66577e 100644
--- a/src/database/find.c
+++ b/src/database/find.c
@@ -1,6 +1,6 @@
 #define _POSIX_C_SOURCE 200809L
 
-#include <common/common.h>
+#include <lektor/common.h>
 #include <lektor/database.h>
 
 #include <strings.h>
diff --git a/src/database/open.c b/src/database/open.c
index 0bad97e8a7d3eccb201191fbd2bb484989477838..dc500f6b25f6723d10e04a4572e23dda7990a3e9 100644
--- a/src/database/open.c
+++ b/src/database/open.c
@@ -1,7 +1,7 @@
 #define _POSIX_C_SOURCE 200809L
 
-#include <common/common.h>
-#include <common/stack.h>
+#include <lektor/common.h>
+#include <lektor/stack.h>
 #include <lektor/database.h>
 #include <stdio.h>
 #include <stdlib.h>
diff --git a/src/database/playlist.c b/src/database/playlist.c
index d882ef0b125af1b09eafa29d6c65789d4bb68529..c13f1e700a00a7c60e5fda2e3b7a46d55d2f62b7 100644
--- a/src/database/playlist.c
+++ b/src/database/playlist.c
@@ -1,6 +1,6 @@
 #define _POSIX_C_SOURCE 200809L
 
-#include <common/common.h>
+#include <lektor/common.h>
 #include <lektor/database.h>
 #include <stdio.h>
 #include <strings.h>
diff --git a/src/database/queue.c b/src/database/queue.c
index be228d71c64b1660e3dbab2cf33e5a0a02f36934..400907491a3375b9a03110b91dc25996ad7ec65a 100644
--- a/src/database/queue.c
+++ b/src/database/queue.c
@@ -1,6 +1,6 @@
 #define _POSIX_C_SOURCE 200809L
 
-#include <common/common.h>
+#include <lektor/common.h>
 #include <lektor/database.h>
 
 #include <linux/limits.h>
diff --git a/src/database/stickers.c b/src/database/stickers.c
index bc3bb3dc8dc6be66342a10429534380c2c40d650..d41c373aa258a9234e1d8b257e15545b83366447 100644
--- a/src/database/stickers.c
+++ b/src/database/stickers.c
@@ -1,6 +1,6 @@
 #define _POSIX_C_SOURCE 200809L
 
-#include <common/common.h>
+#include <lektor/common.h>
 #include <lektor/database.h>
 #include <string.h>
 #include <strings.h>
diff --git a/src/database/update.c b/src/database/update.c
index 8f6dae26cb13ce988ecfbd82c59914dce5514369..7ece08ce1b03669e86783777ffe7870e19ce58f4 100644
--- a/src/database/update.c
+++ b/src/database/update.c
@@ -1,7 +1,7 @@
 #define _POSIX_C_SOURCE 200809L
 #define _DEFAULT_SOURCE
 
-#include <common/common.h>
+#include <lektor/common.h>
 #include <lektor/database.h>
 
 #include <stdbool.h>
diff --git a/src/database/user.c b/src/database/user.c
index 1aa06bdb68f3acd328ed4b034cf469a3ef97b52f..c02ff31d8bc3d081f672b32e55ff1cf8504276cb 100644
--- a/src/database/user.c
+++ b/src/database/user.c
@@ -1,6 +1,6 @@
 #define _POSIX_C_SOURCE 200809L
 
-#include <common/common.h>
+#include <lektor/common.h>
 #include <lektor/database.h>
 #include <stdio.h>
 
diff --git a/src/main/lkt.c b/src/main/lkt.c
index 1e9d9f995a7725652a3359e994ab39e9dc6fa60e..58e4e771db8b97f657c2ca28220deb2dc353a917 100644
--- a/src/main/lkt.c
+++ b/src/main/lkt.c
@@ -1,6 +1,6 @@
 #define _POSIX_C_SOURCE 200809L
 
-#include <common/common.h>
+#include <lektor/common.h>
 #include <lektor/net.h>
 #include <lektor/cmd.h>
 #include <lektor/config.h>
diff --git a/src/main/server.c b/src/main/server.c
index 43184f496df740429fcba6ca790aeaec1ded3f6a..9d593a9e0740e8d1560a365f99304748aa48bcf7 100644
--- a/src/main/server.c
+++ b/src/main/server.c
@@ -1,7 +1,7 @@
 #define _POSIX_C_SOURCE 200809L
 
 #include <lektor/lktconfig.h>
-#include <common/common.h>
+#include <lektor/common.h>
 #include <lektor/config.h>
 #include <lektor/net.h>
 #include <lektor/cmd.h>
@@ -27,7 +27,6 @@ int
 main(int argc, char *argv[])
 {
     REG_BEGIN(server_reg)
-    REG_ADD(load_repo_https)
 #if defined (LKT_STATIC_MODULE)
     REG_REGISTER("repo", repo_reg)
     REG_REGISTER("sdl2", sdl2_reg)
@@ -37,7 +36,6 @@ main(int argc, char *argv[])
     char exe[PATH_MAX];
     int autoclear, check_exclusive = 1, opt;
     char *conf_file = safe_zero_malloc(PATH_MAX * sizeof(char));
-    pthread_t th;
     executable_name = "lektord";
 
     /* Check args */
diff --git a/src/mkv/mkv.c b/src/mkv/mkv.c
index 70e10586529b343c571bf82bcf1d50864f0f8cc8..1823c999db4ad006cb93181b39104e5d3ee7f5c9 100644
--- a/src/mkv/mkv.c
+++ b/src/mkv/mkv.c
@@ -9,9 +9,9 @@
 #include <unistd.h>
 #include <errno.h>
 
-#include <common/bufferfd.h>
+#include <lektor/bufferfd.h>
 #include <lektor/mkv.h>
-#include <common/common.h>
+#include <lektor/common.h>
 
 #define MKV_TAG_MAX 64
 
diff --git a/src/mkv/utils.c b/src/mkv/utils.c
index cb9fb643b76e0dab4d9d52af1c159dc25d2461d6..07a3292a3feee1bd9d3a9007fd1ac0ab3e03744a 100644
--- a/src/mkv/utils.c
+++ b/src/mkv/utils.c
@@ -1,6 +1,6 @@
 #define _POSIX_C_SOURCE 200809L
 
-#include <common/common.h>
+#include <lektor/common.h>
 #include <lektor/mkv.h>
 #include <stdlib.h>
 #include <string.h>
diff --git a/src/mkv/write.c b/src/mkv/write.c
index 0999ac11fb4cec4a481554c5585541cd85f3b37a..5f3d5b74b15db108c762b179030e1745c6a9219b 100644
--- a/src/mkv/write.c
+++ b/src/mkv/write.c
@@ -1,7 +1,7 @@
 #define _POSIX_C_SOURCE 200809L
 #define _DEFAULT_SOURCE
 
-#include <common/common.h>
+#include <lektor/common.h>
 #include <lektor/mkv.h>
 #include <strings.h>
 #include <stdbool.h>
diff --git a/src/module/module_repo.c b/src/module/module_repo.c
index 1df562fccc72c51b6b838b3cc08ea22352ab2f89..94e6d9c0f75ca53a097f168bb3cc76b7a03c9d18 100644
--- a/src/module/module_repo.c
+++ b/src/module/module_repo.c
@@ -1,8 +1,8 @@
 #define _POSIX_C_SOURCE 200809L
 
 #include <lektor/lktconfig.h>
-#include <common/common.h>
-#include <common/queue.h>
+#include <lektor/common.h>
+#include <lektor/queue.h>
 #include <lektor/database.h>
 #include <lektor/net.h>
 #include <lektor/reg.h>
@@ -45,7 +45,7 @@ struct module_repo_internal {
     const uint64_t version;
 
     /* Worker threads */
-    worker_pool workers;
+    struct worker_pool workers;
     volatile int updating;
 
     /* The database and the queue */
@@ -67,16 +67,16 @@ struct __file {
  * Function definitions *
  ************************/
 
-bool module_repo_new(struct module_repo_internal **, struct queue *, volatile sqlite3 *);
-void module_repo_close(struct module_repo_internal *);
-void module_repo_free(struct module_repo_internal *);
-void module_repo_update(struct module_repo_internal *); /* Update all from kurisu */
+static bool module_repo_new(struct module_repo_internal *, struct queue *, volatile sqlite3 *);
+static void module_repo_close(struct module_repo_internal *);
+static void module_repo_free(struct module_repo_internal *);
+__attribute__((unused)) static void module_repo_update(struct module_repo_internal *); /* Update all from kurisu */
 
 /*********************
  * Private functions *
  *********************/
 
-static inline void
+__attribute__((unused)) static inline void
 __clean_file(struct __file *f)
 {
     if (f->fd) {
@@ -109,7 +109,7 @@ __write_mem(char *data, size_t size, size_t nmem, void *user)
     return realsize;
 }
 
-static size_t
+__attribute__((unused)) static size_t
 __write_disk(char *data, size_t size, size_t nmem, void *user)
 {
     ssize_t realsize = size * nmem;
@@ -119,24 +119,39 @@ __write_disk(char *data, size_t size, size_t nmem, void *user)
 }
 
 static int
+__safe_json_get_string(struct json_object *jobj, const char *key,
+                       char *content, const size_t len)
+{
+    const char *got;
+    struct json_object *field;
+    RETURN_UNLESS(json_object_object_get_ex(jobj, key, &field),
+                  "Key not found in json", 1);
+    got = json_object_get_string(field);
+    RETURN_UNLESS(got, "Got a NULL for the key, may be an error", 1);
+    strncpy(content, got, len - 1);
+    content[len - 1] = 0;
+    return 0;
+}
+
+__attribute__((unused)) static int
 __safe_json_get_long(struct json_object *json, const char *key, long *ret)
 {
     const int len = long_length(LONG_MAX);
     char content[len], *endptr, err;
-    if (safe_json_get_string(json, key, content, len))
+    if (__safe_json_get_string(json, key, content, len))
         return 1;
     STRTOL(*ret, content, endptr, err);
     return err;
 }
 
-static int
+__attribute__((unused)) static int
 __json_sync(struct module_repo_internal *repo, struct json_object **json)
 {
     RETURN_UNLESS(json, "Invalid argument", 1);
     CURL *curl_handle;
     CURLcode res;
     int ret = 1;
-    struct memory file = {
+    struct __memory file = {
         .mem = NULL,
         .size = 0.
     };
@@ -156,7 +171,7 @@ __json_sync(struct module_repo_internal *repo, struct json_object **json)
     *json = json_tokener_parse(file.mem);
     ret   = 0;
 err:
-    __clean_file(&file);
+    __clean_memory(&file);
     curl_easy_cleanup(curl_handle);
     return ret;
 }
@@ -195,7 +210,7 @@ module_repo_free(struct module_repo_internal *repo)
     free(repo->get_all_json);
 }
 
-static int
+static bool
 module_repo_new(struct module_repo_internal *repo_, struct queue *queue, volatile sqlite3 *db)
 {
     RETURN_UNLESS(repo_ && queue && db, "Invalid argument", 1);
@@ -205,7 +220,7 @@ module_repo_new(struct module_repo_internal *repo_, struct queue *queue, volatil
     } else
         ++__curl_init;
 
-    struct lkt_repo repo = {
+    struct module_repo_internal repo = {
         .version      = 1,
         .queue        = queue,
         .db           = db,
@@ -218,12 +233,13 @@ module_repo_new(struct module_repo_internal *repo_, struct queue *queue, volatil
         .base_url     = safe_zero_malloc(URL_MAX_LEN * sizeof(char)),
     };
 
-    if (!database_config_get_int(db, "repo", "workers_count", &repo.workers_count))
-        repo.workers_count = 5;
+    int workers_count;
+    if (!database_config_get_int(db, "repo", "workers_count", &workers_count))
+        workers_count = 5;
     if (worker_pool_new(&repo.workers,
                         10 /* Initial number of elements in the call queue */,
-                        repo.workers_count)) {
-        LOG_ERROR("REPO", "Out of memory");
+                        workers_count /* Number of worker threads */)) {
+        LOG_ERROR("REPO", "%s", "Out of memory");
         return 1;
     }
 
@@ -256,7 +272,7 @@ mod_new(va_list *va)
     if (!*repo)
         *repo = malloc(sizeof(struct module_repo_internal));
     if (!*repo) {
-        LOG_ERROR("REPO", "Out of memory");
+        LOG_ERROR("REPO", "%s", "Out of memory");
         return 1;
     }
 
@@ -272,7 +288,7 @@ mod_close(va_list *va)
     struct module_repo_internal **repo;
     va_copy(copy, *va);
     repo = (struct module_repo_internal **) va_arg(copy, void **);
-    module_sdl2_close(*repo);
+    module_repo_close(*repo);
     va_end(copy);
     return 0;
 }
@@ -284,7 +300,7 @@ mod_free(va_list *va)
     struct module_repo_internal **repo;
     va_copy(copy, *va);
     repo = (struct module_repo_internal **) va_arg(copy, void **);
-    module_sdl2_free(*repo);
+    module_repo_free(*repo);
     va_end(copy);
     return 0;
 }
@@ -298,19 +314,19 @@ mod_update(va_list *va)
     repo = (struct module_repo_internal **) va_arg(copy, void **);
 
     if ((*repo)->updating) {
-        LOG_WARN("REPO", "Already updating");
+        LOG_WARN("REPO", "%s", "Already updating");
         va_end(copy);
         return 0;
     }
     (*repo)->updating = 1;
-    if (worker_pool_push(&(*repo)->workers), __worker_update, (void *) *repo)) {
-        LOG_ERROR("REPO", "Out of memory");
+    if (worker_pool_push(&(*repo)->workers, __worker_update, (void *) *repo)) {
+        LOG_ERROR("REPO", "%s", "Out of memory");
         va_end(copy);
         return 1;
     }
 
     va_end(copy);
-    LOG_INFO("REPO", "Update started");
+    LOG_INFO("REPO", "%s", "Update started");
     return 0;
 }
 
@@ -320,6 +336,6 @@ REG_ADD_NAMED("free",   mod_free)
 REG_ADD_NAMED("close",  mod_close)
 REG_ADD_NAMED("update", mod_update)
 REG_END()
-#if defined (LKT_STATIC_MODULE)
+#if ! defined (LKT_STATIC_MODULE)
 REG_EXPORT(repo_reg)
 #endif
diff --git a/src/module/module_sdl2.c b/src/module/module_sdl2.c
index 0dacc41e15a5434b395028e678ba24659d4e7efc..aff0571474dd09f77bf9078096569155936cbbe0 100644
--- a/src/module/module_sdl2.c
+++ b/src/module/module_sdl2.c
@@ -1,8 +1,8 @@
 #define _POSIX_C_SOURCE 200809L
 
 #include <lektor/lktconfig.h>
-#include <common/common.h>
-#include <common/queue.h>
+#include <lektor/common.h>
+#include <lektor/queue.h>
 #include <lektor/thread.h>
 #include <lektor/reg.h>
 #include <lektor/net.h>
@@ -52,14 +52,14 @@ struct module_sdl2_window {
  * Function definitions *
  ************************/
 
-bool module_sdl2_get_elapsed(struct module_sdl2_window *, int *);
-bool module_sdl2_get_duration(struct module_sdl2_window *, int *);
-bool module_sdl2_set_volume(struct module_sdl2_window *, int);
-bool module_sdl2_load_file(struct module_sdl2_window *, const char *);
-bool module_sdl2_toggle_pause(struct module_sdl2_window *);
-void module_sdl2_free(struct module_sdl2_window *);
-void module_sdl2_close(struct module_sdl2_window *);
-bool module_sdl2_new(struct module_sdl2_window **, struct queue *, volatile sqlite3 *);
+static bool module_sdl2_get_elapsed(struct module_sdl2_window *, int *);
+static bool module_sdl2_get_duration(struct module_sdl2_window *, int *);
+static bool module_sdl2_set_volume(struct module_sdl2_window *, int);
+static bool module_sdl2_load_file(struct module_sdl2_window *, const char *);
+static bool module_sdl2_toggle_pause(struct module_sdl2_window *);
+static void module_sdl2_free(struct module_sdl2_window *);
+static void module_sdl2_close(struct module_sdl2_window *);
+static bool module_sdl2_new(struct module_sdl2_window **, struct queue *, volatile sqlite3 *);
 
 /*********************
  * Private functions *
@@ -239,7 +239,7 @@ REG_ADD_NAMED("set_volume",   mod_set_volume)
 REG_ADD_NAMED("get_duration", mod_get_duration)
 REG_ADD_NAMED("get_elapsed",  mod_get_elapsed)
 REG_END()
-#if defined (LKT_STATIC_MODULE)
+#if ! defined (LKT_STATIC_MODULE)
 REG_EXPORT(sdl2_reg)
 #endif
 
diff --git a/src/module/mpv.c b/src/module/mpv.c
index b52c75ee7bb6793ed841635810f83b4a1831f8d3..e1bc032968519755b1b799e504e65a3cab2715b5 100644
--- a/src/module/mpv.c
+++ b/src/module/mpv.c
@@ -1,7 +1,8 @@
 #define _POSIX_C_SOURCE 200809L
 
-#include <common/common.h>
-#include <lektor/module/mpv.h>
+#include "mpv.h"
+
+#include <lektor/common.h>
 #include <lektor/commands.h>
 #include <lektor/database.h>
 #include <strings.h>
diff --git a/src/module/mpv.h b/src/module/mpv.h
index 48ed12ce2ca9db57a57db41cc72205c6a6a41a3d..cff2cc186318b1f680618659c3f8838fd5cdac06 100644
--- a/src/module/mpv.h
+++ b/src/module/mpv.h
@@ -1,8 +1,8 @@
 #pragma once
 
 #include <mpv/client.h>
-#include <common/common.h>
-#include <common/queue.h>
+#include <lektor/common.h>
+#include <lektor/queue.h>
 #include <lektor/reg.h>
 #include <sqlite3.h>
 
diff --git a/src/module/worker.c b/src/module/worker.c
index 35d55aa9f82411b662a3e711a62a411be92f1b6e..8d4198ed208f899a0447d916b358c35a5d2178d0 100644
--- a/src/module/worker.c
+++ b/src/module/worker.c
@@ -1,8 +1,9 @@
 #define _POSIX_C_SOURCE 200809L
 
 #include "worker.h"
-#include "common.h"
+#include <lektor/common.h>
 
+#include <stdio.h>
 #include <pthread.h>
 #include <assert.h>
 #include <sys/sysinfo.h>
@@ -12,7 +13,7 @@ static inline void *
 __worker_thread(void *__pool)
 {
     struct worker_pool *pool = (struct worker_pool *) __pool;
-    void *arg;
+    volatile void *volatile arg;
     worker_function func;
     for (;;)
     {
@@ -27,7 +28,7 @@ __worker_thread(void *__pool)
         else if (pool->exit)
         {
             pthread_mutex_unlock(&pool->lock);
-            LOG_INFO("WORKER", "Exiting");
+            LOG_INFO("WORKER", "%s", "Exiting");
             break;
         }
         else
@@ -39,7 +40,7 @@ __worker_thread(void *__pool)
         }
 
         pthread_mutex_unlock(&pool->lock);
-        func(arg);
+        func((void *) arg);
 
         while (pthread_mutex_trylock(&pool->lock))
             sched_yield();
@@ -66,7 +67,7 @@ worker_pool_new(struct worker_pool *ret, size_t init_size, size_t thread_count)
         .exit        = 0,
     };
     if (!__ret.functions || !__ret.args || !__ret.threads) {
-        LOG_ERROR("WORKER", "Out of memory");
+        LOG_ERROR("WORKER", "%s", "Out of memory");
         __ret.thread_size = 0u;
         worker_pool_free(&__ret);
         return 1;
@@ -106,14 +107,14 @@ worker_pool_push(struct worker_pool *pool, worker_function func, void *arg)
         void *new_functions = realloc((void *) pool->functions,
                                       2 * pool->size * sizeof(worker_function));
         if (NULL == new_functions) {
-            LOG_ERROR("WORKER", "Out of memory");
+            LOG_ERROR("WORKER", "%s", "Out of memory");
             goto error;
         }
         void *new_args = realloc((void *) pool->args,
                                  2 * pool->size * sizeof(void *));
         if (NULL == new_args) {
             free(new_functions);
-            LOG_ERROR("WORKER", "Out of memory");
+            LOG_ERROR("WORKER", "%s", "Out of memory");
             goto error;
         }
         pool->size     *= 2;
diff --git a/src/net/command.c b/src/net/command.c
index c4f2f61ad36699cafcc59f1e17e05783a925c1de..d20f65f4d80e4b6307eab6b9965845201207932b 100644
--- a/src/net/command.c
+++ b/src/net/command.c
@@ -1,6 +1,6 @@
 #define _POSIX_C_SOURCE 200809L
 
-#include <common/common.h>
+#include <lektor/common.h>
 #include <lektor/net.h>
 
 #include <stdlib.h>
diff --git a/src/net/listen.c b/src/net/listen.c
index 3916f4ccc4210c3cb4c486a6c105f3d70f9f3ad8..58c0cc535f222c991aab0b47625b990fd8b54060 100644
--- a/src/net/listen.c
+++ b/src/net/listen.c
@@ -1,7 +1,7 @@
 #define _POSIX_C_SOURCE 200809L
 
-#include <common/common.h>
-#include <common/queue.h>
+#include <lektor/common.h>
+#include <lektor/queue.h>
 #include <lektor/commands.h>
 #include <lektor/database.h>
 #include <lektor/net.h>