diff --git a/t/meta.t b/t/meta.t
index 87180de..5159889 100644
--- a/t/meta.t
+++ b/t/meta.t
@@ -11,22 +11,26 @@
 use File::Basename 'dirname';
 use File::Spec::Functions 'catdir';
 
+
+# TODO: Make 'text' -> 'primaryText'
+
 use_ok('KorAP::Document');
 
 # WPD/00001
 my $path = catdir(dirname(__FILE__), 'WPD/00001');
 ok(my $doc = KorAP::Document->new( path => $path . '/' ), 'Load Korap::Document');
-is($doc->path, $path . '/', 'Path');
+like($doc->path, qr!$path/!, 'Path');
 
 ok($doc = KorAP::Document->new( path => $path ), 'Load Korap::Document');
-is($doc->path, $path . '/', 'Path');
+like($doc->path, qr!$path/$!, 'Path');
 
 ok($doc->parse, 'Parse document');
 
 # Metdata
+is($doc->text_sigle, 'WPD_AAA.00001', 'ID');
+
 is($doc->title, 'A', 'title');
 ok(!$doc->sub_title, 'subTitle');
-is($doc->text_sigle, 'WPD_AAA.00001', 'ID');
 is($doc->corpus_sigle, 'WPD', 'corpusID');
 is($doc->pub_date, '20050328', 'pubDate');
 is($doc->pub_place, 'URL:http://de.wikipedia.org', 'pubPlace');
@@ -35,21 +39,30 @@
 is($doc->text_class->[2], 'wissenschaft', 'TextClass');
 is($doc->text_class->[3], 'populaerwissenschaft', 'TextClass');
 ok(!$doc->text_class->[4], 'TextClass');
-is($doc->author->[0], 'Ruru', 'author');
-is($doc->author->[1], 'Jens.Ol', 'author');
-is($doc->author->[2], 'Aglarech', 'author');
-ok(!$doc->author->[3], 'author');
+is($doc->author, 'Ruru; Jens.Ol; Aglarech; u.a.', 'author');
+
+#is($doc->author->[0], 'Ruru', 'author');
+#is($doc->author->[1], 'Jens.Ol', 'author');
+#is($doc->author->[2], 'Aglarech', 'author');
+#ok(!$doc->author->[3], 'author');
 
 # Additional information
-is($doc->editor,'wikipedia.org', 'Editor');
+ok(!$doc->editor, 'Editor');
 is($doc->publisher, 'Wikipedia', 'Publisher');
 is($doc->creation_date, '20050000', 'Creation date');
-is($doc->coll_title, 'Wikipedia', 'Collection title');
-is($doc->coll_sub_title, 'Die freie Enzyklopädie', 'Collection subtitle');
-is($doc->coll_editor, 'wikipedia.org', 'Collection editor');
-ok(!$doc->coll_author, 'Collection author');
 ok(!$doc->text_type, 'No text_type');
-ok(!$doc->text_type_art, 'text_type art');
+ok(!$doc->text_type_art, 'no text_type art');
+ok(!$doc->text_type_ref, 'no text_type ref');
+ok(!$doc->text_domain, 'no text_domain');
+ok(!$doc->text_column, 'no text_column');
+ok(!$doc->keywords_string, 'no keywords');
+is($doc->text_class_string, 'freizeit-unterhaltung reisen wissenschaft populaerwissenschaft', 'no text classes');
+ok(!$doc->language, 'no text_column');
+
+#is($doc->coll_title, 'Wikipedia', 'Collection title');
+#is($doc->coll_sub_title, 'Die freie Enzyklopädie', 'Collection subtitle');
+#is($doc->coll_editor, 'wikipedia.org', 'Collection editor');
+#ok(!$doc->coll_author, 'Collection author');
 
 # BRZ13/00001
 $path = catdir(dirname(__FILE__), 'BRZ13/00001');
@@ -60,21 +73,24 @@
 ok(!$doc->sub_title, 'subTitle');
 is($doc->text_sigle, 'BRZ13_APR.00001', 'ID');
 is($doc->corpus_sigle, 'BRZ13', 'corpusID');
+
+
 is($doc->pub_date, '20130402', 'pubDate');
 is($doc->pub_place, 'Braunschweig', 'pubPlace');
+
 is($doc->text_class->[0], 'staat-gesellschaft', 'TextClass');
 is($doc->text_class->[1], 'familie-geschlecht', 'TextClass');
 ok(!$doc->text_class->[2], 'TextClass');
