diff --git a/lib/KorAP/Tokenizer.pm b/lib/KorAP/Tokenizer.pm
index 65cdd4c..3e815fe 100644
--- a/lib/KorAP/Tokenizer.pm
+++ b/lib/KorAP/Tokenizer.pm
@@ -479,13 +479,16 @@
   }
 
   else {
-    $data{primaryData} = $self->doc->primary->data if $primary;
-    $data{tokenName}   = $self->name;
-    $data{data}        = $self->stream->to_array;
-    $data{tokenSource} = lc($self->foundry) . '#' . lc($self->layer);
-    $data{foundries}   = $self->support;
-    $data{layerInfos}  = $self->layer_info;
-    $data{version}     = '0.02';
+    my %tokens;
+    $tokens{text} = $self->doc->primary->data if $primary;
+    $tokens{name}   = $self->name;
+    $tokens{stream}        = $self->stream->to_array;
+    $tokens{tokenSource} = lc($self->foundry) . '#' . lc($self->layer);
+    $tokens{foundries}   = $self->support;
+    $tokens{layerInfos}  = $self->layer_info;
+
+    $data{data} = \%tokens;
+    $data{version} = '0.02';
   };
 
   \%data;
diff --git a/t/real_goethe.t b/t/real_goethe.t
index 14437f3..47390ac 100644
--- a/t/real_goethe.t
+++ b/t/real_goethe.t
@@ -65,14 +65,13 @@
 my $output = decode_json( $tokens->to_json );
 
 
-is(substr($output->{primaryData}, 0, 100), 'Autobiographische einzelheiten Selbstschilderung (1) immer tätiger, nach innen und außen fortwirkend', 'Primary Data');
-is($output->{tokenName}, 'tokens', 'tokenName');
-is($output->{tokenSource}, 'opennlp#tokens', 'tokenSource');
+is(substr($output->{data}->{text}, 0, 100), 'Autobiographische einzelheiten Selbstschilderung (1) immer tätiger, nach innen und außen fortwirkend', 'Primary Data');
+is($output->{data}->{name}, 'tokens', 'tokenName');
+is($output->{data}->{tokenSource}, 'opennlp#tokens', 'tokenSource');
 is($output->{version}, '0.02', 'version');
-
-is($output->{foundries}, '', 'Foundries');
-is($output->{layerInfos}, '', 'layerInfos');
-is($output->{data}->[0]->[3], 's:Autobiographische', 'data');
+is($output->{data}->{foundries}, '', 'Foundries');
+is($output->{data}->{layerInfos}, '', 'layerInfos');
+is($output->{data}->{stream}->[0]->[3], 's:Autobiographische', 'data');
 
 is($output->{textSigle}, 'GOE_AGA.03828', 'Correct text sigle');
 is($output->{docSigle}, 'GOE_AGA', 'Correct document sigle');
@@ -101,9 +100,9 @@
 
 $output = decode_json( $tokens->to_json );
 
