diff --git a/t/real/bzk.t b/t/real/bzk.t
index 3b39b25..acaf668 100644
--- a/t/real/bzk.t
+++ b/t/real/bzk.t
@@ -1,6 +1,3 @@
-#!/usr/bin/env perl
-# source ~/perl5/perlbrew/etc/bashrc
-# perlbrew switch perl-blead@korap
 use strict;
 use warnings;
 use Test::More;
@@ -17,11 +14,11 @@
 use File::Basename 'dirname';
 use File::Spec::Functions 'catdir';
 
-use_ok('KorAP::Document');
+use_ok('KorAP::XML::Krill');
 
 my $path = catdir(dirname(__FILE__), '../corpus/BZK/D59/00001');
 
-ok(my $doc = KorAP::Document->new( path => $path . '/' ), 'Load Korap::Document');
+ok(my $doc = KorAP::XML::Krill->new( path => $path . '/' ), 'Load Korap::Document');
 ok($doc->parse, 'Parse document');
 
 is($doc->text_sigle, 'BZK_D59.00001', 'Correct text sigle');
@@ -69,12 +66,12 @@
 ok(!$doc->doc_editor, 'Correct doc editor');
 
 # Tokenization
-use_ok('KorAP::Tokenizer');
+use_ok('KorAP::XML::Tokenizer');
 
 my ($token_base_foundry, $token_base_layer) = (qw/OpenNLP Tokens/);
 
 # Get tokenization
-my $tokens = KorAP::Tokenizer->new(
+my $tokens = KorAP::XML::Tokenizer->new(
   path => $doc->path,
   doc => $doc,
   foundry => $token_base_foundry,
diff --git a/t/real/bzk_2.t b/t/real/bzk_2.t
index 62a1a34..e4995c9 100644
--- a/t/real/bzk_2.t
+++ b/t/real/bzk_2.t
@@ -14,11 +14,11 @@
 use File::Basename 'dirname';
 use File::Spec::Functions 'catdir';
 
-use_ok('KorAP::Document');
+use_ok('KorAP::XML::Krill');
 
 my $path = catdir(dirname(__FILE__), '../corpus/BZK/D59/00089');
 
-ok(my $doc = KorAP::Document->new( path => $path . '/' ), 'Load Korap::Document');
+ok(my $doc = KorAP::XML::Krill->new( path => $path . '/' ), 'Load Korap::XML::Krill');
 ok($doc->parse, 'Parse document');
 
 is($doc->text_sigle, 'BZK_D59.00089', 'Correct text sigle');
@@ -67,12 +67,12 @@
 ok(!$doc->doc_editor, 'Correct doc editor');
 
 # Tokenization
-use_ok('KorAP::Tokenizer');
+use_ok('KorAP::XML::Tokenizer');
 
 my ($token_base_foundry, $token_base_layer) = (qw/OpenNLP Tokens/);
 
 # Get tokenization
-my $tokens = KorAP::Tokenizer->new(
+my $tokens = KorAP::XML::Tokenizer->new(
   path => $doc->path,
   doc => $doc,
   foundry => $token_base_foundry,
diff --git a/t/real/goethe.t b/t/real/goethe.t
index ae33e8d..84f239f 100644
--- a/t/real/goethe.t
+++ b/t/real/goethe.t
@@ -14,13 +14,13 @@
 use File::Basename 'dirname';
 use File::Spec::Functions 'catdir';
 
-use_ok('KorAP::Document');
+use_ok('KorAP::XML::Krill');
 
 # GOE/AGA/03828
 my $path = catdir(dirname(__FILE__), '../corpus/GOE/AGA/03828');
 # my $path = '/home/ndiewald/Repositories/korap/KorAP-sandbox/KorAP-lucene-indexer/t/GOE/AGA/03828';
 
-ok(my $doc = KorAP::Document->new( path => $path . '/' ), 'Load Korap::Document');
+ok(my $doc = KorAP::XML::Krill->new( path => $path . '/' ), 'Load Korap::Document');
 ok($doc->parse, 'Parse document');
 
 is($doc->text_sigle, 'GOE_AGA.03828', 'Correct text sigle');
@@ -63,12 +63,12 @@
 ok(!$doc->doc_editor, 'Correct Doc editor');
 
 # Tokenization
-use_ok('KorAP::Tokenizer');
+use_ok('KorAP::XML::Tokenizer');
 
 my ($token_base_foundry, $token_base_layer) = (qw/OpenNLP Tokens/);
 
 # Get tokenization
-my $tokens = KorAP::Tokenizer->new(
+my $tokens = KorAP::XML::Tokenizer->new(
   path => $doc->path,
   doc => $doc,
   foundry => $token_base_foundry,
diff --git a/t/real/wdd.t b/t/real/wdd.t
index 4ed33d5..30059cd 100644
--- a/t/real/wdd.t
+++ b/t/real/wdd.t
@@ -1,6 +1,3 @@
-#!/usr/bin/env perl
-# source ~/perl5/perlbrew/etc/bashrc
-# perlbrew switch perl-blead@korap
 use strict;
 use warnings;
 use Test::More;
@@ -17,12 +14,12 @@
 use File::Basename 'dirname';
 use File::Spec::Functions 'catdir';
 
-use_ok('KorAP::Document');
+use_ok('KorAP::XML::Krill');
 
 # GOE/AGA/03828
 my $path = catdir(dirname(__FILE__), '../corpus/WDD/G27/38989');
 
-ok(my $doc = KorAP::Document->new( path => $path . '/' ), 'Load Korap::Document');
+ok(my $doc = KorAP::XML::Krill->new( path => $path . '/' ), 'Load Korap::Document');
 ok($doc->parse, 'Parse document');
 
 is($doc->text_sigle, 'WDD11_G27.38989', 'Correct text sigle');
@@ -61,12 +58,12 @@
 ok(!$doc->doc_editor, 'Correct doc editor');
 
 # Tokenization
-use_ok('KorAP::Tokenizer');
+use_ok('KorAP::XML::Tokenizer');
 
 my ($token_base_foundry, $token_base_layer) = (qw/OpenNLP Tokens/);
 
 # Get tokenization
-my $tokens = KorAP::Tokenizer->new(
+my $tokens = KorAP::XML::Tokenizer->new(
   path => $doc->path,
   doc => $doc,
   foundry => $token_base_foundry,