-ok(!$doc->author->[0], 'author');
+ok(!$doc->author, 'author');
 
 # Additional information
 ok(!$doc->editor, 'Editor');
 is($doc->publisher, 'Braunschweiger Zeitungsverlag, Druckhaus Albert Limbach GmbH & Co. KG', 'Publisher');
 is($doc->creation_date, '20130402', 'Creation date');
-is($doc->coll_title, 'Braunschweiger Zeitung', 'Collection title');
-ok(!$doc->coll_sub_title, 'Collection subtitle');
-ok(!$doc->coll_editor, 'Collection editor');
-ok(!$doc->coll_author, 'Collection author');
+#is($doc->coll_title, 'Braunschweiger Zeitung', 'Collection title');
+#ok(!$doc->coll_sub_title, 'Collection subtitle');
+#ok(!$doc->coll_editor, 'Collection editor');
+#ok(!$doc->coll_author, 'Collection author');
 is($doc->text_type, 'Zeitung: Tageszeitung', 'text_type');
 ok(!$doc->text_type_art, 'text_type art');
 
@@ -92,17 +108,16 @@
 is($doc->text_class->[0], 'freizeit-unterhaltung', 'TextClass');
 is($doc->text_class->[1], 'vereine-veranstaltungen', 'TextClass');
 ok(!$doc->text_class->[2], 'TextClass');
-ok(!$doc->author->[0], 'author');
-
+ok(!$doc->author, 'author');
 
 # Additional information
 ok(!$doc->editor, 'Editor');
 ok(!$doc->publisher, 'Publisher');
 is($doc->creation_date, '20010402', 'Creation date');
-ok(!$doc->coll_title, 'Collection title');
-ok(!$doc->coll_sub_title, 'Collection subtitle');
-ok(!$doc->coll_editor, 'Collection editor');
-ok(!$doc->coll_author, 'Collection author');
+#ok(!$doc->coll_title, 'Collection title');
+#ok(!$doc->coll_sub_title, 'Collection subtitle');
+#ok(!$doc->coll_editor, 'Collection editor');
+#ok(!$doc->coll_author, 'Collection author');
 ok(!$doc->text_type, 'text_type');
 is($doc->text_type_art, 'Bericht', 'text_type art');
 
@@ -112,7 +127,8 @@
 ok($doc = KorAP::Document->new( path => $path . '/' ), 'Load Korap::Document');
 
 ok($doc->parse, 'Parse document');
-is($doc->title, 'Amtsblatt des Landesbezirks Baden [diverse Erlasse]', 'title');
+is($doc->title, 'MK2/ERL.00001 Amtsblatt des Landesbezirks Baden [diverse Erlasse], Hrsg. und Schriftleitung: Präsidialstelle der Landesverwaltung Baden in Karlsruhe. - Karlsruhe, o.J.', 'title'); # Amtsblatt des Landesbezirks Baden [diverse Erlasse]
+
 ok(!$doc->sub_title, 'subTitle');
 is($doc->text_sigle, 'MK2_ERL.00001', 'ID');
 is($doc->corpus_sigle, 'MK2', 'corpusID');
@@ -121,27 +137,26 @@
 is($doc->text_class->[0], 'politik', 'TextClass');
 is($doc->text_class->[1], 'kommunalpolitik', 'TextClass');
 ok(!$doc->text_class->[2], 'TextClass');
-ok(!$doc->author->[0], 'author');
+ok(!$doc->author, 'author');
 
 # Additional information
 ok(!$doc->editor, 'Editor');
 is($doc->publisher, 'Badenia Verlag und Druckerei', 'Publisher');
 is($doc->creation_date, '19600000', 'Creation date');
-diag 'Non-acceptance of creation date ranges is temporary';
-ok(!$doc->coll_title, 'Collection title');
-ok(!$doc->coll_sub_title, 'Collection subtitle');
-ok(!$doc->coll_editor, 'Collection editor');
-ok(!$doc->coll_author, 'Collection author');
+diag 'Non-acceptance of creation date ranges may be temporary';
+#ok(!$doc->coll_title, 'Collection title');
+#ok(!$doc->coll_sub_title, 'Collection subtitle');
+#ok(!$doc->coll_editor, 'Collection editor');
+#ok(!$doc->coll_author, 'Collection author');
 is($doc->text_type, 'Erlass', 'text_type');
 ok(!$doc->text_type_art, 'text_type art');
 
