diff --git a/t/meta.t b/t/meta.t
index c8f580d..cb8c96a 100644
--- a/t/meta.t
+++ b/t/meta.t
@@ -28,18 +28,18 @@
 is($doc->text_sigle, 'WPD/AAA/00001', 'ID');
 
 my $meta = $doc->meta;
-is($meta->{title}, 'A', 'title');
+is($meta->{T_title}, 'A', 'title');
 
-ok(!$meta->{sub_title}, 'subTitle');
+ok(!$meta->{T_sub_title}, 'subTitle');
 is($doc->corpus_sigle, 'WPD', 'corpusID');
-is($meta->{pub_date}, '20050328', 'pubDate');
-is($meta->{pub_place}, 'URL:http://de.wikipedia.org', 'pubPlace');
-is($meta->{text_class}->[0], 'freizeit-unterhaltung', 'TextClass');
-is($meta->{text_class}->[1], 'reisen', 'TextClass');
-is($meta->{text_class}->[2], 'wissenschaft', 'TextClass');
-is($meta->{text_class}->[3], 'populaerwissenschaft', 'TextClass');
-ok(!$meta->{text_class}->[4], 'TextClass');
-is($meta->{author}, 'Ruru; Jens.Ol; Aglarech; u.a.', 'author');
+is($meta->{D_pub_date}, '20050328', 'pubDate');
+is($meta->{S_pub_place}, 'URL:http://de.wikipedia.org', 'pubPlace');
+is($meta->{K_text_class}->[0], 'freizeit-unterhaltung', 'TextClass');
+is($meta->{K_text_class}->[1], 'reisen', 'TextClass');
+is($meta->{K_text_class}->[2], 'wissenschaft', 'TextClass');
+is($meta->{K_text_class}->[3], 'populaerwissenschaft', 'TextClass');
+ok(!$meta->{K_text_class}->[4], 'TextClass');
+is($meta->{T_author}, 'Ruru; Jens.Ol; Aglarech; u.a.', 'author');
 
 
 #is($doc->author->[0], 'Ruru', 'author');
@@ -48,16 +48,16 @@
 #ok(!$doc->author->[3], 'author');
 
 # Additional information
-is($meta->{editor}, 'wikipedia.org', 'Editor');
-is($meta->{publisher}, 'Wikipedia', 'Publisher');
-is($meta->{creation_date}, '20050000', 'Creation date');
-ok(!$meta->{text_type}, 'No text_type');
-ok(!$meta->{text_type_art}, 'no text_type art');
-ok(!$meta->{text_type_ref}, 'no text_type ref');
-ok(!$meta->{text_domain}, 'no text_domain');
-ok(!$meta->{text_column}, 'no text_column');
-ok(!$meta->keywords('keywords'), 'no keywords');
-is($meta->keywords('text_class'), 'freizeit-unterhaltung reisen wissenschaft populaerwissenschaft', 'no text classes');
+is($meta->{A_editor}, 'wikipedia.org', 'Editor');
+is($meta->{A_publisher}, 'Wikipedia', 'Publisher');
+is($meta->{D_creation_date}, '20050000', 'Creation date');
+ok(!$meta->{S_text_type}, 'No text_type');
+ok(!$meta->{S_text_type_art}, 'no text_type art');
+ok(!$meta->{S_text_type_ref}, 'no text_type ref');
+ok(!$meta->{S_text_domain}, 'no text_domain');
+ok(!$meta->{S_text_column}, 'no text_column');
+ok(!$meta->keywords('K_keywords'), 'no keywords');
+is($meta->keywords('K_text_class'), 'freizeit-unterhaltung reisen wissenschaft populaerwissenschaft', 'no text classes');
 
 #is($doc->coll_title, 'Wikipedia', 'Collection title');
 #is($doc->coll_sub_title, 'Die freie Enzyklopädie', 'Collection subtitle');
@@ -70,28 +70,28 @@
 
 ok($doc->parse, 'Parse document');
 $meta = $doc->meta;
-is($meta->{title}, 'Fischer und Kolp im Sonnenhügel', 'title');
+is($meta->{T_title}, 'Fischer und Kolp im Sonnenhügel', 'title');
 
-ok(!$meta->{sub_title}, 'subTitle');
+ok(!$meta->{T_sub_title}, 'subTitle');
 is($doc->text_sigle, 'A01/APR/13047', 'ID');
 is($doc->corpus_sigle, 'A01', 'corpusID');