-is($output->{foundries}, 'base base/paragraphs base/sentences', 'Foundries');
-is($output->{layerInfos}, 'base/s=spans', 'layerInfos');
-my $first_token = join('||', @{$output->{data}->[0]});
+is($output->{data}->{foundries}, 'base base/paragraphs base/sentences', 'Foundries');
+is($output->{data}->{layerInfos}, 'base/s=spans', 'layerInfos');
+my $first_token = join('||', @{$output->{data}->{stream}->[0]});
 like($first_token, qr/s:Autobiographische/, 'data');
 like($first_token, qr/_0#0-17/, 'data');
 like($first_token, qr!<>:base/s:s#0-30\$<i>2<b>2!, 'data');
@@ -113,39 +112,39 @@
 $tokens->add('OpenNLP', 'Sentences');
 
 $output = decode_json( $tokens->to_json );
-is($output->{foundries},
+is($output->{data}->{foundries},
    'base base/paragraphs base/sentences opennlp opennlp/sentences',
    'Foundries');
-is($output->{layerInfos}, 'base/s=spans opennlp/s=spans', 'layerInfos');
-$first_token = join('||', @{$output->{data}->[0]});
+is($output->{data}->{layerInfos}, 'base/s=spans opennlp/s=spans', 'layerInfos');
+$first_token = join('||', @{$output->{data}->{stream}->[0]});
 like($first_token, qr!<>:opennlp/s:s#0-254\$<i>32!, 'data');
 
 $tokens->add('OpenNLP', 'Morpho');
 $output = decode_json( $tokens->to_json );
-is($output->{foundries},
+is($output->{data}->{foundries},
    'base base/paragraphs base/sentences opennlp opennlp/morpho opennlp/sentences',
    'Foundries');
-is($output->{layerInfos}, 'base/s=spans opennlp/p=tokens opennlp/s=spans', 'layerInfos');
-$first_token = join('||', @{$output->{data}->[0]});
+is($output->{data}->{layerInfos}, 'base/s=spans opennlp/p=tokens opennlp/s=spans', 'layerInfos');
+$first_token = join('||', @{$output->{data}->{stream}->[0]});
 like($first_token, qr!opennlp/p:ADJA!, 'data');
 
 ## Treetagger
 $tokens->add('TreeTagger', 'Sentences');
 $output = decode_json( $tokens->to_json );
-is($output->{foundries},
+is($output->{data}->{foundries},
    'base base/paragraphs base/sentences opennlp opennlp/morpho opennlp/sentences treetagger treetagger/sentences',
    'Foundries');
-is($output->{layerInfos}, 'base/s=spans opennlp/p=tokens opennlp/s=spans tt/s=spans', 'layerInfos');
-$first_token = join('||', @{$output->{data}->[0]});
+is($output->{data}->{layerInfos}, 'base/s=spans opennlp/p=tokens opennlp/s=spans tt/s=spans', 'layerInfos');
+$first_token = join('||', @{$output->{data}->{stream}->[0]});
 like($first_token, qr!<>:tt/s:s#0-179\$<i>21<b>2!, 'data');
 
 $tokens->add('TreeTagger', 'Morpho');
 $output = decode_json( $tokens->to_json );
-is($output->{foundries},
+is($output->{data}->{foundries},
    'base base/paragraphs base/sentences opennlp opennlp/morpho opennlp/sentences treetagger treetagger/morpho treetagger/sentences',
    'Foundries');
-is($output->{layerInfos}, 'base/s=spans opennlp/p=tokens opennlp/s=spans tt/l=tokens tt/p=tokens tt/s=spans', 'layerInfos');
-$first_token = join('||', @{$output->{data}->[0]});
+is($output->{data}->{layerInfos}, 'base/s=spans opennlp/p=tokens opennlp/s=spans tt/l=tokens tt/p=tokens tt/s=spans', 'layerInfos');
+$first_token = join('||', @{$output->{data}->{stream}->[0]});
 like($first_token, qr!tt/l:autobiographisch\$<b>165!, 'data');
 like($first_token, qr!tt/p:ADJA\$<b>165!, 'data');
 like($first_token, qr!tt/l:Autobiographische\$<b>89!, 'data');
@@ -154,38 +153,38 @@
 ## CoreNLP
 $tokens->add('CoreNLP', 'NamedEntities');
 $output = decode_json( $tokens->to_json );
-is($output->{foundries},
+is($output->{data}->{foundries},
    'base base/paragraphs base/sentences corenlp corenlp/namedentities opennlp opennlp/morpho opennlp/sentences treetagger treetagger/morpho treetagger/sentences',
    'Foundries');
-is($output->{layerInfos}, 'base/s=spans corenlp/ne=tokens opennlp/p=tokens opennlp/s=spans tt/l=tokens tt/p=tokens tt/s=spans', 'layerInfos');
+is($output->{data}->{layerInfos}, 'base/s=spans corenlp/ne=tokens opennlp/p=tokens opennlp/s=spans tt/l=tokens tt/p=tokens tt/s=spans', 'layerInfos');
 
 diag "Missing test for NamedEntities";
 
 # Problematic:
-# diag Dumper $output->{data}->[180];
-# diag Dumper $output->{data}->[341];
+# diag Dumper $output->{data}->{stream}->[180];
+# diag Dumper $output->{data}->{stream}->[341];
 
 $tokens->add('CoreNLP', 'Sentences');
 $output = decode_json( $tokens->to_json );
-is($output->{foundries},
+is($output->{data}->{foundries},
    'base base/paragraphs base/sentences corenlp corenlp/namedentities corenlp/sentences opennlp opennlp/morpho opennlp/sentences treetagger treetagger/morpho treetagger/sentences',
    'Foundries');
-is($output->{layerInfos}, 'base/s=spans corenlp/ne=tokens corenlp/s=spans opennlp/p=tokens opennlp/s=spans tt/l=tokens tt/p=tokens tt/s=spans', 'layerInfos');
-$first_token = join('||', @{$output->{data}->[0]});
+is($output->{data}->{layerInfos}, 'base/s=spans corenlp/ne=tokens corenlp/s=spans opennlp/p=tokens opennlp/s=spans tt/l=tokens tt/p=tokens tt/s=spans', 'layerInfos');
+$first_token = join('||', @{$output->{data}->{stream}->[0]});
 like($first_token, qr!<>:corenlp/s:s#0-254\$<i>32!, 'data');
 
 $tokens->add('CoreNLP', 'Morpho');
 $output = decode_json( $tokens->to_json );
-like($output->{foundries}, qr!corenlp/morpho!, 'Foundries');
-like($output->{layerInfos}, qr!corenlp/p=tokens!, 'layerInfos');
-$first_token = join('||', @{$output->{data}->[0]});
+like($output->{data}->{foundries}, qr!corenlp/morpho!, 'Foundries');
+like($output->{data}->{layerInfos}, qr!corenlp/p=tokens!, 'layerInfos');
+$first_token = join('||', @{$output->{data}->{stream}->[0]});
 like($first_token, qr!corenlp/p:ADJA!, 'data');
 
 $tokens->add('CoreNLP', 'Constituency');
 $output = decode_json( $tokens->to_json );
-like($output->{foundries}, qr!corenlp/constituency!, 'Foundries');
-like($output->{layerInfos}, qr!corenlp/c=spans!, 'layerInfos');
-$first_token = join('||', @{$output->{data}->[0]});
+like($output->{data}->{foundries}, qr!corenlp/constituency!, 'Foundries');
+like($output->{data}->{layerInfos}, qr!corenlp/c=spans!, 'layerInfos');
+$first_token = join('||', @{$output->{data}->{stream}->[0]});
 like($first_token, qr!<>:corenlp/c:NP#0-17\$<i>1<b>6!, 'data');
 like($first_token, qr!<>:corenlp/c:CNP#0-17\$<i>1<b>7!, 'data');
 like($first_token, qr!<>:corenlp/c:NP#0-17\$<i>1<b>8!, 'data');
@@ -200,9 +199,9 @@
 ## Glemm
 $tokens->add('Glemm', 'Morpho');
 $output = decode_json( $tokens->to_json );
-like($output->{foundries}, qr!glemm/morpho!, 'Foundries');
-like($output->{layerInfos}, qr!glemm/l=tokens!, 'layerInfos');
-$first_token = join('||', @{$output->{data}->[0]});
+like($output->{data}->{foundries}, qr!glemm/morpho!, 'Foundries');
+like($output->{data}->{layerInfos}, qr!glemm/l=tokens!, 'layerInfos');
+$first_token = join('||', @{$output->{data}->{stream}->[0]});
 like($first_token, qr!glemm/l:__autobiographisch!, 'data');
 like($first_token, qr!glemm/l:\+_Auto!, 'data');
 like($first_token, qr!glemm/l:\+_biographisch!, 'data');
@@ -212,43 +211,43 @@
 ## Connexor
 $tokens->add('Connexor', 'Sentences');
 $output = decode_json( $tokens->to_json );
-like($output->{foundries}, qr!connexor/sentences!, 'Foundries');
-like($output->{layerInfos}, qr!cnx/s=spans!, 'layerInfos');
-$first_token = join('||', @{$output->{data}->[0]});
+like($output->{data}->{foundries}, qr!connexor/sentences!, 'Foundries');
+like($output->{data}->{layerInfos}, qr!cnx/s=spans!, 'layerInfos');
+$first_token = join('||', @{$output->{data}->{stream}->[0]});
 like($first_token, qr!<>:cnx/s:s#0-179\$<i>21<b>2!, 'data');
 
 $tokens->add('Connexor', 'Morpho');
 $output = decode_json( $tokens->to_json );
-like($output->{foundries}, qr!connexor/morpho!, 'Foundries');
-like($output->{layerInfos}, qr!cnx/p=tokens!, 'layerInfos');
-like($output->{layerInfos}, qr!cnx/l=tokens!, 'layerInfos');
-like($output->{layerInfos}, qr!cnx/m=tokens!, 'layerInfos');
-$first_token = join('||', @{$output->{data}->[0]});
+like($output->{data}->{foundries}, qr!connexor/morpho!, 'Foundries');
+like($output->{data}->{layerInfos}, qr!cnx/p=tokens!, 'layerInfos');
+like($output->{data}->{layerInfos}, qr!cnx/l=tokens!, 'layerInfos');
+like($output->{data}->{layerInfos}, qr!cnx/m=tokens!, 'layerInfos');
+$first_token = join('||', @{$output->{data}->{stream}->[0]});
 like($first_token, qr!cnx/l:autobiografisch!, 'data');
 like($first_token, qr!cnx/p:A!, 'data');
 
 $tokens->add('Connexor', 'Phrase');
 $output = decode_json( $tokens->to_json );
-like($output->{foundries}, qr!connexor/phrase!, 'Foundries');
-like($output->{layerInfos}, qr!cnx/c=spans!, 'layerInfos');
-$first_token = join('||', @{$output->{data}->[0]});
+like($output->{data}->{foundries}, qr!connexor/phrase!, 'Foundries');
+like($output->{data}->{layerInfos}, qr!cnx/c=spans!, 'layerInfos');
+$first_token = join('||', @{$output->{data}->{stream}->[0]});
 like($first_token, qr!<>:cnx/c:np#0-30\$<i>2!, 'data');
 
 $tokens->add('Connexor', 'Syntax');
 $output = decode_json( $tokens->to_json );
-like($output->{foundries}, qr!connexor/syntax!, 'Foundries');
-like($output->{layerInfos}, qr!cnx/syn=tokens!, 'layerInfos');
-$first_token = join('||', @{$output->{data}->[0]});
+like($output->{data}->{foundries}, qr!connexor/syntax!, 'Foundries');
+like($output->{data}->{layerInfos}, qr!cnx/syn=tokens!, 'layerInfos');
+$first_token = join('||', @{$output->{data}->{stream}->[0]});
 like($first_token, qr!cnx/syn:\@PREMOD!, 'data');
 
 ## Mate
 $tokens->add('Mate', 'Morpho');
 $output = decode_json( $tokens->to_json );
-like($output->{foundries}, qr!mate/morpho!, 'Foundries');
-like($output->{layerInfos}, qr!mate/p=tokens!, 'layerInfos');
-like($output->{layerInfos}, qr!mate/l=tokens!, 'layerInfos');
-like($output->{layerInfos}, qr!mate/m=tokens!, 'layerInfos');
-$first_token = join('||', @{$output->{data}->[0]});
+like($output->{data}->{foundries}, qr!mate/morpho!, 'Foundries');
+like($output->{data}->{layerInfos}, qr!mate/p=tokens!, 'layerInfos');
+like($output->{data}->{layerInfos}, qr!mate/l=tokens!, 'layerInfos');
+like($output->{data}->{layerInfos}, qr!mate/m=tokens!, 'layerInfos');
+$first_token = join('||', @{$output->{data}->{stream}->[0]});
 like($first_token, qr!mate/l:autobiographisch!, 'data');
 like($first_token, qr!mate/p:NN!, 'data');
 like($first_token, qr!mate/m:case:nom!, 'data');
@@ -261,25 +260,25 @@
 ## XIP
 $tokens->add('XIP', 'Sentences');
 $output = decode_json( $tokens->to_json );
-like($output->{foundries}, qr!xip/sentences!, 'Foundries');
-like($output->{layerInfos}, qr!xip/s=spans!, 'layerInfos');
-$first_token = join('||', @{$output->{data}->[0]});
+like($output->{data}->{foundries}, qr!xip/sentences!, 'Foundries');
+like($output->{data}->{layerInfos}, qr!xip/s=spans!, 'layerInfos');
+$first_token = join('||', @{$output->{data}->{stream}->[0]});
 like($first_token, qr!<>:xip/s:s#0-179\$<i>21!, 'data');
 
 $tokens->add('XIP', 'Morpho');
 $output = decode_json( $tokens->to_json );
-like($output->{foundries}, qr!xip/morpho!, 'Foundries');
-like($output->{layerInfos}, qr!xip/l=tokens!, 'layerInfos');
-like($output->{layerInfos}, qr!xip/p=tokens!, 'layerInfos');
-$first_token = join('||', @{$output->{data}->[0]});
+like($output->{data}->{foundries}, qr!xip/morpho!, 'Foundries');
+like($output->{data}->{layerInfos}, qr!xip/l=tokens!, 'layerInfos');
+like($output->{data}->{layerInfos}, qr!xip/p=tokens!, 'layerInfos');
+$first_token = join('||', @{$output->{data}->{stream}->[0]});
 like($first_token, qr!<>:xip/s:s#0-179\$<i>21!, 'data');
 
 
 $tokens->add('XIP', 'Constituency');
 $output = decode_json( $tokens->to_json );
-like($output->{foundries}, qr!xip/constituency!, 'Foundries');
-like($output->{layerInfos}, qr!xip/c=spans!, 'layerInfos');
-$first_token = join('||', @{$output->{data}->[0]});
+like($output->{data}->{foundries}, qr!xip/constituency!, 'Foundries');
+like($output->{data}->{layerInfos}, qr!xip/c=spans!, 'layerInfos');
+$first_token = join('||', @{$output->{data}->{stream}->[0]});
 like($first_token, qr!<>:xip/c:NP#0-17\$<i>1<b>1!, 'data');
 like($first_token, qr!<>:xip/c:AP#0-17\$<i>1<b>2!, 'data');
 like($first_token, qr!<>:xip/c:ADJ#0-17\$<i>1<b>3!, 'data');
@@ -287,7 +286,7 @@
 
 diag "No test for xip dependency";
 
-# diag Dumper $output->{data}->[0];
+# diag Dumper $output->{data}->{stream}->[0];
 
 # print timestr(timediff(Benchmark->new, $t));
 
diff --git a/t/real_goethe_benchmark.t b/t/real_goethe_benchmark.t
index 66152dd..b70aa96 100644
--- a/t/real_goethe_benchmark.t
+++ b/t/real_goethe_benchmark.t
@@ -66,6 +66,6 @@
 
 is($tokens->doc->to_hash->{title}, 'Autobiographische Einzelheiten');
 
-b($tokens->to_json)->spurt('AGA.03828.json');
+b($tokens->to_json)->spurt('AGA-03828.json');
 
 diag timestr(timediff(Benchmark->new, $t));