-
 # A01/02035-substring
 $path = catdir(dirname(__FILE__), 'A01/02035-substring');
 ok($doc = KorAP::Document->new( path => $path . '/' ), 'Load Korap::Document');
 
 ok($doc->parse, 'Parse document');
-ok(!$doc->title, 'title');
+is($doc->title, 'A00/JAN.02035 St. Galler Tagblatt, 11.01.2000, Ressort: TB-RSP (Abk.)', 'title');
 ok(!$doc->sub_title, 'subTitle');
 is($doc->text_sigle, 'A00_JAN.02035', 'ID');
 is($doc->corpus_sigle, 'A00', 'corpusID');
@@ -150,20 +165,19 @@
 is($doc->text_class->[0], 'sport', 'TextClass');
 is($doc->text_class->[1], 'ballsport', 'TextClass');
 ok(!$doc->text_class->[2], 'TextClass');
-ok(!$doc->author->[0], 'author');
+ok(!$doc->author, 'author');
 
 # Additional information
 ok(!$doc->editor, 'Editor');
 ok(!$doc->publisher, 'Publisher');
 is($doc->creation_date, "20000111", 'Creation date');
-ok(!$doc->coll_title, 'Collection title');
-ok(!$doc->coll_sub_title, 'Collection subtitle');
-ok(!$doc->coll_editor, 'Collection editor');
-ok(!$doc->coll_author, 'Collection author');
+#ok(!$doc->coll_title, 'Collection title');
+#ok(!$doc->coll_sub_title, 'Collection subtitle');
+#ok(!$doc->coll_editor, 'Collection editor');
+#ok(!$doc->coll_author, 'Collection author');
 ok(!$doc->text_type, 'text_type');
 is($doc->text_type_art, 'Bericht', 'text_type art');
 
-
 # A01/02873-meta
 $path = catdir(dirname(__FILE__), 'A01/02873-meta');
 ok($doc = KorAP::Document->new( path => $path . '/' ), 'Load Korap::Document');
@@ -178,16 +192,16 @@
 is($doc->text_class->[0], 'kultur', 'TextClass');
 is($doc->text_class->[1], 'film', 'TextClass');
 ok(!$doc->text_class->[2], 'TextClass');
-ok(!$doc->author->[0], 'author');
+ok(!$doc->author, 'author');
 
 # Additional information
 ok(!$doc->editor, 'Editor');
 ok(!$doc->publisher, 'Publisher');
 is($doc->creation_date, "20000113", 'Creation date');
-ok(!$doc->coll_title, 'Collection title');
-ok(!$doc->coll_sub_title, 'Collection subtitle');
-ok(!$doc->coll_editor, 'Collection editor');
-ok(!$doc->coll_author, 'Collection author');
+#ok(!$doc->coll_title, 'Collection title');
+#ok(!$doc->coll_sub_title, 'Collection subtitle');
+#ok(!$doc->coll_editor, 'Collection editor');
+#ok(!$doc->coll_author, 'Collection author');
 ok(!$doc->text_type, 'text_type');
 is($doc->text_type_art, 'Bericht', 'text_type art');
 
@@ -206,21 +220,20 @@
 is($doc->text_class->[0], 'gesundheit-ernaehrung', 'TextClass');
 is($doc->text_class->[1], 'gesundheit', 'TextClass');
 ok(!$doc->text_class->[2], 'TextClass');
-ok(!$doc->author->[0], 'author');
+ok(!$doc->author, 'author');
 
 # Additional information
 ok(!$doc->editor, 'Editor');
 ok(!$doc->publisher, 'Publisher');
 is($doc->creation_date, "20000124", 'Creation date');
-ok(!$doc->coll_title, 'Collection title');
-ok(!$doc->coll_sub_title, 'Collection subtitle');
-ok(!$doc->coll_editor, 'Collection editor');
-ok(!$doc->coll_author, 'Collection author');
+#ok(!$doc->coll_title, 'Collection title');
+#ok(!$doc->coll_sub_title, 'Collection subtitle');
+#ok(!$doc->coll_editor, 'Collection editor');
+#ok(!$doc->coll_author, 'Collection author');
 ok(!$doc->text_type, 'text_type');
 is($doc->text_type_art, 'Bericht', 'text_type art');
 
 
-
 # A01/07452-deep
 $path = catdir(dirname(__FILE__), 'A01/07452-deep');
 ok($doc = KorAP::Document->new( path => $path . '/' ), 'Load Korap::Document');
