diff --git a/Makefile.PL b/Makefile.PL
index 96bcd3f..8d5319d 100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -12,6 +12,7 @@
     LICENSE        => 'apache',
     BUILD_REQUIRES => {
      'Test::More' => 0,
+     'Test::TempFile' => 0,
      "REST::Client" => 0,
      "Data::Dump" => 0,
     },
diff --git a/lib/IDS/DeReKoVecs/Read.pm b/lib/IDS/DeReKoVecs/Read.pm
index 06011c3..f4e7a98 100644
--- a/lib/IDS/DeReKoVecs/Read.pm
+++ b/lib/IDS/DeReKoVecs/Read.pm
@@ -25,7 +25,7 @@
 use Mojo::JSON qw(decode_json encode_json to_json);
 use Exporter qw(import);
 
-our @EXPORT = qw(init_net load_sprofiles getCollocationAssociation getClassicCollocatorsCached getSimilarProfiles getSimilarProfilesCached getBiggestMergedDifferences filter_garbage get_neighbours getWordNumber);
+our @EXPORT = qw(init_net load_sprofiles getCollocationAssociation getClassicCollocatorsCached getSimilarProfiles getSimilarProfilesCached getBiggestMergedDifferences filter_garbage get_neighbours getWordNumber dump_vecs dump_for_numpy);
 
 
 sub getCollocationAssociation {
diff --git a/script/derekovecs-server b/script/derekovecs-server
index 3531910..b09ffcf 100755
--- a/script/derekovecs-server
+++ b/script/derekovecs-server
@@ -1,7 +1,7 @@
 #!/usr/local/bin/perl
 our $VERSION = '0.90';
 
-use IDS::DeReKoVecs::Read qw(init_net load_sprofiles getCollocationAssociation getClassicCollocatorsCached getSimilarProfiles getSimilarProfilesCached getBiggestMergedDifferences filter_garbage get_neighbours getWordNumber);
+use IDS::DeReKoVecs::Read;
 use Mojolicious::Lite;
 use Mojo::JSON qw(decode_json encode_json to_json);
 use base 'Mojolicious::Plugin';
@@ -62,7 +62,20 @@
 my $title="";
 my $training_args="";
 
-getopts('d:D:Gil:p:m:n:M:C');
+getopts('d:D:Gil:p:m:n:M:C') or usage();
+
+sub usage() {
+  print STDERR <<EOF;
+non-server mode usage: MOJO_CONFIG=`pwd`/example.conf $0 [-h] [-d <file>]
+-h        : this (help) message
+-d file   : dump binary vecs as ascii text to <file>
+
+server-mode invocation:
+
+MOJO_CONFIG=`pwd`/example.conf morbo $0
+EOF
+  exit;
+}
 
 if($opt_M) {
   open my $handle, '<:encoding(UTF-8)', $opt_M
diff --git a/t/test.t b/t/test.t
index f45afb3..c080f2f 100644
--- a/t/test.t
+++ b/t/test.t
@@ -1,6 +1,7 @@
 use strict;
 use warnings;
-use Test::More tests => 3;
+use Test::TempFile;
+use Test::More tests => 4;
 use Mojo::JSON qw(decode_json encode_json to_json);
 
 use_ok('IDS::DeReKoVecs::Read');
@@ -28,4 +29,12 @@
     is( $res->{collocates}->[0]->{word}, "diesem", "primary collocate of Grund" );
 };
 
+subtest 'dump ascii vecs' => sub {
+    my $t = Test::TempFile->new();
+    $res = IDS::DeReKoVecs::Read::dump_vecs($t->path);
+    $t->exists_ok
+        ->content_like(qr/^10544 200.*/, 'ascii vecs dump')
+        ->content_like(qr/Wortzeichen -?[01]\.[0-9]/, 'ascii vecs dump contains some words');
+};
+
 done_testing;