-is($meta->{pub_date}, '20010402', 'pubDate');
-ok(!$meta->{pub_place}, 'pubPlace');
-is($meta->{text_class}->[0], 'freizeit-unterhaltung', 'TextClass');
-is($meta->{text_class}->[1], 'vereine-veranstaltungen', 'TextClass');
-ok(!$meta->{text_class}->[2], 'TextClass');
-ok(!$meta->{author}, 'author');
+is($meta->{D_pub_date}, '20010402', 'pubDate');
+ok(!$meta->{S_pub_place}, 'pubPlace');
+is($meta->{K_text_class}->[0], 'freizeit-unterhaltung', 'TextClass');
+is($meta->{K_text_class}->[1], 'vereine-veranstaltungen', 'TextClass');
+ok(!$meta->{K_text_class}->[2], 'TextClass');
+ok(!$meta->{T_author}, 'author');
 
 # Additional information
-ok(!$meta->{editor}, 'Editor');
-ok(!$meta->{publisher}, 'Publisher');
-is($meta->{creation_date}, '20010402', 'Creation date');
+ok(!$meta->{A_editor}, 'Editor');
+ok(!$meta->{A_publisher}, 'Publisher');
+is($meta->{D_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(!$meta->{text_type}, 'text_type');
-is($meta->{text_type_art}, 'Bericht', 'text_type art');
+ok(!$meta->{S_text_type}, 'text_type');
+is($meta->{S_text_type_art}, 'Bericht', 'text_type art');
 
 # ERL/0001
 $path = catdir(dirname(__FILE__), 'corpus/ERL/00001');
@@ -100,23 +100,23 @@
 ok($doc->parse, 'Parse document');
 
 $meta = $doc->meta;
-is($meta->{title}, 'Amtsblatt des Landesbezirks Baden [diverse Erlasse]', 'title'); # Amtsblatt des Landesbezirks Baden [diverse Erlasse]
+is($meta->{T_title}, 'Amtsblatt des Landesbezirks Baden [diverse Erlasse]', 'title'); # Amtsblatt des Landesbezirks Baden [diverse Erlasse]
 # MK2/ERL.00001
 
-ok(!$meta->{sub_title}, 'subTitle');
+ok(!$meta->{T_sub_title}, 'subTitle');
 is($doc->text_sigle, 'MK2/ERL/00001', 'ID');
 is($doc->corpus_sigle, 'MK2', 'corpusID');
-is($meta->{pub_date}, '00000000', 'pubDate');
-is($meta->{pub_place}, 'Karlsruhe', 'pubPlace');
-is($meta->{text_class}->[0], 'politik', 'TextClass');
-is($meta->{text_class}->[1], 'kommunalpolitik', 'TextClass');
-ok(!$meta->{text_class}->[2], 'TextClass');
-ok(!$meta->{author}, 'author');
+is($meta->{D_pub_date}, '00000000', 'pubDate');
+is($meta->{S_pub_place}, 'Karlsruhe', 'pubPlace');
+is($meta->{K_text_class}->[0], 'politik', 'TextClass');
+is($meta->{K_text_class}->[1], 'kommunalpolitik', 'TextClass');
+ok(!$meta->{K_text_class}->[2], 'TextClass');
+ok(!$meta->{T_author}, 'author');
 
 # Additional information
-ok(!$meta->{editor}, 'Editor');
-is($meta->{publisher}, 'Badenia Verlag und Druckerei', 'Publisher');
-is($meta->{creation_date}, '19600000', 'Creation date');
+ok(!$meta->{A_editor}, 'Editor');
+is($meta->{A_publisher}, 'Badenia Verlag und Druckerei', 'Publisher');
+is($meta->{D_creation_date}, '19600000', 'Creation date');
 
 # !!!
 # diag 'Non-acceptance of creation date ranges may be temporary';
@@ -126,8 +126,8 @@
 #ok(!$doc->coll_sub_title, 'Collection subtitle');
 #ok(!$doc->coll_editor, 'Collection editor');
 #ok(!$doc->coll_author, 'Collection author');
-is($meta->{text_type}, 'Erlass', 'text_type');
-ok(!$meta->{text_type_art}, 'text_type art');
+is($meta->{S_text_type}, 'Erlass', 'text_type');
+ok(!$meta->{S_text_type_art}, 'text_type art');
 
 
 # A01/02035-substring
@@ -137,27 +137,27 @@
 
 $meta = $doc->meta;
 
-is($meta->{title}, 'St. Galler Tagblatt, 11.01.2000, Ressort: TB-RSP (Abk.)', 'title'); # A00/JAN.02035
-ok(!$meta->{sub_title}, 'subTitle');
+is($meta->{T_title}, 'St. Galler Tagblatt, 11.01.2000, Ressort: TB-RSP (Abk.)', 'title'); # A00/JAN.02035
+ok(!$meta->{T_sub_title}, 'subTitle');
 is($doc->text_sigle, 'A00/JAN/02035', 'ID');
 is($doc->corpus_sigle, 'A00', 'corpusID');
-is($meta->{pub_date}, '20000111', 'pubDate');
-ok(!$meta->{pub_place}, 'pubPlace');
-is($meta->{text_class}->[0], 'sport', 'TextClass');
-is($meta->{text_class}->[1], 'ballsport', 'TextClass');
-ok(!$meta->{text_class}->[2], 'TextClass');
-ok(!$meta->{author}, 'author');
+is($meta->{D_pub_date}, '20000111', 'pubDate');
+ok(!$meta->{S_pub_place}, 'pubPlace');
+is($meta->{K_text_class}->[0], 'sport', 'TextClass');
+is($meta->{K_text_class}->[1], 'ballsport', 'TextClass');
+ok(!$meta->{K_text_class}->[2], 'TextClass');
+ok(!$meta->{T_author}, 'author');
 
 # Additional information
-ok(!$meta->{editor}, 'Editor');
-ok(!$meta->{publisher}, 'Publisher');
-is($meta->{creation_date}, "20000111", 'Creation date');
+ok(!$meta->{A_editor}, 'Editor');
+ok(!$meta->{A_publisher}, 'Publisher');
+is($meta->{D_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(!$meta->{text_type}, 'text_type');
-is($meta->{text_type_art}, 'Bericht', 'text_type art');
+ok(!$meta->{S_text_type}, 'text_type');
+is($meta->{S_text_type_art}, 'Bericht', 'text_type art');
 
 # A01/02873-meta
 $path = catdir(dirname(__FILE__), 'corpus/A00/02873-meta');
@@ -165,28 +165,28 @@
 ok($doc->parse, 'Parse document');
 $meta = $doc->meta;
 
-is($meta->{title}, 'Tradition und Moderne', 'title');
-ok(!$meta->{sub_title}, 'subTitle');
+is($meta->{T_title}, 'Tradition und Moderne', 'title');
+ok(!$meta->{T_sub_title}, 'subTitle');
 is($doc->text_sigle, 'A00/JAN/02873', 'ID');
 is($doc->corpus_sigle, 'A00', 'corpusID');
-is($meta->{pub_date}, '20000113', 'pubDate');
-ok(!$meta->{pub_place}, 'pubPlace');
-is($meta->{text_class}->[0], 'kultur', 'TextClass');
-is($meta->{text_class}->[1], 'film', 'TextClass');
-ok(!$meta->{text_class}->[2], 'TextClass');
-ok(!$meta->{author}, 'author');
+is($meta->{D_pub_date}, '20000113', 'pubDate');
+ok(!$meta->{S_pub_place}, 'pubPlace');
+is($meta->{K_text_class}->[0], 'kultur', 'TextClass');
+is($meta->{K_text_class}->[1], 'film', 'TextClass');
+ok(!$meta->{K_text_class}->[2], 'TextClass');
+ok(!$meta->{T_author}, 'author');
 
 
 # Additional information
-ok(!$meta->{editor}, 'Editor');
-ok(!$meta->{publisher}, 'Publisher');
-is($meta->{creation_date}, "20000113", 'Creation date');
+ok(!$meta->{A_editor}, 'Editor');
+ok(!$meta->{A_publisher}, 'Publisher');
+is($meta->{D_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(!$meta->{text_type}, 'text_type');
-is($meta->{text_type_art}, 'Bericht', 'text_type art');
+ok(!$meta->{S_text_type}, 'text_type');
+is($meta->{S_text_type_art}, 'Bericht', 'text_type art');
 
 
 # A01/05663-unbalanced
@@ -195,28 +195,28 @@
 ok($doc->parse, 'Parse document');
 $meta = $doc->meta;
 
-is($meta->{title}, 'Mehr Arbeitslose im Dezember', 'title');
-ok(!$meta->{sub_title}, 'subTitle');
+is($meta->{T_title}, 'Mehr Arbeitslose im Dezember', 'title');
+ok(!$meta->{T_sub_title}, 'subTitle');
 is($doc->text_sigle, 'A00/JAN/05663', 'ID');
 is($doc->corpus_sigle, 'A00', 'corpusID');
-is($meta->{pub_date}, '20000124', 'pubDate');
-ok(!$meta->{pub_place}, 'pubPlace');
-is($meta->{text_class}->[0], 'gesundheit-ernaehrung', 'TextClass');
-is($meta->{text_class}->[1], 'gesundheit', 'TextClass');
-ok(!$meta->{text_class}->[2], 'TextClass');
-ok(!$meta->{author}, 'author');
+is($meta->{D_pub_date}, '20000124', 'pubDate');
+ok(!$meta->{S_pub_place}, 'pubPlace');
+is($meta->{K_text_class}->[0], 'gesundheit-ernaehrung', 'TextClass');
+is($meta->{K_text_class}->[1], 'gesundheit', 'TextClass');
+ok(!$meta->{K_text_class}->[2], 'TextClass');
+ok(!$meta->{T_author}, 'author');
 
 
 # Additional information
-ok(!$meta->{editor}, 'Editor');
-ok(!$meta->{publisher}, 'Publisher');
-is($meta->{creation_date}, "20000124", 'Creation date');
+ok(!$meta->{A_editor}, 'Editor');
+ok(!$meta->{A_publisher}, 'Publisher');
+is($meta->{D_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(!$meta->{text_type}, 'text_type');
-is($meta->{text_type_art}, 'Bericht', 'text_type art');
+ok(!$meta->{S_text_type}, 'text_type');
+is($meta->{S_text_type_art}, 'Bericht', 'text_type art');
 
 # A01/07452-deep
 $path = catdir(dirname(__FILE__), 'corpus/A00/07452-deep');
@@ -224,28 +224,28 @@
 ok($doc->parse, 'Parse document');
 $meta = $doc->meta;
 
-is($meta->{title}, 'Wil im Dezember 1999', 'title');
-ok(!$meta->{sub_title}, 'subTitle');
+is($meta->{T_title}, 'Wil im Dezember 1999', 'title');
+ok(!$meta->{T_sub_title}, 'subTitle');
 is($doc->text_sigle, 'A00/JAN/07452', 'ID');
 is($doc->corpus_sigle, 'A00', 'corpusID');
-is($meta->{pub_date}, '20000129', 'pubDate');
-ok(!$meta->{pub_place}, 'pubPlace');
-is($meta->{text_class}->[0], 'politik', 'TextClass');
-is($meta->{text_class}->[1], 'kommunalpolitik', 'TextClass');
-ok(!$meta->{text_class}->[2], 'TextClass');
-ok(!$meta->{author}, 'author');
+is($meta->{D_pub_date}, '20000129', 'pubDate');
+ok(!$meta->{S_pub_place}, 'pubPlace');
+is($meta->{K_text_class}->[0], 'politik', 'TextClass');
+is($meta->{K_text_class}->[1], 'kommunalpolitik', 'TextClass');
+ok(!$meta->{K_text_class}->[2], 'TextClass');
+ok(!$meta->{T_author}, 'author');
 
 
 # Additional information
-ok(!$meta->{editor}, 'Editor');
-ok(!$meta->{publisher}, 'Publisher');
-is($meta->{creation_date}, "20000129", 'Creation date');
+ok(!$meta->{A_editor}, 'Editor');
+ok(!$meta->{A_publisher}, 'Publisher');
+is($meta->{D_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(!$meta->{text_type}, 'text_type');
-is($meta->{text_type_art}, 'Bericht', 'text_type art');
+ok(!$meta->{S_text_type}, 'text_type');
+is($meta->{S_text_type_art}, 'Bericht', 'text_type art');
 
 # ART
 $path = catdir(dirname(__FILE__), 'corpus/artificial');
@@ -259,31 +259,31 @@
 $meta = $doc->meta;
 
 # Metdata
-is($meta->{title}, 'Artificial Title', 'title');
-is($meta->{sub_title}, 'Artificial Subtitle', 'subTitle');
+is($meta->{T_title}, 'Artificial Title', 'title');
+is($meta->{T_sub_title}, 'Artificial Subtitle', 'subTitle');
 is($doc->text_sigle, 'ART/ABC/00001', 'ID');
 is($doc->corpus_sigle, 'ART', 'corpusID');
-is($meta->{pub_date}, '20010402', 'pubDate');
-is($meta->{pub_place}, 'Mannheim', 'pubPlace');
-is($meta->{pub_place_key}, 'DE', 'pubPlace key');
-is($meta->{text_class}->[0], 'freizeit-unterhaltung', 'TextClass');
-is($meta->{text_class}->[1], 'vereine-veranstaltungen', 'TextClass');
-ok(!$meta->{text_class}->[2], 'TextClass');
+is($meta->{D_pub_date}, '20010402', 'pubDate');
+is($meta->{S_pub_place}, 'Mannheim', 'pubPlace');
+is($meta->{S_pub_place_key}, 'DE', 'pubPlace key');
+is($meta->{K_text_class}->[0], 'freizeit-unterhaltung', 'TextClass');
+is($meta->{K_text_class}->[1], 'vereine-veranstaltungen', 'TextClass');
+ok(!$meta->{K_text_class}->[2], 'TextClass');
 #is($doc->author->[0], 'Ruru', 'author');
 #is($doc->author->[1], 'Jens.Ol', 'author');
 #is($doc->author->[2], 'Aglarech', 'author');
-is($meta->{author}, 'Ruru; Jens.Ol; Aglarech; u.a.', 'author');
+is($meta->{T_author}, 'Ruru; Jens.Ol; Aglarech; u.a.', 'author');
 
 # Additional information
-is($meta->{editor}, 'Nils Diewald', 'Editor');
-is($meta->{publisher}, 'Artificial articles Inc.', 'Publisher');
-is($meta->{creation_date}, '19990601', 'Creation date');
+is($meta->{A_editor}, 'Nils Diewald', 'Editor');
+is($meta->{A_publisher}, 'Artificial articles Inc.', 'Publisher');
+is($meta->{D_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($meta->{text_type}, 'Zeitung: Tageszeitung', 'No text_type');
-is($meta->{text_type_art}, 'Bericht', 'text_type art');
+is($meta->{S_text_type}, 'Zeitung: Tageszeitung', 'No text_type');
+is($meta->{S_text_type_art}, 'Bericht', 'text_type art');
 
 
 # Multipath headers
@@ -301,43 +301,43 @@
 is($doc->doc_sigle, 'VDI14/JAN', 'doc sigle');
 is($meta->corpus_sigle, 'VDI14', 'corpus sigle');
 
-is($meta->{title}, '10- Zz mit Zahl', 'title');
+is($meta->{T_title}, '10- Zz mit Zahl', 'title');
 
-ok(!$meta->{sub_title}, 'subtitle');
-is($meta->{pub_date}, '20140117', 'pubdate');
-is($meta->{pub_place}, 'Düsseldorf', 'pubplace');
-is($meta->{author}, 'Windhövel, Kerstin', 'author');
-is($meta->{publisher}, 'VDI Verlag GmbH', 'publisher');
-ok(!$meta->{editor}, 'editor');
+ok(!$meta->{T_sub_title}, 'subtitle');
+is($meta->{D_pub_date}, '20140117', 'pubdate');
+is($meta->{S_pub_place}, 'Düsseldorf', 'pubplace');
+is($meta->{T_author}, 'Windhövel, Kerstin', 'author');
+is($meta->{A_publisher}, 'VDI Verlag GmbH', 'publisher');
+ok(!$meta->{A_editor}, 'editor');
 
-ok(!$meta->{text_type}, 'text type');
-ok(!$meta->{text_type_art}, 'text type art');
-ok(!$meta->{text_type_ref}, 'text type ref');
-ok(!$meta->{text_column}, 'text column');
-ok(!$meta->{text_domain}, 'text domain');
-ok(!$meta->{creation_date}, 'creation date');
-ok(!$meta->{availability}, 'License');
+ok(!$meta->{S_text_type}, 'text type');
+ok(!$meta->{S_text_type_art}, 'text type art');
+ok(!$meta->{S_text_type_ref}, 'text type ref');
+ok(!$meta->{S_text_column}, 'text column');
+ok(!$meta->{S_text_domain}, 'text domain');
+ok(!$meta->{D_creation_date}, 'creation date');
+ok(!$meta->{S_availability}, 'License');
 ok(!$meta->{pages}, 'Pages');
-ok(!$meta->{file_edition_statement}, 'file edition statement');
-ok(!$meta->{bibl_edition_statement}, 'bibl edition statement');
-is($meta->{reference}, 'VDI nachrichten, 17.01.2014, S. 10; 10- Zz mit Zahl [Ausführliche Zitierung nicht verfügbar]', 'Reference');
+ok(!$meta->{A_file_edition_statement}, 'file edition statement');
+ok(!$meta->{A_bibl_edition_statement}, 'bibl edition statement');
+is($meta->{A_reference}, 'VDI nachrichten, 17.01.2014, S. 10; 10- Zz mit Zahl [Ausführliche Zitierung nicht verfügbar]', 'Reference');
 
-ok(!$doc->{language}, 'Language');
+ok(!$doc->{S_language}, 'Language');
 # !!!
 # diag 'This may be "de" in the future';
 
-is($meta->{doc_title}, 'VDI nachrichten, Januar 2014', 'Doc title');
-ok(!$meta->{doc_sub_title}, 'Doc Sub title');
-ok(!$meta->{doc_editor}, 'Doc editor');
-ok(!$meta->{doc_author}, 'Doc author');
+is($meta->{T_doc_title}, 'VDI nachrichten, Januar 2014', 'Doc title');
+ok(!$meta->{T_doc_sub_title}, 'Doc Sub title');
+ok(!$meta->{A_doc_editor}, 'Doc editor');
+ok(!$meta->{T_doc_author}, 'Doc author');
 
-is($meta->{corpus_title}, 'VDI nachrichten', 'Corpus title');
-ok(!$meta->{corpus_sub_title}, 'Corpus Sub title');
-is($meta->{corpus_editor}, 'Verein Deutscher Ingenieure', 'Corpus editor');
-ok(!$meta->{corpus_author}, 'Corpus author');
+is($meta->{T_corpus_title}, 'VDI nachrichten', 'Corpus title');
+ok(!$meta->{T_corpus_sub_title}, 'Corpus Sub title');
+is($meta->{A_corpus_editor}, 'Verein Deutscher Ingenieure', 'Corpus editor');
+ok(!$meta->{T_corpus_author}, 'Corpus author');
 
-is($meta->keywords('keywords'), '', 'Keywords');
-is($meta->keywords('text_class'), 'Freizeit-Unterhaltung Reisen Politik Ausland', 'Text class');
+is($meta->keywords('K_keywords'), '', 'Keywords');
+is($meta->keywords('K_text_class'), 'Freizeit-Unterhaltung Reisen Politik Ausland', 'Text class');
 
 # WDD
 $path = catdir(dirname(__FILE__), 'corpus/WDD/G27/38989');
@@ -350,44 +350,44 @@
 is($doc->doc_sigle, 'WDD11/G27', 'doc sigle');
 is($doc->corpus_sigle, 'WDD11', 'corpus sigle');
 
-is($meta->{title}, 'Diskussion:Gunter A. Pilz', 'title');
-ok(!$meta->{sub_title}, 'subtitle');
-is($meta->{pub_date}, '20111029', 'pubdate');
-is($meta->{pub_place}, 'URL:http://de.wikipedia.org', 'pubplace');
+is($meta->{T_title}, 'Diskussion:Gunter A. Pilz', 'title');
+ok(!$meta->{T_sub_title}, 'subtitle');
+is($meta->{D_pub_date}, '20111029', 'pubdate');
+is($meta->{S_pub_place}, 'URL:http://de.wikipedia.org', 'pubplace');
 
-is($meta->{author}, '€pa, u.a.', 'author');
-is($meta->{publisher}, 'Wikipedia', 'publisher');
-is($meta->{editor}, 'wikipedia.org', 'Editor');
+is($meta->{T_author}, '€pa, u.a.', 'author');
+is($meta->{A_publisher}, 'Wikipedia', 'publisher');
+is($meta->{A_editor}, 'wikipedia.org', 'Editor');
 
-is($meta->{text_type}, 'Diskussionen zu Enzyklopädie-Artikeln', 'text type');
-ok(!$meta->{text_type_art}, 'text type art');
-ok(!$meta->{text_type_ref}, 'text type ref');
-ok(!$meta->{text_column}, 'text column');
-ok(!$meta->{text_domain}, 'text domain');
+is($meta->{S_text_type}, 'Diskussionen zu Enzyklopädie-Artikeln', 'text type');
+ok(!$meta->{S_text_type_art}, 'text type art');
+ok(!$meta->{S_text_type_ref}, 'text type ref');
+ok(!$meta->{S_text_column}, 'text column');
+ok(!$meta->{S_text_domain}, 'text domain');
 
-is($meta->{creation_date}, '20070707', 'creation date');
-is($meta->{availability}, 'CC-BY-SA', 'License');
+is($meta->{D_creation_date}, '20070707', 'creation date');
+is($meta->{S_availability}, 'CC-BY-SA', 'License');
 ok(!$meta->{pages}, 'Pages');
-ok(!$meta->{file_edition_statement}, 'file edition statement');
-ok(!$meta->{bibl_edition_statement}, 'bibl edition statement');
-is($meta->{reference}, 'Diskussion:Gunter A. Pilz, In: Wikipedia - URL:http://de.wikipedia.org/wiki/Diskussion:Gunter_A._Pilz: Wikipedia, 2007', 'Reference');
+ok(!$meta->{A_file_edition_statement}, 'file edition statement');
+ok(!$meta->{A_bibl_edition_statement}, 'bibl edition statement');
+is($meta->{A_reference}, 'Diskussion:Gunter A. Pilz, In: Wikipedia - URL:http://de.wikipedia.org/wiki/Diskussion:Gunter_A._Pilz: Wikipedia, 2007', 'Reference');
 
-is($meta->{language}, 'de', 'Language');
+is($meta->{S_language}, 'de', 'Language');
 
-is($meta->{doc_title}, 'Wikipedia, Diskussionen zu Artikeln mit Anfangsbuchstabe G, Teil 27', 'Doc title');
-ok(!$meta->{doc_sub_title}, 'Doc Sub title');
-ok(!$meta->{doc_editor}, 'Doc editor');
-ok(!$meta->{doc_author}, 'Doc author');
+is($meta->{T_doc_title}, 'Wikipedia, Diskussionen zu Artikeln mit Anfangsbuchstabe G, Teil 27', 'Doc title');
+ok(!$meta->{T_doc_sub_title}, 'Doc Sub title');
+ok(!$meta->{A_doc_editor}, 'Doc editor');
+ok(!$meta->{T_doc_author}, 'Doc author');
 
-is($meta->{corpus_title}, 'Wikipedia', 'Corpus title');
-ok(!$meta->{corpus_sub_title}, 'Corpus Sub title');
-is($meta->{corpus_editor}, 'wikipedia.org', 'Corpus editor');
-ok(!$meta->{corpus_author}, 'Corpus author');
+is($meta->{T_corpus_title}, 'Wikipedia', 'Corpus title');
+ok(!$meta->{T_corpus_sub_title}, 'Corpus Sub title');
+is($meta->{A_corpus_editor}, 'wikipedia.org', 'Corpus editor');
+ok(!$meta->{T_corpus_author}, 'Corpus author');
 
 is($meta->keywords('keywords'), '', 'Keywords');
 is($meta->keywords('text_class'), '', 'Text class');
 
-is($meta->{availability}, 'CC-BY-SA', 'Availability');
+is($meta->{S_availability}, 'CC-BY-SA', 'Availability');
 
 use_ok('KorAP::XML::Meta::I5');
 
@@ -397,42 +397,42 @@
 ok($meta->parse($dom->at('idsHeader'), 'corpus'), 'Parse corpus header');
 
 my $hash = $meta->to_hash;
-is($hash->{availability}, 'CC-BY-SA', 'Availability');
-is($hash->{language}, 'de', 'Language');
-is($hash->{corpus_title}, 'Reden und Interviews', 'Corpus title');
+is($hash->{S_availability}, 'CC-BY-SA', 'Availability');
+is($hash->{S_language}, 'de', 'Language');
+is($hash->{T_corpus_title}, 'Reden und Interviews', 'Corpus title');
 is($hash->{corpus_sigle}, 'REI', 'Corpus Sigle');
 
 ok($meta->parse($dom->find('idsHeader')->[1], 'doc'), 'Parse corpus header');
 
 $hash = $meta->to_hash;
-is($hash->{availability}, 'CC-BY-SA', 'Availability');
-is($hash->{language}, 'de', 'Language');
-is($hash->{corpus_title}, 'Reden und Interviews', 'Corpus title');
+is($hash->{S_availability}, 'CC-BY-SA', 'Availability');
+is($hash->{S_language}, 'de', 'Language');
+is($hash->{T_corpus_title}, 'Reden und Interviews', 'Corpus title');
 is($hash->{corpus_sigle}, 'REI', 'Corpus Sigle');
 is($hash->{doc_sigle}, 'REI/BNG', 'Document Sigle');
-is($hash->{doc_title}, 'Reden der Bundestagsfraktion Bündnis 90/DIE GRÜNEN, (2002-2006)', 'Document Sigle');
+is($hash->{T_doc_title}, 'Reden der Bundestagsfraktion Bündnis 90/DIE GRÜNEN, (2002-2006)', 'Document Sigle');
 
 ok($meta->parse($dom->find('idsHeader')->[2], 'text'), 'Parse corpus header');
 
 $hash = $meta->to_hash;
-is($hash->{availability}, 'CC-BY-SA', 'Availability');
-is($hash->{language}, 'de', 'Language');
-is($hash->{corpus_title}, 'Reden und Interviews', 'Corpus title');
+is($hash->{S_availability}, 'CC-BY-SA', 'Availability');
+is($hash->{S_language}, 'de', 'Language');
+is($hash->{T_corpus_title}, 'Reden und Interviews', 'Corpus title');
 is($hash->{corpus_sigle}, 'REI', 'Corpus Sigle');
 is($hash->{doc_sigle}, 'REI/BNG', 'Document Sigle');
-is($hash->{doc_title}, 'Reden der Bundestagsfraktion Bündnis 90/DIE GRÜNEN, (2002-2006)', 'Document Sigle');
+is($hash->{T_doc_title}, 'Reden der Bundestagsfraktion Bündnis 90/DIE GRÜNEN, (2002-2006)', 'Document Sigle');
 
 is($hash->{text_sigle}, 'REI/BNG/00001');
-is($hash->{title}, 'Energiewirtschaft');
-is($hash->{sub_title}, 'Rede im Deutschen Bundestag am 19.01.2002');
-is($hash->{creation_date}, '20020119');
-is($hash->{pub_date}, '20020119');
-is($hash->{pub_place_key}, 'DE');
-is($hash->{reference}, 'Hustedt, Michaele: Energiewirtschaft. Rede im Deutschen Bundestag am 19.01.2002, Hrsg: Bundestagsfraktion Bündnis 90/DIE GRÜNEN [Ausführliche Zitierung nicht verfügbar]');
-is($hash->{text_class}->[0], 'politik');
-is($hash->{text_class}->[1], 'inland');
-is($hash->{author}, 'Hustedt, Michaele');
-is($hash->{pub_place}, 'Berlin');
+is($hash->{T_title}, 'Energiewirtschaft');
+is($hash->{T_sub_title}, 'Rede im Deutschen Bundestag am 19.01.2002');
+is($hash->{D_creation_date}, '20020119');
+is($hash->{D_pub_date}, '20020119');
+is($hash->{S_pub_place_key}, 'DE');
+is($hash->{A_reference}, 'Hustedt, Michaele: Energiewirtschaft. Rede im Deutschen Bundestag am 19.01.2002, Hrsg: Bundestagsfraktion Bündnis 90/DIE GRÜNEN [Ausführliche Zitierung nicht verfügbar]');
+is($hash->{K_text_class}->[0], 'politik');
+is($hash->{K_text_class}->[1], 'inland');
+is($hash->{T_author}, 'Hustedt, Michaele');
+is($hash->{S_pub_place}, 'Berlin');
 
 
 # UMB45/D38/00001
@@ -447,7 +447,7 @@
 is($doc->doc_sigle, 'UMB45/D38', 'doc sigle');
 is($doc->corpus_sigle, 'UMB45', 'corpus sigle');
 
-is($meta->{title}, 'In: Über Schuld und Aufgabe der geistigen Führungsschicht im deutschen politischen Leben der Gegenwart. - Göttingen, 1955', 'title');
+is($meta->{T_title}, 'In: Über Schuld und Aufgabe der geistigen Führungsschicht im deutschen politischen Leben der Gegenwart. - Göttingen, 1955', 'title');
 
 
 done_testing;