@@ -235,26 +248,27 @@
 is($doc->text_class->[0], 'politik', 'TextClass');
 is($doc->text_class->[1], 'kommunalpolitik', 'TextClass');
 ok(!$doc->text_class->[2], 'TextClass');
-ok(!$doc->author->[0], 'author');
+ok(!$doc->author, 'author');
 
 # Additional information
 ok(!$doc->editor, 'Editor');
 ok(!$doc->publisher, 'Publisher');
 is($doc->creation_date, "20000129", 'Creation date');
-ok(!$doc->coll_title, 'Collection title');
-ok(!$doc->coll_sub_title, 'Collection subtitle');
-ok(!$doc->coll_editor, 'Collection editor');
-ok(!$doc->coll_author, 'Collection author');
+#ok(!$doc->coll_title, 'Collection title');
+#ok(!$doc->coll_sub_title, 'Collection subtitle');
+#ok(!$doc->coll_editor, 'Collection editor');
+#ok(!$doc->coll_author, 'Collection author');
 ok(!$doc->text_type, 'text_type');
 is($doc->text_type_art, 'Bericht', 'text_type art');
 
+
 # ART
 $path = catdir(dirname(__FILE__), 'artificial');
 ok($doc = KorAP::Document->new( path => $path . '/' ), 'Load Korap::Document');
-is($doc->path, $path . '/', 'Path');
+#is($doc->path, $path . '/', 'Path');
 
 ok($doc = KorAP::Document->new( path => $path ), 'Load Korap::Document');
-is($doc->path, $path . '/', 'Path');
+#is($doc->path, $path . '/', 'Path');
 
 ok($doc->parse, 'Parse document');
 
@@ -268,21 +282,119 @@
 is($doc->text_class->[0], 'freizeit-unterhaltung', 'TextClass');
 is($doc->text_class->[1], 'vereine-veranstaltungen', 'TextClass');
 ok(!$doc->text_class->[2], 'TextClass');
-is($doc->author->[0], 'Ruru', 'author');
-is($doc->author->[1], 'Jens.Ol', 'author');
-is($doc->author->[2], 'Aglarech', 'author');
-ok(!$doc->author->[3], 'author');
+#is($doc->author->[0], 'Ruru', 'author');
+#is($doc->author->[1], 'Jens.Ol', 'author');
+#is($doc->author->[2], 'Aglarech', 'author');
+is($doc->author, 'Ruru; Jens.Ol; Aglarech; u.a.', 'author');
 
 # Additional information
 is($doc->editor, 'Nils Diewald', 'Editor');
 is($doc->publisher, 'Artificial articles Inc.', 'Publisher');
 is($doc->creation_date, '19990601', 'Creation date');
-is($doc->coll_title, 'Artificial articles', 'Collection title');
-is($doc->coll_sub_title, 'Best of!', 'Collection subtitle');
-is($doc->coll_editor, 'Nils Diewald', 'Collection editor');
-is($doc->coll_author, 'Nils Diewald', 'Collection author');
+#is($doc->coll_title, 'Artificial articles', 'Collection title');
+#is($doc->coll_sub_title, 'Best of!', 'Collection subtitle');
+#is($doc->coll_editor, 'Nils Diewald', 'Collection editor');
+#is($doc->coll_author, 'Nils Diewald', 'Collection author');
 is($doc->text_type, 'Zeitung: Tageszeitung', 'No text_type');
 is($doc->text_type_art, 'Bericht', 'text_type art');
 
