diff --git a/w2v-server.c b/derekovecs-server.c
similarity index 100%
rename from w2v-server.c
rename to derekovecs-server.c
diff --git a/w2v-dereko-2021-I.conf b/derekovecs-server.conf
similarity index 68%
rename from w2v-dereko-2021-I.conf
rename to derekovecs-server.conf
index d803531..d59f657 100644
--- a/w2v-dereko-2021-I.conf
+++ b/derekovecs-server.conf
@@ -3,7 +3,7 @@
     listen  => ['http://*:5673'],
     trusted_proxies => ['10.0/8', '127.0.0.1'],
     proxy => 1,
-    pid_file => 'w2v-dereko-2021-i.'. `hostname -s | tr -d "\n"` .'.pid',
+    pid_file => 'derekovecs-dereko-2021-i.'. `hostname -s | tr -d "\n"` .'.pid',
     workers => 4
   },
 
@@ -13,7 +13,7 @@
   },
 
   w2v => {
-    vecs => "/vol/work/kupietz/Work2/kl/trunk/Analysemethoden/word2vec/models/dereko-2021-i.vecs"
+    vecs => "../models/dereko-2021-i.vecs"
   },
 
   Piwik => {
diff --git a/w2v-server.dict b/derekovecs-server.dict
similarity index 100%
rename from w2v-server.dict
rename to derekovecs-server.dict
diff --git a/w2v-server.pl b/derekovecs-server.pl
similarity index 95%
rename from w2v-server.pl
rename to derekovecs-server.pl
index 1b9e5ea..298d0e1 100755
--- a/w2v-server.pl
+++ b/derekovecs-server.pl
@@ -1,5 +1,5 @@
 #!/usr/local/bin/perl
-use Inline C => "./w2v-server.c" => CLEAN_AFTER_BUILD => 0, BUILD_NOISY => 1, ccflags =>  $Config{ccflags}." -I/vol/work/kupietz/Work2/kl/trunk/CollocatorDB -I, -L. -Wall -O4", libs => "-shared -lpthread -lcollocatordb -lrt -lsnappy -lz -lbz2 -llz4 -lzstd -lrocksdb -lgomp";
+use Inline C => "./derekovecs-server.c" => CLEAN_AFTER_BUILD => 0, BUILD_NOISY => 1, ccflags =>  $Config{ccflags} . "-Wall -O4", libs => "-L. -shared -lpthread -lcollocatordb -lrt -lsnappy -lz -lbz2 -llz4 -lzstd -lrocksdb -lgomp";
 #use Inline C => Config => BUILD_NOISY => 1, CFLAGS => $Config{cflags}." -O4 -mtune k9";
 #use Inline C => Config => CLEAN_AFTER_BUILD => 0, ccflags => $Config{ccflags}." -Ofast -march k8 -mtune k8 ";
 use Mojolicious::Lite;
@@ -11,10 +11,10 @@
 #use Mojo::Server::Daemon;
 use Cwd;
 
-my $mojo_config = $ENV{MOJO_CONFIG} // 'w2v-server.conf';
+my $mojo_config = $ENV{MOJO_CONFIG} // 'derekovecs-server.conf';
 plugin Config => {file => $mojo_config};
 
-my $DEFAULT_VECS = app->config->{w2v}->{vecs} // "/vol/work/kupietz/Work2/kl/trunk/Analysemethoden/word2vec/models/dereko-2020-ii.vecs";
+my $DEFAULT_VECS = app->config->{w2v}->{vecs} // "../models/dereko-2021-i.vecs";
 my $DEFAULT_NET_NAME = "";
 if ($DEFAULT_VECS=~ /\.vecs/) {
   $DEFAULT_NET_NAME = $DEFAULT_VECS;
@@ -40,7 +40,7 @@
   dict => {
     _  => sub { $_->locale },
   },
-  resources => ['w2v-server.dict']
+  resources => ['derekovecs-server.dict']
 };
 our $opt_i = 0; # latin1-input?
 our $opt_l = undef;
@@ -118,7 +118,7 @@
 get '*/js/*' => sub {
 	my $c = shift;
 	my $url = $c->req->url;
-	$url =~ s@/derekovecs@@g;
+	$url =~ s@/derekovecs/@/@g;
   $c->app->log->info("GET: " . $url);
 	$c->reply->static($url);
 } => 'js';
diff --git a/js/derekovcs.js b/js/derekovecs.js
similarity index 96%
rename from js/derekovcs.js
rename to js/derekovecs.js
index 0f1b7a0..4e114bc 100644
--- a/js/derekovcs.js
+++ b/js/derekovecs.js
@@ -147,8 +147,8 @@
       { "data": "af", render: function ( data, type, row ) {return toFixed(data, 2) }},
       { "data": "delta", render: function ( data, type, row ) {return toFixed(data, 2) }},
       { "data": "afwin", width: "auto", sClass: "dt-center mono compact", render: function ( data, type, row ) {return bitmask2window(data, row.win) }},
-      { "data": "llfmd", render: function ( data, type, row ) {return toFixed(data, 1) }},
-      { "data": "rlfmd", render: function ( data, type, row ) {return toFixed(data, 1) }},
+      { "data": "lncount", render: function ( data, type, row ) {return toFixed(data, 1) }},
+      { "data": "rncount", render: function ( data, type, row ) {return toFixed(data, 1) }},
       { "data": "lnpmi", render: function ( data, type, row ) {return toFixed(data, 2) }},
       { "data": "rnpmi", render: function ( data, type, row ) {return toFixed(data, 2) }},
       { "data": "f" },
diff --git a/templates/index.html.ep b/templates/index.html.ep
index 4fbd8af..a9575f3 100644
--- a/templates/index.html.ep
+++ b/templates/index.html.ep
@@ -429,7 +429,7 @@
     <script src="/derekovecs/js/tsne.js"></script>
     <script src="/derekovecs/js/som.js"></script>
     <script src="/derekovecs/js/labeler.js"></script>
-    <script src="/derekovecs/js/derekovcs.js"></script>
+    <script src="/derekovecs/js/derekovecs.js"></script>
     <script>
 
      var opt = {epsilon: <%= $epsilon %>, perplexity: <%= $perplexity %>},
diff --git a/w2v-server.conf b/w2v-server.conf
deleted file mode 100644
index 71e7003..0000000
--- a/w2v-server.conf
+++ /dev/null
@@ -1,24 +0,0 @@
-{
-  hypnotoad => {
-    listen  => ['http://*:5673'],
-    pid_file => 'w2v-dereko-2020-ii.'. `hostname -s | tr -d "\n"` .'.pid',
-    heartbeat_timeout => 180,
-      workers => 4
-  },
-
-  morbo => {
-    listen  => ['http://*:5673'],
-      workers => 1
-  },
-
-  w2v => {
-    vecs => "/vol/work/kupietz/Work2/kl/trunk/Analysemethoden/word2vec/models/dereko-2020-ii.vecs"
-  },
-
-  Piwik => {
-    url => 'https://stats.ids-mannheim.de',
-    token_auth => 'ad7609a669179c4ebca7c995342f7e12',
-    site_id => 16,
-    embed => 1
-  },
-}
\ No newline at end of file
