diff --git a/meta_info_exploded/meta.meta_dictionary/_.meta_dictionary.json b/meta_info_exploded/meta.meta_dictionary/_.meta_dictionary.json
new file mode 100644
index 0000000000000000000000000000000000000000..9a3c61754f6d043801ba5f126571e6754c17b8f2
--- /dev/null
+++ b/meta_info_exploded/meta.meta_dictionary/_.meta_dictionary.json
@@ -0,0 +1,6 @@
+{
+  "metadict_name":"meta",
+  "metadict_description":"dictionary describing the meta info itself",
+  "metadict_version":"2.0.0",
+  "metadict_require":[]
+}
diff --git a/meta_info_exploded/meta.meta_dictionary/meta_abstract_types.meta_info_entry.json b/meta_info_exploded/meta.meta_dictionary/meta_abstract_types.meta_info_entry.json
new file mode 100644
index 0000000000000000000000000000000000000000..323376baf5244efd8ea79c6e88c503374b8552aa
--- /dev/null
+++ b/meta_info_exploded/meta.meta_dictionary/meta_abstract_types.meta_info_entry.json
@@ -0,0 +1,10 @@
+{
+  "meta_name":"meta_abstract_types",
+  "meta_type":"type-value",
+  "meta_description":[
+    "A list of all Meta Info of type *type-abstract* of this ",
+    "value"],
+  "meta_parent_section":"meta_info_entry",
+  "meta_data_type":"string",
+  "meta_repeats":true
+}
diff --git a/meta_info_exploded/meta.meta_dictionary/meta_chosen_key.meta_info_entry.json b/meta_info_exploded/meta.meta_dictionary/meta_chosen_key.meta_info_entry.json
new file mode 100644
index 0000000000000000000000000000000000000000..da05d89d66a3ba17d75c0e8a453fac907677b438
--- /dev/null
+++ b/meta_info_exploded/meta.meta_dictionary/meta_chosen_key.meta_info_entry.json
@@ -0,0 +1,10 @@
+{
+  "meta_name":"meta_chosen_key",
+  "meta_type":"type-value",
+  "meta_description":[
+    "The meta_name of a *type-value* (that should be with meta_data_type = *string*) ",
+    "that can be used as main unique key for the sections contained in a ",
+    "meta_parent_section."],
+  "meta_parent_section":"meta_info_entry",
+  "meta_data_type":"string"
+}
diff --git a/meta_info_exploded/meta.meta_dictionary/meta_constraint.meta_info_entry.json b/meta_info_exploded/meta.meta_dictionary/meta_constraint.meta_info_entry.json
new file mode 100644
index 0000000000000000000000000000000000000000..bb98f835e5626398ff8fc881f6aa6c4bff8062f3
--- /dev/null
+++ b/meta_info_exploded/meta.meta_dictionary/meta_constraint.meta_info_entry.json
@@ -0,0 +1,10 @@
+{
+  "meta_name":"meta_constraint",
+  "meta_type":"type-section",
+  "meta_description":[
+    "A constraint on the values corresponding to the section that defines ",
+    "it."],
+  "meta_parent_section":"meta_info_entry",
+  "meta_repeats":true,
+  "meta_context_identifier":[]
+}
diff --git a/meta_info_exploded/meta.meta_dictionary/meta_constraint_description.meta_info_entry.json b/meta_info_exploded/meta.meta_dictionary/meta_constraint_description.meta_info_entry.json
new file mode 100644
index 0000000000000000000000000000000000000000..4ef68e3d4960435156f66c0433c75f286752342e
--- /dev/null
+++ b/meta_info_exploded/meta.meta_dictionary/meta_constraint_description.meta_info_entry.json
@@ -0,0 +1,7 @@
+{
+  "meta_name":"meta_constraint_description",
+  "meta_type":"type-value",
+  "meta_description":"Description of the constraint.",
+  "meta_parent_section":"meta_constraint",
+  "meta_data_type":"string"
+}
diff --git a/meta_info_exploded/meta.meta_dictionary/meta_constraint_expected_meta_info.meta_info_entry.json b/meta_info_exploded/meta.meta_dictionary/meta_constraint_expected_meta_info.meta_info_entry.json
new file mode 100644
index 0000000000000000000000000000000000000000..e544ceef5dac3f319b3bd055d586e5c0da1de4c2
--- /dev/null
+++ b/meta_info_exploded/meta.meta_dictionary/meta_constraint_expected_meta_info.meta_info_entry.json
@@ -0,0 +1,17 @@
+{
+  "meta_name":"meta_constraint_expected_meta_info",
+  "meta_type":"type-value",
+  "meta_description":[
+    "Either a meta_name or a '!' and a meta_name.If the meta_info_entry ",
+    "corresponding to it has meta_type type-value or type-section then the ",
+    "corrsponding value must be either present or absent. type-abstract are ",
+    "evaluated all together at the end. The type-value and type-section ",
+    "meta_info_entry that are not already given explicitly in other ",
+    "meta_constraint_expected_meta_info that have all the type-abstract in ",
+    "meta_abstract_types or in their parents (through meta_abstract_types) must be ",
+    "present, whereas those that have all the '!' type-abstract must be ",
+    "absent."],
+  "meta_parent_section":"meta_constraint",
+  "meta_data_type":"string",
+  "meta_repeats":true
+}
diff --git a/meta_info_exploded/meta.meta_dictionary/meta_constraint_name.meta_info_entry.json b/meta_info_exploded/meta.meta_dictionary/meta_constraint_name.meta_info_entry.json
new file mode 100644
index 0000000000000000000000000000000000000000..f23f9cb0cc26d505265519a79ac06e06dcb826d4
--- /dev/null
+++ b/meta_info_exploded/meta.meta_dictionary/meta_constraint_name.meta_info_entry.json
@@ -0,0 +1,9 @@
+{
+  "meta_name":"meta_constraint_name",
+  "meta_type":"type-value",
+  "meta_description":[
+    "A name for the constraint (should be unique within ",
+    "meta_parent_section)."],
+  "meta_parent_section":"meta_constraint",
+  "meta_data_type":"string"
+}
diff --git a/meta_info_exploded/meta.meta_dictionary/meta_constraint_required_query.meta_info_entry.json b/meta_info_exploded/meta.meta_dictionary/meta_constraint_required_query.meta_info_entry.json
new file mode 100644
index 0000000000000000000000000000000000000000..529429f0b0482fef5c47c1870b387830b021763f
--- /dev/null
+++ b/meta_info_exploded/meta.meta_dictionary/meta_constraint_required_query.meta_info_entry.json
@@ -0,0 +1,9 @@
+{
+  "meta_name":"meta_constraint_required_query",
+  "meta_type":"type-value",
+  "meta_description":[
+    "This query if given must be true for all selected ",
+    "values"],
+  "meta_parent_section":"meta_constraint",
+  "meta_data_type":"string"
+}
diff --git a/meta_info_exploded/meta.meta_dictionary/meta_constraint_select_query.meta_info_entry.json b/meta_info_exploded/meta.meta_dictionary/meta_constraint_select_query.meta_info_entry.json
new file mode 100644
index 0000000000000000000000000000000000000000..cb58d8706229d5684fae7e0b7508935bfbc44a22
--- /dev/null
+++ b/meta_info_exploded/meta.meta_dictionary/meta_constraint_select_query.meta_info_entry.json
@@ -0,0 +1,10 @@
+{
+  "meta_name":"meta_constraint_select_query",
+  "meta_type":"type-value",
+  "meta_description":[
+    "Query that must be true for the values that have to satisfy this constraint. ",
+    "Typically this is for example a field having a given ",
+    "value."],
+  "meta_parent_section":"meta_constraint",
+  "meta_data_type":"string"
+}
diff --git a/meta_info_exploded/meta.meta_dictionary/meta_context_identifier.meta_info_entry.json b/meta_info_exploded/meta.meta_dictionary/meta_context_identifier.meta_info_entry.json
new file mode 100644
index 0000000000000000000000000000000000000000..a4d59d1ce9009e14c0dc0b3820b8ec66ce6250c1
--- /dev/null
+++ b/meta_info_exploded/meta.meta_dictionary/meta_context_identifier.meta_info_entry.json
@@ -0,0 +1,14 @@
+{
+  "meta_name":"meta_context_identifier",
+  "meta_type":"type-value",
+  "meta_description":[
+    "The value should be the meta_name of a value (meta_info_entry with meta_type = ",
+    "*type-value*) contained in this meta_info_entry. I.e. its meta_parent_section ",
+    "should be equal to the meta_name of the current meta_info_entry (which should ",
+    "be of *type-section*).That value should uniquely and globally identifies every ",
+    "section value, even if one does not know the type of the current section. In ",
+    "NOMAD we always used the a gid for this purpose."],
+  "meta_parent_section":"meta_info_entry",
+  "meta_data_type":"string",
+  "meta_repeats":true
+}
diff --git a/meta_info_exploded/meta.meta_dictionary/meta_data_type.meta_info_entry.json b/meta_info_exploded/meta.meta_dictionary/meta_data_type.meta_info_entry.json
new file mode 100644
index 0000000000000000000000000000000000000000..ea9049a437cd9bfa02d142c5d73f692d5c80968c
--- /dev/null
+++ b/meta_info_exploded/meta.meta_dictionary/meta_data_type.meta_info_entry.json
@@ -0,0 +1,53 @@
+{
+  "meta_name":"meta_data_type",
+  "meta_type":"type-value",
+  "meta_description":[
+    "The basic type of the data corresponding to this meta_info_entry.\n",
+    "Formally also *binary* and *json* could be used, but they were avoided until ",
+    "now because opaque, and more difficult to ",
+    "document."],
+  "meta_parent_section":"meta_info_entry",
+  "meta_data_type":"string",
+  "meta_enum":[{
+    "meta_enum_value":"int",
+    "meta_enum_description":"A 32 bit signed integer (equivalent to int32)"
+  },{
+    "meta_enum_value":"int32",
+    "meta_enum_description":"A 32 bit signed integer"
+  },{
+    "meta_enum_value":"int64",
+    "meta_enum_description":"A 64 bit signed integer"
+  },{
+    "meta_enum_value":"reference",
+    "meta_enum_description":[
+      "An internal reference. This contains the index of the referenced ",
+      "meta_referenced_sections. For references to other documents a string with a ",
+      "nomad uri should be used."]
+  },{
+    "meta_enum_value":"float32",
+    "meta_enum_description":[
+      "A single precision (32 bit) floating point ",
+      "value"]
+  },{
+    "meta_enum_value":"float",
+    "meta_enum_description":[
+      "A double precision (64 bit) floating point value (equivalent to ",
+      "float64)"]
+  },{
+    "meta_enum_value":"float64",
+    "meta_enum_description":[
+      "A double precision (64 bit) floating point ",
+      "value"]
+  },{
+    "meta_enum_value":"boolean",
+    "meta_enum_description":"A boolean value (true or false)"
+  },{
+    "meta_enum_value":"json",
+    "meta_enum_description":[
+      "A json value. Its use is discouraged, as it does lead to inferior documentation ",
+      "compared to using the meta info directly."]
+  },{
+    "meta_enum_value":"string",
+    "meta_enum_description":"A string of unicode characters"
+  }]
+}
diff --git a/meta_info_exploded/meta.meta_dictionary/meta_description.meta_info_entry.json b/meta_info_exploded/meta.meta_dictionary/meta_description.meta_info_entry.json
new file mode 100644
index 0000000000000000000000000000000000000000..db420ac15dc28d2725901a3d16b40b022c852886
--- /dev/null
+++ b/meta_info_exploded/meta.meta_dictionary/meta_description.meta_info_entry.json
@@ -0,0 +1,12 @@
+{
+  "meta_name":"meta_description",
+  "meta_type":"type-value",
+  "meta_description":[
+    "Contains a text meant for the users of the meta info, using [mark down ",
+    "format](https://daringfireball.net/markdown) with the following extensions:\n",
+    "  * \\$ is used to introduce mathematical notation using the latex format,\n",
+    " * names containing an ``\\_'' are assumed to refer to other meta ",
+    "info."],
+  "meta_parent_section":"meta_info_entry",
+  "meta_data_type":"string"
+}
diff --git a/meta_info_exploded/meta.meta_dictionary/meta_dictionary.meta_info_entry.json b/meta_info_exploded/meta.meta_dictionary/meta_dictionary.meta_info_entry.json
new file mode 100644
index 0000000000000000000000000000000000000000..0f4f35e1ba2e0c0f6e3ec1bcc412381b4840156b
--- /dev/null
+++ b/meta_info_exploded/meta.meta_dictionary/meta_dictionary.meta_info_entry.json
@@ -0,0 +1,10 @@
+{
+  "meta_name":"meta_dictionary",
+  "meta_type":"type-section",
+  "meta_description":[
+    "A dictionary collection some meta_info_entry entries, their dependencies.\n",
+    "The dictionary is versioned using semantic ",
+    "versioning."],
+  "meta_repeats":true,
+  "meta_context_identifier":[]
+}
diff --git a/meta_info_exploded/meta.meta_dictionary/meta_dimension.meta_info_entry.json b/meta_info_exploded/meta.meta_dictionary/meta_dimension.meta_info_entry.json
new file mode 100644
index 0000000000000000000000000000000000000000..205c9d5b039766d7c8ec7f9eceaf5a3fe1ef5048
--- /dev/null
+++ b/meta_info_exploded/meta.meta_dictionary/meta_dimension.meta_info_entry.json
@@ -0,0 +1,14 @@
+{
+  "meta_name":"meta_dimension",
+  "meta_type":"type-section",
+  "meta_description":[
+    "The shape of the multidimensional array used to store the data corrsponding to ",
+    "this meta info, either meta_dimension_fixed or meta_dimension_symbolic.\n",
+    "Example: [{ ``meta_dimension_symbolic'': ``number_of_atoms''}, ",
+    "{``meta_dimension_fixed'': 3 }].\n",
+    "If no meta_dimension are given the data is a ",
+    "scalar."],
+  "meta_parent_section":"meta_info_entry",
+  "meta_repeats":true,
+  "meta_context_identifier":[]
+}
diff --git a/meta_info_exploded/meta.meta_dictionary/meta_dimension_fixed.meta_info_entry.json b/meta_info_exploded/meta.meta_dictionary/meta_dimension_fixed.meta_info_entry.json
new file mode 100644
index 0000000000000000000000000000000000000000..e1d714d4f882da7494ed8689f81cd459e4ffa3d4
--- /dev/null
+++ b/meta_info_exploded/meta.meta_dictionary/meta_dimension_fixed.meta_info_entry.json
@@ -0,0 +1,7 @@
+{
+  "meta_name":"meta_dimension_fixed",
+  "meta_type":"type-value",
+  "meta_description":"A fixed dimension of exactly the given size.",
+  "meta_parent_section":"meta_dimension",
+  "meta_data_type":"int64"
+}
diff --git a/meta_info_exploded/meta.meta_dictionary/meta_dimension_symbolic.meta_info_entry.json b/meta_info_exploded/meta.meta_dictionary/meta_dimension_symbolic.meta_info_entry.json
new file mode 100644
index 0000000000000000000000000000000000000000..2c01497dbb9882866d39ec67a26dd4048f990077
--- /dev/null
+++ b/meta_info_exploded/meta.meta_dictionary/meta_dimension_symbolic.meta_info_entry.json
@@ -0,0 +1,10 @@
+{
+  "meta_name":"meta_dimension_symbolic",
+  "meta_type":"type-value",
+  "meta_description":[
+    "A symbolic (variable) dimension, contains the name of a meta_info_entry with ",
+    "meta_type *type-dimension* that represents this ",
+    "dimension."],
+  "meta_parent_section":"meta_dimension",
+  "meta_data_type":"string"
+}
diff --git a/meta_info_exploded/meta.meta_dictionary/meta_enum.meta_info_entry.json b/meta_info_exploded/meta.meta_dictionary/meta_enum.meta_info_entry.json
new file mode 100644
index 0000000000000000000000000000000000000000..b6c23f45cd62eedb93db8770d3aff88dae12e7ff
--- /dev/null
+++ b/meta_info_exploded/meta.meta_dictionary/meta_enum.meta_info_entry.json
@@ -0,0 +1,10 @@
+{
+  "meta_name":"meta_enum",
+  "meta_type":"type-section",
+  "meta_description":[
+    "Describes each of the possible values of an enumeration ",
+    "meta_info_entry"],
+  "meta_parent_section":"meta_info_entry",
+  "meta_repeats":true,
+  "meta_context_identifier":[]
+}
diff --git a/meta_info_exploded/meta.meta_dictionary/meta_enum_description.meta_info_entry.json b/meta_info_exploded/meta.meta_dictionary/meta_enum_description.meta_info_entry.json
new file mode 100644
index 0000000000000000000000000000000000000000..f0eebb87e8c071766db8d671cb9a39751425d0b2
--- /dev/null
+++ b/meta_info_exploded/meta.meta_dictionary/meta_enum_description.meta_info_entry.json
@@ -0,0 +1,7 @@
+{
+  "meta_name":"meta_enum_description",
+  "meta_type":"type-value",
+  "meta_description":"The description of the meaning of the meta_enum_value.",
+  "meta_parent_section":"meta_enum",
+  "meta_data_type":"string"
+}
diff --git a/meta_info_exploded/meta.meta_dictionary/meta_enum_from.meta_info_entry.json b/meta_info_exploded/meta.meta_dictionary/meta_enum_from.meta_info_entry.json
new file mode 100644
index 0000000000000000000000000000000000000000..e1a384663df8af257b300896ee57f5a9d91729bf
--- /dev/null
+++ b/meta_info_exploded/meta.meta_dictionary/meta_enum_from.meta_info_entry.json
@@ -0,0 +1,9 @@
+{
+  "meta_name":"meta_enum_from",
+  "meta_type":"type-value",
+  "meta_description":[
+    "The meta_name of a meta_info_entry from which to take the meta_enum to easily ",
+    "share enumeration values across several meta_info_entry"],
+  "meta_parent_section":"meta_info_entry",
+  "meta_data_type":"string"
+}
diff --git a/meta_info_exploded/meta.meta_dictionary/meta_enum_value.meta_info_entry.json b/meta_info_exploded/meta.meta_dictionary/meta_enum_value.meta_info_entry.json
new file mode 100644
index 0000000000000000000000000000000000000000..38c23221e65c746cdfbddb1935810c9d0dea4ef5
--- /dev/null
+++ b/meta_info_exploded/meta.meta_dictionary/meta_enum_value.meta_info_entry.json
@@ -0,0 +1,7 @@
+{
+  "meta_name":"meta_enum_value",
+  "meta_type":"type-value",
+  "meta_description":"One of the possible values of an enumeration.",
+  "meta_parent_section":"meta_enum",
+  "meta_data_type":"string"
+}
diff --git a/meta_info_exploded/meta.meta_dictionary/meta_info_entry.meta_info_entry.json b/meta_info_exploded/meta.meta_dictionary/meta_info_entry.meta_info_entry.json
new file mode 100644
index 0000000000000000000000000000000000000000..000ef5aba75165f3afd41fece81eaeca3742dedb
--- /dev/null
+++ b/meta_info_exploded/meta.meta_dictionary/meta_info_entry.meta_info_entry.json
@@ -0,0 +1,12 @@
+{
+  "meta_name":"meta_info_entry",
+  "meta_type":"type-section",
+  "meta_description":[
+    "A dictionary collection some meta_info_entry entries, their dependencies.\n",
+    "The dictionary is versioned using sematic ",
+    "versioning."],
+  "meta_parent_section":"meta_dictionary",
+  "meta_repeats":true,
+  "meta_context_identifier":[],
+  "meta_chosen_key":"meta_name"
+}
diff --git a/meta_info_exploded/meta.meta_dictionary/meta_inject_if_abstract_type.meta_info_entry.json b/meta_info_exploded/meta.meta_dictionary/meta_inject_if_abstract_type.meta_info_entry.json
new file mode 100644
index 0000000000000000000000000000000000000000..9e713af41f28b10dfcababff3a2d1ae8c280d5ef
--- /dev/null
+++ b/meta_info_exploded/meta.meta_dictionary/meta_inject_if_abstract_type.meta_info_entry.json
@@ -0,0 +1,12 @@
+{
+  "meta_name":"meta_inject_if_abstract_type",
+  "meta_type":"type-value",
+  "meta_description":[
+    "Either the name of an abstract type that is required by all sections this is ",
+    "injected in, or '!' and the name of an abstract type that should not be parent ",
+    "of any of the sections that this section should be injected in. This further ",
+    "refines the selection done by meta_inject_if_section_regexp"],
+  "meta_parent_section":"meta_info_entry",
+  "meta_data_type":"string",
+  "meta_repeats":true
+}
diff --git a/meta_info_exploded/meta.meta_dictionary/meta_inject_if_section_regexp.meta_info_entry.json b/meta_info_exploded/meta.meta_dictionary/meta_inject_if_section_regexp.meta_info_entry.json
new file mode 100644
index 0000000000000000000000000000000000000000..0e090665f0d114d0eb023cf71e59bfb243efb951
--- /dev/null
+++ b/meta_info_exploded/meta.meta_dictionary/meta_inject_if_section_regexp.meta_info_entry.json
@@ -0,0 +1,14 @@
+{
+  "meta_name":"meta_inject_if_section_regexp",
+  "meta_type":"type-value",
+  "meta_description":[
+    "A regular expression (or meta name) that the sections this is injected in need ",
+    "to satisfy. Can be defined only in top level sections.\n",
+    "Together with meta_inject_if_abstract_type it can be used to define the sections ",
+    "in which all the values and sections contained in this section are added ",
+    "(injected).\n",
+    "If empty this is injected in *no* section."],
+  "meta_parent_section":"meta_info_entry",
+  "meta_data_type":"string",
+  "meta_repeats":true
+}
diff --git a/meta_info_exploded/meta.meta_dictionary/meta_name.meta_info_entry.json b/meta_info_exploded/meta.meta_dictionary/meta_name.meta_info_entry.json
new file mode 100644
index 0000000000000000000000000000000000000000..02bf6eaae74ca5a2e21ac95bee73e0a69f5789f3
--- /dev/null
+++ b/meta_info_exploded/meta.meta_dictionary/meta_name.meta_info_entry.json
@@ -0,0 +1,16 @@
+{
+  "meta_name":"meta_name",
+  "meta_type":"type-value",
+  "meta_description":[
+    "This is one of the most important properties of a Meta Info as it is used to ",
+    "identify it.\n",
+    "Only lowercase roman letters, numbers and underscore are allowed.\n",
+    "The prefixes t\\_, u\\_, \\_, x\\_ are reserved for temporary, user defined, non ",
+    "standard, and code specific Meta Info respectively.\n",
+    "Explicit names are preferred to abbreviations, and the name should always ",
+    "contain at least an `\\_'.\n",
+    "The name can uniquely identify the meta_info_entry in a meta_dictionary or in ",
+    "its context section."],
+  "meta_parent_section":"meta_info_entry",
+  "meta_data_type":"string"
+}
diff --git a/meta_info_exploded/meta.meta_dictionary/meta_parent_section.meta_info_entry.json b/meta_info_exploded/meta.meta_dictionary/meta_parent_section.meta_info_entry.json
new file mode 100644
index 0000000000000000000000000000000000000000..cff5ae27db16ea210615f53f9d8d1eed47908c83
--- /dev/null
+++ b/meta_info_exploded/meta.meta_dictionary/meta_parent_section.meta_info_entry.json
@@ -0,0 +1,10 @@
+{
+  "meta_name":"meta_parent_section",
+  "meta_type":"type-value",
+  "meta_description":[
+    "The name of the meta_info_entry with meta_type *type-section*. It is required, ",
+    "for *type-value* and optional for type-section. It is what structures the ",
+    "data."],
+  "meta_parent_section":"meta_info_entry",
+  "meta_data_type":"string"
+}
diff --git a/meta_info_exploded/meta.meta_dictionary/meta_query_enum.meta_info_entry.json b/meta_info_exploded/meta.meta_dictionary/meta_query_enum.meta_info_entry.json
new file mode 100644
index 0000000000000000000000000000000000000000..44248ec5cd637a18d20a37f2bd5e9f46949eaf8e
--- /dev/null
+++ b/meta_info_exploded/meta.meta_dictionary/meta_query_enum.meta_info_entry.json
@@ -0,0 +1,11 @@
+{
+  "meta_name":"meta_query_enum",
+  "meta_type":"type-section",
+  "meta_description":[
+    "Describes possible values that can be used to query this field, but are not ",
+    "really stored in it."],
+  "meta_parent_section":"meta_info_entry",
+  "meta_repeats":true,
+  "meta_context_identifier":[],
+  "meta_chosen_key":"meta_query_value"
+}
diff --git a/meta_info_exploded/meta.meta_dictionary/meta_query_expansion.meta_info_entry.json b/meta_info_exploded/meta.meta_dictionary/meta_query_expansion.meta_info_entry.json
new file mode 100644
index 0000000000000000000000000000000000000000..2626f40e8ce7f8376e0e33b3797fb5bed45181b3
--- /dev/null
+++ b/meta_info_exploded/meta.meta_dictionary/meta_query_expansion.meta_info_entry.json
@@ -0,0 +1,7 @@
+{
+  "meta_name":"meta_query_expansion",
+  "meta_type":"type-value",
+  "meta_description":"The query this entry is equivalent to.",
+  "meta_parent_section":"meta_query_enum",
+  "meta_data_type":"string"
+}
diff --git a/meta_info_exploded/meta.meta_dictionary/meta_query_regex.meta_info_entry.json b/meta_info_exploded/meta.meta_dictionary/meta_query_regex.meta_info_entry.json
new file mode 100644
index 0000000000000000000000000000000000000000..5989ff81e77bc69bf300c333e949e0506f4dc9c2
--- /dev/null
+++ b/meta_info_exploded/meta.meta_dictionary/meta_query_regex.meta_info_entry.json
@@ -0,0 +1,9 @@
+{
+  "meta_name":"meta_query_regex",
+  "meta_type":"type-value",
+  "meta_description":[
+    "a regular expression to use instead of the meta_query_values to identify this ",
+    "entry"],
+  "meta_parent_section":"meta_query_enum",
+  "meta_data_type":"string"
+}
diff --git a/meta_info_exploded/meta.meta_dictionary/meta_query_values.meta_info_entry.json b/meta_info_exploded/meta.meta_dictionary/meta_query_values.meta_info_entry.json
new file mode 100644
index 0000000000000000000000000000000000000000..70763a0646b05f615a3cef0fe53b7b7ebfc88fde
--- /dev/null
+++ b/meta_info_exploded/meta.meta_dictionary/meta_query_values.meta_info_entry.json
@@ -0,0 +1,10 @@
+{
+  "meta_name":"meta_query_values",
+  "meta_type":"type-value",
+  "meta_description":[
+    "The equivalent values that can be sugested for ",
+    "autocompletion"],
+  "meta_parent_section":"meta_query_enum",
+  "meta_data_type":"string",
+  "meta_repeats":true
+}
diff --git a/meta_info_exploded/meta.meta_dictionary/meta_range_expected.meta_info_entry.json b/meta_info_exploded/meta.meta_dictionary/meta_range_expected.meta_info_entry.json
new file mode 100644
index 0000000000000000000000000000000000000000..e16ba4927a56a7b384ba34e5332a78359d23ac09
--- /dev/null
+++ b/meta_info_exploded/meta.meta_dictionary/meta_range_expected.meta_info_entry.json
@@ -0,0 +1,10 @@
+{
+  "meta_name":"meta_range_expected",
+  "meta_type":"type-section",
+  "meta_description":[
+    "Gives the expected range for the values corresponding to this ",
+    "meta_info_entry"],
+  "meta_parent_section":"meta_info_entry",
+  "meta_repeats":true,
+  "meta_context_identifier":[]
+}
diff --git a/meta_info_exploded/meta.meta_dictionary/meta_range_kind.meta_info_entry.json b/meta_info_exploded/meta.meta_dictionary/meta_range_kind.meta_info_entry.json
new file mode 100644
index 0000000000000000000000000000000000000000..139c686ee27d84c12e319f88f7d436f585a51d26
--- /dev/null
+++ b/meta_info_exploded/meta.meta_dictionary/meta_range_kind.meta_info_entry.json
@@ -0,0 +1,33 @@
+{
+  "meta_name":"meta_range_kind",
+  "meta_type":"type-value",
+  "meta_description":"Defines the quantity the range is about.",
+  "meta_parent_section":"meta_range_expected",
+  "meta_data_type":"string",
+  "meta_enum":[{
+    "meta_enum_value":"value",
+    "meta_enum_description":[
+      "The range is for the scalar value (or every component for ",
+      "arrays)"]
+  },{
+    "meta_enum_value":"abs-value",
+    "meta_enum_description":[
+      "The range is for the absolute value of the scalar value (or every component for ",
+      "arrays)"]
+  },{
+    "meta_enum_value":"norm2",
+    "meta_enum_description":[
+      "The range is for the euclidean norm of the ",
+      "value"]
+  },{
+    "meta_enum_value":"utf8-length",
+    "meta_enum_description":[
+      "The length of the string value using utf-8 ",
+      "encoding"]
+  },{
+    "meta_enum_value":"repetitions",
+    "meta_enum_description":[
+      "The number of repetitions for a repeating ",
+      "value"]
+  }]
+}
diff --git a/meta_info_exploded/meta.meta_dictionary/meta_range_maximum.meta_info_entry.json b/meta_info_exploded/meta.meta_dictionary/meta_range_maximum.meta_info_entry.json
new file mode 100644
index 0000000000000000000000000000000000000000..630bc8501bf572ad27aa7289f348a055fc33f735
--- /dev/null
+++ b/meta_info_exploded/meta.meta_dictionary/meta_range_maximum.meta_info_entry.json
@@ -0,0 +1,7 @@
+{
+  "meta_name":"meta_range_maximum",
+  "meta_type":"type-value",
+  "meta_description":"The maximum expected value",
+  "meta_parent_section":"meta_range_expected",
+  "meta_data_type":"float"
+}
diff --git a/meta_info_exploded/meta.meta_dictionary/meta_range_minimum.meta_info_entry.json b/meta_info_exploded/meta.meta_dictionary/meta_range_minimum.meta_info_entry.json
new file mode 100644
index 0000000000000000000000000000000000000000..e3f6066f57b7b45d25a8462c2f566febc74bb5d9
--- /dev/null
+++ b/meta_info_exploded/meta.meta_dictionary/meta_range_minimum.meta_info_entry.json
@@ -0,0 +1,7 @@
+{
+  "meta_name":"meta_range_minimum",
+  "meta_type":"type-value",
+  "meta_description":"The minimum expected value",
+  "meta_parent_section":"meta_range_expected",
+  "meta_data_type":"float"
+}
diff --git a/meta_info_exploded/meta.meta_dictionary/meta_range_units.meta_info_entry.json b/meta_info_exploded/meta.meta_dictionary/meta_range_units.meta_info_entry.json
new file mode 100644
index 0000000000000000000000000000000000000000..adf57816bdd0cd9a2d9c85116e709dbf101b0239
--- /dev/null
+++ b/meta_info_exploded/meta.meta_dictionary/meta_range_units.meta_info_entry.json
@@ -0,0 +1,7 @@
+{
+  "meta_name":"meta_range_units",
+  "meta_type":"type-value",
+  "meta_description":"The units used for the range",
+  "meta_parent_section":"meta_range_expected",
+  "meta_data_type":"string"
+}
diff --git a/meta_info_exploded/meta.meta_dictionary/meta_referenced_section.meta_info_entry.json b/meta_info_exploded/meta.meta_dictionary/meta_referenced_section.meta_info_entry.json
new file mode 100644
index 0000000000000000000000000000000000000000..dc730d41e3f01ccb08c01c2de71dd710faf5ec99
--- /dev/null
+++ b/meta_info_exploded/meta.meta_dictionary/meta_referenced_section.meta_info_entry.json
@@ -0,0 +1,9 @@
+{
+  "meta_name":"meta_referenced_section",
+  "meta_type":"type-value",
+  "meta_description":[
+    "If the datatype is a reference this attribute must give the name of the ",
+    "sections that is referenced."],
+  "meta_parent_section":"meta_info_entry",
+  "meta_data_type":"string"
+}
diff --git a/meta_info_exploded/meta.meta_dictionary/meta_repeats.meta_info_entry.json b/meta_info_exploded/meta.meta_dictionary/meta_repeats.meta_info_entry.json
new file mode 100644
index 0000000000000000000000000000000000000000..ac8ad6a14b3b8ec507d47f95831b4ac2bcf819f3
--- /dev/null
+++ b/meta_info_exploded/meta.meta_dictionary/meta_repeats.meta_info_entry.json
@@ -0,0 +1,11 @@
+{
+  "meta_name":"meta_repeats",
+  "meta_type":"type-value",
+  "meta_description":[
+    "If the value (section) can be repeated several times within a ",
+    "meta_parent_section.\n",
+    "The default is true for *type-section* and false for ",
+    "*type-value*."],
+  "meta_parent_section":"meta_info_entry",
+  "meta_data_type":"boolean"
+}
diff --git a/meta_info_exploded/meta.meta_dictionary/meta_required.meta_info_entry.json b/meta_info_exploded/meta.meta_dictionary/meta_required.meta_info_entry.json
new file mode 100644
index 0000000000000000000000000000000000000000..f15befe5ba6f50de8d5b9549561d0c3dc05504b8
--- /dev/null
+++ b/meta_info_exploded/meta.meta_dictionary/meta_required.meta_info_entry.json
@@ -0,0 +1,9 @@
+{
+  "meta_name":"meta_required",
+  "meta_type":"type-value",
+  "meta_description":[
+    "If each meta_parent_section requires at least a value of this type.\n",
+    "Defaults to false."],
+  "meta_parent_section":"meta_info_entry",
+  "meta_data_type":"boolean"
+}
diff --git a/meta_info_exploded/meta.meta_dictionary/meta_type.meta_info_entry.json b/meta_info_exploded/meta.meta_dictionary/meta_type.meta_info_entry.json
new file mode 100644
index 0000000000000000000000000000000000000000..ff2d89942197833d8f4fbe2fbd7763e3ba10eddc
--- /dev/null
+++ b/meta_info_exploded/meta.meta_dictionary/meta_type.meta_info_entry.json
@@ -0,0 +1,45 @@
+{
+  "meta_name":"meta_type",
+  "meta_type":"type-value",
+  "meta_description":"Defines the type of meta_info_entry",
+  "meta_parent_section":"meta_info_entry",
+  "meta_data_type":"string",
+  "meta_enum":[{
+    "meta_enum_value":"type-value",
+    "meta_enum_description":[
+      "A concrete data value. For example the meta info program_name has this ",
+      "meta_type. Conceptually meta info of this type corresponds to a column in a ",
+      "relational database.\n",
+      "This is the default type if not specified."]
+  },{
+    "meta_enum_value":"type-section",
+    "meta_enum_description":[
+      "A section, this is a bit like a class in object oriented programming, or table ",
+      "in a relational database.\n",
+      "There might be many objects (rows) corresponding to this.\n",
+      "Sections structure the data by grouping together the values contained in them, ",
+      "and their subsections."]
+  },{
+    "meta_enum_value":"type-dimension",
+    "meta_enum_description":[
+      "Represents a ``symbolic'' dimension, its name should begin with number\\_of\\_.\n",
+      "The dimension does not need to be explicitly stored anywhere, but can be ",
+      "extracted form the shape of a value that uses ",
+      "it."]
+  },{
+    "meta_enum_value":"type-abstract",
+    "meta_enum_description":[
+      "An abstract type is used only to classify meta_info_entry.\n",
+      "Abstract types have no influence on how the data is stored, that is defined ",
+      "exclusively by sections and values, but have two important functions: Help ",
+      "describing values or sections (augmenting the textual description), and enable ",
+      "simpler or automatic handling of conceptually related quantities.\n",
+      "For instance all energies can have the abstract type energy_type, and all ",
+      "parameters that influence the computation of the xc functional have the ",
+      "abstract type settings_xc. This way one can treat all energies in the same way, ",
+      "or compute a checksum or compare all settings that influence the xc ",
+      "calculation, even code specific ones that are not part of the public Meta Info, ",
+      "as long as they correctly set their abstract ",
+      "types."]
+  }]
+}
diff --git a/meta_info_exploded/meta.meta_dictionary/meta_units.meta_info_entry.json b/meta_info_exploded/meta.meta_dictionary/meta_units.meta_info_entry.json
new file mode 100644
index 0000000000000000000000000000000000000000..f32170e254670ab635f6cd93cef91828d0b96b1c
--- /dev/null
+++ b/meta_info_exploded/meta.meta_dictionary/meta_units.meta_info_entry.json
@@ -0,0 +1,10 @@
+{
+  "meta_name":"meta_units",
+  "meta_type":"type-value",
+  "meta_description":[
+    "String giving the units used by default for the data of this Meta Info. They ",
+    "should be SI units, or combination of them using ``*'' and",
+    " ``^$exponent$''."],
+  "meta_parent_section":"meta_info_entry",
+  "meta_data_type":"string"
+}
diff --git a/meta_info_exploded/meta.meta_dictionary/meta_value_validate.meta_info_entry.json b/meta_info_exploded/meta.meta_dictionary/meta_value_validate.meta_info_entry.json
new file mode 100644
index 0000000000000000000000000000000000000000..a18cb2a89232faa59bed9734db0a21ab9c80e1f7
--- /dev/null
+++ b/meta_info_exploded/meta.meta_dictionary/meta_value_validate.meta_info_entry.json
@@ -0,0 +1,7 @@
+{
+  "meta_name":"meta_value_validate",
+  "meta_type":"type-value",
+  "meta_description":"Either a regexp or ')uri' or ')uri-reference'.",
+  "meta_parent_section":"meta_info_entry",
+  "meta_data_type":"string"
+}
diff --git a/meta_info_exploded/meta.meta_dictionary/metadict_dependency_gid.meta_info_entry.json b/meta_info_exploded/meta.meta_dictionary/metadict_dependency_gid.meta_info_entry.json
new file mode 100644
index 0000000000000000000000000000000000000000..4dd24b35576f3212fcd559ca9c357d3bc43fb204
--- /dev/null
+++ b/meta_info_exploded/meta.meta_dictionary/metadict_dependency_gid.meta_info_entry.json
@@ -0,0 +1,9 @@
+{
+  "meta_name":"metadict_dependency_gid",
+  "meta_type":"type-value",
+  "meta_description":[
+    "A Gid uniquely identifying the dependency (and recursively all its ",
+    "dependencies)"],
+  "meta_parent_section":"metadict_require",
+  "meta_data_type":"string"
+}
diff --git a/meta_info_exploded/meta.meta_dictionary/metadict_description.meta_info_entry.json b/meta_info_exploded/meta.meta_dictionary/metadict_description.meta_info_entry.json
new file mode 100644
index 0000000000000000000000000000000000000000..9ffcb07c30bf17507a9c878e48344f02f612e7b3
--- /dev/null
+++ b/meta_info_exploded/meta.meta_dictionary/metadict_description.meta_info_entry.json
@@ -0,0 +1,9 @@
+{
+  "meta_name":"metadict_description",
+  "meta_type":"type-value",
+  "meta_description":[
+    "A string describing the group of Meta Info contained in the ",
+    "dictionary."],
+  "meta_parent_section":"meta_dictionary",
+  "meta_data_type":"string"
+}
diff --git a/meta_info_exploded/meta.meta_dictionary/metadict_gid.meta_info_entry.json b/meta_info_exploded/meta.meta_dictionary/metadict_gid.meta_info_entry.json
new file mode 100644
index 0000000000000000000000000000000000000000..e06f783b20d5c99606ffbff96276d47a4a7edf14
--- /dev/null
+++ b/meta_info_exploded/meta.meta_dictionary/metadict_gid.meta_info_entry.json
@@ -0,0 +1,9 @@
+{
+  "meta_name":"metadict_gid",
+  "meta_type":"type-value",
+  "meta_description":[
+    "A Gid uniquely identifying the dictionary and recursively all its ",
+    "dependencies"],
+  "meta_parent_section":"meta_dictionary",
+  "meta_data_type":"string"
+}
diff --git a/meta_info_exploded/meta.meta_dictionary/metadict_name.meta_info_entry.json b/meta_info_exploded/meta.meta_dictionary/metadict_name.meta_info_entry.json
new file mode 100644
index 0000000000000000000000000000000000000000..5603c6f12bb92932aeb6b52bf8d9aafe1c3f623f
--- /dev/null
+++ b/meta_info_exploded/meta.meta_dictionary/metadict_name.meta_info_entry.json
@@ -0,0 +1,7 @@
+{
+  "meta_name":"metadict_name",
+  "meta_type":"type-value",
+  "meta_description":"The name of the dictionary.",
+  "meta_parent_section":"meta_dictionary",
+  "meta_data_type":"string"
+}
diff --git a/meta_info_exploded/meta.meta_dictionary/metadict_require.meta_info_entry.json b/meta_info_exploded/meta.meta_dictionary/metadict_require.meta_info_entry.json
new file mode 100644
index 0000000000000000000000000000000000000000..8b23330a1574f839efc8956672c9cc6e814c027e
--- /dev/null
+++ b/meta_info_exploded/meta.meta_dictionary/metadict_require.meta_info_entry.json
@@ -0,0 +1,9 @@
+{
+  "meta_name":"metadict_require",
+  "meta_type":"type-value",
+  "meta_description":[
+    "A list of other dictionaries that should be loaded to undestand this ",
+    "dictionary."],
+  "meta_parent_section":"meta_dictionary",
+  "meta_data_type":"string"
+}
diff --git a/meta_info_exploded/meta.meta_dictionary/metadict_version.meta_info_entry.json b/meta_info_exploded/meta.meta_dictionary/metadict_version.meta_info_entry.json
new file mode 100644
index 0000000000000000000000000000000000000000..d08ca564a03aa200dc97335735fa3bf9a56804f0
--- /dev/null
+++ b/meta_info_exploded/meta.meta_dictionary/metadict_version.meta_info_entry.json
@@ -0,0 +1,9 @@
+{
+  "meta_name":"metadict_version",
+  "meta_type":"type-value",
+  "meta_description":[
+    "A string containing the version of the dictionary using [Semantic Versioning ",
+    "2.0.0](http://semver.org/spec/v2.0.0.html)"],
+  "meta_parent_section":"meta_dictionary",
+  "meta_data_type":"string"
+}