+# Multipath headers
+$path = catdir(dirname(__FILE__), 'VDI/JAN/00001');
+ok($doc = KorAP::Document->new( path => $path . '/' ), 'Load Korap::Document');
+like($doc->path, qr!$path/!, 'Path');
+
+ok($doc = KorAP::Document->new( path => $path ), 'Load Korap::Document');
+like($doc->path, qr!$path/$!, 'Path');
+
+ok($doc->parse, 'Parse document');
+is($doc->text_sigle, 'VDI_JAN.00001', 'text sigle');
+is($doc->doc_sigle, 'VDI_JAN', 'doc sigle');
+is($doc->corpus_sigle, 'VDI', 'corpus sigle');
+is($doc->title, '10- Zz mit Zahl', 'title');
+ok(!$doc->sub_title, 'subtitle');
+is($doc->pub_date, '20140117', 'pubdate');
+is($doc->pub_place, 'Düsseldorf', 'pubplace');
+is($doc->author, 'Windhövel, Kerstin', 'author');
+is($doc->publisher, 'VDI Verlag GmbH', 'publisher');
+ok(!$doc->editor, 'editor');
+
+ok(!$doc->text_type, 'text type');
+ok(!$doc->text_type_art, 'text type art');
+ok(!$doc->text_type_ref, 'text type ref');
+ok(!$doc->text_column, 'text column');
+ok(!$doc->text_domain, 'text domain');
+ok(!$doc->creation_date, 'creation date');
+ok(!$doc->license, 'License');
+ok(!$doc->pages, 'Pages');
+ok(!$doc->file_edition_statement, 'file edition statement');
+ok(!$doc->bibl_edition_statement, 'bibl edition statement');
+is($doc->reference, 'VDI nachrichten, 17.01.2014, S. 10; 10- Zz mit Zahl [Ausführliche Zitierung nicht verfügbar]', 'Reference');
+
+ok(!$doc->language, 'Language');
+diag 'This may be "de" in the future';
+
+is($doc->doc_title, 'VDI nachrichten, Januar 2014', 'Doc title');
+ok(!$doc->doc_sub_title, 'Doc Sub title');
+ok(!$doc->doc_editor, 'Doc editor');
+ok(!$doc->doc_author, 'Doc author');
+
+is($doc->corpus_title, 'VDI nachrichten 2014', 'Corpus title');
+ok(!$doc->corpus_sub_title, 'Corpus Sub title');
+ok(!$doc->corpus_editor, 'Corpus editor');
+ok(!$doc->corpus_author, 'Corpus author');
+
+is($doc->keywords_string, '', 'Keywords');
+is($doc->text_class_string, 'Freizeit-Unterhaltung Reisen Politik Ausland', 'Text class');
+
+
+# WDD
+$path = catdir(dirname(__FILE__), 'WDD/G27/38989');
+ok($doc = KorAP::Document->new( path => $path . '/' ), 'Load Korap::Document');
+like($doc->path, qr!$path/!, 'Path');
+ok($doc->parse, 'Parse document');
+
+is($doc->text_sigle, 'WDD11_G27.38989', 'text sigle');
+is($doc->doc_sigle, 'WDD11_G27', 'doc sigle');
+is($doc->corpus_sigle, 'WDD11', 'corpus sigle');
+
+is($doc->title, 'Diskussion:Gunter A. Pilz', 'title');
+ok(!$doc->sub_title, 'subtitle');
+is($doc->pub_date, '20111029', 'pubdate');
+is($doc->pub_place, 'URL:http://de.wikipedia.org', 'pubplace');
+
+is($doc->author, '€pa, u.a.', 'author');
+is($doc->publisher, 'Wikipedia', 'publisher');
+ok(!$doc->editor, 'editor');
+
+is($doc->text_type, 'Diskussionen zu Enzyklopädie-Artikeln', 'text type');
+ok(!$doc->text_type_art, 'text type art');
+ok(!$doc->text_type_ref, 'text type ref');
+ok(!$doc->text_column, 'text column');
+ok(!$doc->text_domain, 'text domain');
+
+is($doc->creation_date, '20070707', 'creation date');
+is($doc->license, 'CC-BY-SA', 'License');
+ok(!$doc->pages, 'Pages');
+ok(!$doc->file_edition_statement, 'file edition statement');
+ok(!$doc->bibl_edition_statement, 'bibl edition statement');
+is($doc->reference, 'Diskussion:Gunter A. Pilz, In: Wikipedia - URL:http://de.wikipedia.org/wiki/Diskussion:Gunter_A._Pilz: Wikipedia, 2007', 'Reference');
+
+is($doc->language, 'de', 'Language');
+
+is($doc->doc_title, 'Wikipedia, Diskussionen zu Artikeln mit Anfangsbuchstabe G, Teil 27', 'Doc title');
+ok(!$doc->doc_sub_title, 'Doc Sub title');
+ok(!$doc->doc_editor, 'Doc editor');
+ok(!$doc->doc_author, 'Doc author');
+
+is($doc->corpus_title, 'Wikipedia.de 2011 Diskussionen', 'Corpus title');
+ok(!$doc->corpus_sub_title, 'Corpus Sub title');
+ok(!$doc->corpus_editor, 'Corpus editor');
+ok(!$doc->corpus_author, 'Corpus author');
+
+is($doc->keywords_string, '', 'Keywords');
+is($doc->text_class_string, '', 'Text class');
+
 done_testing;
 __END__
+
+
