diff --git a/Readme.pod b/Readme.pod
index 3b7a5ff..6a9692e 100644
--- a/Readme.pod
+++ b/Readme.pod
@@ -299,6 +299,13 @@
 network latency.
 
 
+=item B<--to-tar>
+
+Only valid for the C<archive> command.
+
+Writes the output into a tar archive.
+
+
 =item B<--sigle|-sg>
 
 Extract the given texts.
diff --git a/script/korapxml2krill b/script/korapxml2krill
index e524197..1d011f2 100644
--- a/script/korapxml2krill
+++ b/script/korapxml2krill
@@ -698,73 +698,6 @@
     # Will set @sigle
     my $prefix = set_sigle($archive);
 
-#    my $prefix = 1;
-#
-#    # No sigles given
-#    unless (@sigle) {
-#
-#      # Get files
-#      foreach ($archive->list_texts) {
-#
-#        # Split path information
-#        ($prefix, my ($corpus, $doc, $text)) = $archive->split_path($_);
-#
-#        # TODO: Make this OS independent
-#        push @sigle, join '/', $corpus, $doc, $text;
-#      };
-#    }
-#
-#    # Check sigle for doc sigles
-#    else {
-#      my @new_sigle;
-#
-#      my $prefix_check = 0;
-#
-#      # Iterate over all sigle
-#      foreach (@sigle) {
-#
-#        # Sigle is a doc sigle
-#        if ($_ =~ m!^(?:\.[/\\])?[^/\\]+?[/\\][^/\\]+?$!) {
-#
-#          print "$_ ...";
-#          # Check if a prefix is needed
-#          unless ($prefix_check) {
-#
-#            if ($prefix = $archive->check_prefix) {
-#              print " with prefix ...";
-#            };
-#            $prefix_check = 1;
-#          };
-#
-#          print "\n";
-#
-#          # TODO: Make this OS independent
-#          my $path = ($prefix ? './' : '') . $_;
-#
-#          print '... ' . (
-#            $archive->extract_doc(
-#              $path, $output, $sequential_extraction ? 1 : $jobs
-#            ) ? '' : 'not '
-#          );
-#          print "extracted.\n";
-#        }
-#
-#        # Sigle is a text sigle
-#        else {
-#          push @new_sigle, $_;
-#
-#          unless ($prefix_check) {
-#
-#            if ($prefix = $archive->check_prefix) {
-#              print " with prefix ...";
-#            };
-#            $prefix_check = 1;
-#          };
-#        };
-#      };
-#      @sigle = @new_sigle;
-#    };
-
     # Iterate over all given sigles and extract
     foreach (@sigle) {
 
@@ -1453,6 +1386,13 @@
 network latency.
 
 
+=item B<--to-tar>
+
+Only valid for the C<archive> command.
+
+Writes the output into a tar archive.
+
+
 =item B<--sigle|-sg>
 
 Extract the given texts.
