diff --git a/lib/KorAP/XML/TEI/Annotations.pm b/lib/KorAP/XML/TEI/Annotations.pm
index 2f7895a..ab450fc 100644
--- a/lib/KorAP/XML/TEI/Annotations.pm
+++ b/lib/KorAP/XML/TEI/Annotations.pm
@@ -56,8 +56,9 @@
 
 # Write data to zip stream
 sub to_zip {
-  my ($self, $zip, $text_id) = @_;
-  $zip->print(encode('UTF-8', $self->to_string($text_id)));
+  my ($self, $zip, $text_id, $param) = @_;
+  $zip->print(encode('UTF-8', $self->to_string($text_id, $param)));
+  return $self;
 };
 
 
diff --git a/lib/KorAP/XML/TEI/Annotations/Collector.pm b/lib/KorAP/XML/TEI/Annotations/Collector.pm
index ed11d23..510d339 100644
--- a/lib/KorAP/XML/TEI/Annotations/Collector.pm
+++ b/lib/KorAP/XML/TEI/Annotations/Collector.pm
@@ -1,7 +1,6 @@
 package KorAP::XML::TEI::Annotations::Collector;
 use base 'KorAP::XML::TEI::Annotations';
 use KorAP::XML::TEI::Annotations::Annotation;
-use Encode qw(encode decode);
 use Log::Any '$log';
 use strict;
 use warnings;
@@ -91,11 +90,4 @@
 };
 
 
-# Write data to zip stream (as utf8)
-sub to_zip {
-  my ($self, $zip, $text_id, $param) = @_;
-  $zip->print(encode('UTF-8', $self->to_string($text_id, $param)));
-};
-
-
 1;
diff --git a/lib/KorAP/XML/TEI/Data.pm b/lib/KorAP/XML/TEI/Data.pm
index 0de4aca..9d4b71c 100644
--- a/lib/KorAP/XML/TEI/Data.pm
+++ b/lib/KorAP/XML/TEI/Data.pm
@@ -93,6 +93,7 @@
   # which are counted as 1 (search for '&amp;' in data.xml and see
   # corresponding indices in $_tokens_file)
   $zip->print(encode('UTF-8', $self->to_string($text_id)));
+  return $self;
 };
 
 
diff --git a/lib/KorAP/XML/TEI/Header.pm b/lib/KorAP/XML/TEI/Header.pm
index b5b92dc..870a2f9 100644
--- a/lib/KorAP/XML/TEI/Header.pm
+++ b/lib/KorAP/XML/TEI/Header.pm
@@ -168,6 +168,7 @@
 sub to_zip {
   my ($self, $zip) = @_;
   $zip->print(encode('UTF-8', $self->to_string));
+  return $self;
 };
 
 
diff --git a/script/tei2korapxml b/script/tei2korapxml
index e276822..c18f941 100755
--- a/script/tei2korapxml
+++ b/script/tei2korapxml
@@ -262,10 +262,6 @@
         $param |= XCT_LINE_NUMBERS if DEBUG;
         my $tree_data = XML::CompactTree::XS::readSubtreeToPerl($reader, $param);
 
-        $structures->reset;
-
-        $tokens->reset unless $skip_inline_tokens;
-
         # ~ whitespace related issue ~
         $add_one = 0;
         %ws = ();
@@ -304,15 +300,12 @@
           $cons_tok->tokenize($data->data)->to_zip(
             $zipper->new_stream("$dir/$base_dir/" . $cons_tok->name . '.xml'),
             $text_id_esc
-          );
+          )->reset;
 
           $aggr_tok->tokenize($data->data)->to_zip(
             $zipper->new_stream("$dir/$base_dir/" . $aggr_tok->name . '.xml'),
             $text_id_esc
-          );
-
-          $aggr_tok->reset;
-          $cons_tok->reset;
+          )->reset;
         };
 
         # ~ write structures ~
@@ -321,7 +314,7 @@
             $zipper->new_stream("$dir/$_structure_dir/${_structure_file}.xml"),
             $text_id_esc,
             2 # = structure serialization
-          );
+          )->reset;
         };
 
         # ~ write tokens ~
@@ -330,7 +323,7 @@
             $zipper->new_stream("$dir/$_tokens_dir/${_tokens_file}.xml"),
             $text_id_esc,
             $_INLINE_ANNOT # Either 0 = tokens without inline or 1 = tokens with inline
-          );
+          )->reset;
         };
 
         # reinit.
