diff --git a/parser/parser-wien2k/#wien2k_parser_struct.py# b/parser/parser-wien2k/#wien2k_parser_struct.py#
deleted file mode 100644
index 72e24285e05c2253a67d579993315f26c621d098..0000000000000000000000000000000000000000
--- a/parser/parser-wien2k/#wien2k_parser_struct.py#
+++ /dev/null
@@ -1,71 +0,0 @@
-from builtins import object
-import setup_paths
-from nomadcore.simple_parser import mainFunction, CachingLevel
-from nomadcore.simple_parser import SimpleMatcher as SM
-from nomadcore.local_meta_info import loadJsonFile, InfoKindEl
-import os, sys, json
-
-class Wien2kStructContext(object):
-    """context for wien2k struct parser"""
-
-    def __init__(self):
-        self.parser = None
-
-    def initialize_values(self):
-        """allows to reset values if the same superContext is used to parse different files"""
-        pass
-
-    def startedParsing(self, path, parser):
-        """called when parsing starts"""
-        self.parser = parser
-        # allows to reset values if the same superContext is used to parse different files
-        self.initialize_values()
-
-
-# description of the input
-def buildStructureMatchers():
-    return SM(
-    name = 'root',
-    weak = True,
-    startReStr = "",
-    sections = ["section_run", "section_system"],
-    subMatchers = [
-        SM(name = 'systemName',
-           startReStr = r"(?P<x_wien2k_system_nameIn>.*)"),
-        SM(r"\w+\s*LATTICE,NONEQUIV\.ATOMS.\s*(?P<x_wien2k_nonequiv_atoms>[0-9]+)"),
-        SM(r"(?P<x_wien2k_calc_mode>.*)"),
-       # SM(r"\s*(?P<x_wien2k_unit_cell_param_a>[-+0-9.eEdD]+)\s*(?P<x_wien2k_unit_cell_param_b>[-+0-9.eEdD]+)\s*(?P<x_wien2k_unit_cell_param_c>[-+0-9.eEdD]+)\s*(?P<x_wien2k_angle_between_unit_axis_alfa>[-+0-9.eEdD]{9})\s*(?P<x_wien2k_angle_between_unit_axis_beta>[-+0-9.eEdD]{9})\s*(?P<x_wien2k_angle_between_unit_axis_gamma>[-+0-9.eEdD]+)"),
-        SM(r"\s*(?P<x_wien2k_unit_cell_param_a>[-+0-9]*\.\d{0,6}){0,10}\s*(?P<x_wien2k_unit_cell_param_b>[-+0-9]*\.\d{0,6}){0,10}\s*(?P<x_wien2k_unit_cell_param_c>[-+0-9]*\.\d{0,6}){0,10}\s*(?P<x_wien2k_angle_between_unit_axis_alfa>[-+]?[0-9]*\.\d{0,6}){0,10}\s*(?P<x_wien2k_angle_between_unit_axis_beta>[-+]?[0-9]*\.\d{0,6}){0,10}\s*(?P<x_wien2k_angle_between_unit_axis_gamma>[-+]?[0-9]*\.\d*)"),
-        SM(r"\s*ATOM\s*[-0-9]+:\s*X=(?P<x_wien2k_atom_pos_x>[-+0-9.eEdD]+)\s*Y=(?P<x_wien2k_atom_pos_y>[-+0-9.eEdD]+)\s*Z=(?P<x_wien2k_atom_pos_z>[-+0-9.eEdD]+)",
-           repeats=True,
-           sections=["x_wien2k_section_equiv_atoms"],
-           subMatchers=[
-               SM(r"\s*[-0-9]+:\s*X=(?P<x_wien2k_atom_pos_x>[-+0-9.eEdD]+)\s*Y=(?P<x_wien2k_atom_pos_y>[-+0-9.eEdD]+)\s*Z=(?P<x_wien2k_atom_pos_z>[-+0-9.eEdD]+)",
-                  repeats=True
-              ),
-    #           SM(r"\s*(?P<atom>.{10})\s*NPT=\s*(?P<NPT>[0-9]+)\s*R0=(?P<r0>[0-9.]+)\s*RMT=\s*(?P<rmt>[0-9.]+)\s*Z:\s*(?P<z>[0-9.]+)",)
-               SM(r"\s*(?P<x_wien2k_atom_name>^.+)\s*NPT=\s*(?P<x_wien2k_NPT>[0-9]+)\s*R0=(?P<x_wien2k_R0>[0-9.]+)\s*RMT=\s*(?P<x_wien2k_RMT>[0-9.]+)\s*Z:\s*(?P<x_wien2k_atomic_number_Z>[0-9.]+)",)
-           ]
-       )
-    ])
-
-def get_cachingLevelForMetaName(metaInfoEnv, CachingLvl):
-    """Sets the caching level for the metadata.
-
-    Args:
-        metaInfoEnv: metadata which is an object of the class InfoKindEnv in nomadcore.local_meta_info.py.
-        CachingLvl: Sets the CachingLevel for the sections k_band, run, and single_configuration_calculation.
-            This allows to run the parser without opening new sections.
-
-    Returns:
-        Dictionary with metaname as key and caching level as value.
-    """
-    # manually adjust caching of metadata
-    cachingLevelForMetaName = {
-                               'section_run': CachingLvl,
-                               'section_system': CachingLvl
-                              }
-    cachingLevelForMetaName["x_wien2k_system_nameIn"] = CachingLevel.ForwardAndCache
-    return cachingLevelForMetaName
-
-# loading metadata from nomad-meta-info/meta_info/nomad_meta_info/fhi_aims.nomadmetainfo.json
diff --git a/parser/parser-wien2k/wien2k_parser_in0.py b/parser/parser-wien2k/wien2k_parser_in0.py
index 1e0492c7b33d300e7ee9b8d72572539b3aef3da1..b602d6a2a3988845a08125bb9882f9d868de6b13 100644
--- a/parser/parser-wien2k/wien2k_parser_in0.py
+++ b/parser/parser-wien2k/wien2k_parser_in0.py
@@ -28,25 +28,24 @@ def buildIn0Matchers():
     name = 'root',
     weak = True,
     startReStr = "",
-    sections = ["section_run", "section_system"],
+        sections = ["section_run", "section_method"],
     subMatchers = [
-        SM(name = 'systemName',
-           startReStr = r"(?P<x_wien2k_system_nameIn>.*)"),
-        SM(r"\w+\s*LATTICE,NONEQUIV\.ATOMS.\s*(?P<x_wien2k_nonequiv_atoms>[0-9]+)"),
-        SM(r"(?P<x_wien2k_calc_mode>.*)"),
-       # SM(r"\s*(?P<x_wien2k_unit_cell_param_a>[-+0-9.eEdD]+)\s*(?P<x_wien2k_unit_cell_param_b>[-+0-9.eEdD]+)\s*(?P<x_wien2k_unit_cell_param_c>[-+0-9.eEdD]+)\s*(?P<x_wien2k_angle_between_unit_axis_alfa>[-+0-9.eEdD]{9})\s*(?P<x_wien2k_angle_between_unit_axis_beta>[-+0-9.eEdD]{9})\s*(?P<x_wien2k_angle_between_unit_axis_gamma>[-+0-9.eEdD]+)"),
-        SM(r"\s*(?P<x_wien2k_unit_cell_param_a>[-+0-9]*\.\d{0,6}){0,10}\s*(?P<x_wien2k_unit_cell_param_b>[-+0-9]*\.\d{0,6}){0,10}\s*(?P<x_wien2k_unit_cell_param_c>[-+0-9]*\.\d{0,6}){0,10}\s*(?P<x_wien2k_angle_between_unit_axis_alfa>[-+]?[0-9]*\.\d{0,6}){0,10}\s*(?P<x_wien2k_angle_between_unit_axis_beta>[-+]?[0-9]*\.\d{0,6}){0,10}\s*(?P<x_wien2k_angle_between_unit_axis_gamma>[-+]?[0-9]*\.\d*)"),
-        SM(r"\s*ATOM\s*[-0-9]+:\s*X=(?P<x_wien2k_atom_pos_x>[-+0-9.eEdD]+)\s*Y=(?P<x_wien2k_atom_pos_y>[-+0-9.eEdD]+)\s*Z=(?P<x_wien2k_atom_pos_z>[-+0-9.eEdD]+)",
-           repeats=True,
-           sections=["x_wien2k_section_equiv_atoms"],
-           subMatchers=[
-               SM(r"\s*[-0-9]+:\s*X=(?P<x_wien2k_atom_pos_x>[-+0-9.eEdD]+)\s*Y=(?P<x_wien2k_atom_pos_y>[-+0-9.eEdD]+)\s*Z=(?P<x_wien2k_atom_pos_z>[-+0-9.eEdD]+)",
-                  repeats=True
-              ),
-    #           SM(r"\s*(?P<atom>.{10})\s*NPT=\s*(?P<NPT>[0-9]+)\s*R0=(?P<r0>[0-9.]+)\s*RMT=\s*(?P<rmt>[0-9.]+)\s*Z:\s*(?P<z>[0-9.]+)",)
-               SM(r"\s*(?P<x_wien2k_atom_name>^.+)\s*NPT=\s*(?P<x_wien2k_NPT>[0-9]+)\s*R0=(?P<x_wien2k_R0>[0-9.]+)\s*RMT=\s*(?P<x_wien2k_RMT>[0-9.]+)\s*Z:\s*(?P<x_wien2k_atomic_number_Z>[0-9.]+)",)
-           ]
-       )
+#        SM(name = 'systemName',
+#          startReStr = r"(?P<x_wien2k_system_nameIn>.*)"),
+        SM(r"(?P<x_wien2k_switch>\w*)\s*(?P<x_wien2k_indxc>[0-9]+)\s*.*"),
+        SM(r"\s*(?P<x_wien2k_ifft_x>[0-9]+)\s*(?P<x_wien2k_ifft_y>[0-9]+)\s*(?P<x_wien2k_ifft_z>[0-9]+)\s*(?P<x_wien2k_ifft_factor>[0-9.]+)\s*(?P<x_wien2k_iprint>[0-9]+).*")
+#        SM(r"(?P<x_wien2k_calc_mode>.*)"),
+#        SM(r"\s*(?P<x_wien2k_unit_cell_param_a>[-+0-9]*\.\d{0,6}){0,10}\s*(?P<x_wien2k_unit_cell_param_b>[-+0-9]*\.\d{0,6}){0,10}\s*(?P<x_wien2k_unit_cell_param_c>[-+0-9]*\.\d{0,6}){0,10}\s*(?P<x_wien2k_angle_between_unit_axis_alfa>[-+]?[0-9]*\.\d{0,6}){0,10}\s*(?P<x_wien2k_angle_between_unit_axis_beta>[-+]?[0-9]*\.\d{0,6}){0,10}\s*(?P<x_wien2k_angle_between_unit_axis_gamma>[-+]?[0-9]*\.\d*)"),
+#        SM(r"\s*ATOM\s*[-0-9]+:\s*X=(?P<x_wien2k_atom_pos_x>[-+0-9.eEdD]+)\s*Y=(?P<x_wien2k_atom_pos_y>[-+0-9.eEdD]+)\s*Z=(?P<x_wien2k_atom_pos_z>[-+0-9.eEdD]+)",
+#           repeats=True,
+#           sections=["x_wien2k_section_equiv_atoms"],
+#           subMatchers=[
+#               SM(r"\s*[-0-9]+:\s*X=(?P<x_wien2k_atom_pos_x>[-+0-9.eEdD]+)\s*Y=(?P<x_wien2k_atom_pos_y>[-+0-9.eEdD]+)\s*Z=(?P<x_wien2k_atom_pos_z>[-+0-9.eEdD]+)",
+#                  repeats=True
+#              ),
+#               SM(r"\s*(?P<x_wien2k_atom_name>^.+)\s*NPT=\s*(?P<x_wien2k_NPT>[0-9]+)\s*R0=(?P<x_wien2k_R0>[0-9.]+)\s*RMT=\s*(?P<x_wien2k_RMT>[0-9.]+)\s*Z:\s*(?P<x_wien2k_atomic_number_Z>[0-9.]+)",)
+#           ]
+#       )
     ])
 
 def get_cachingLevelForMetaName(metaInfoEnv, CachingLvl):
@@ -63,9 +62,8 @@ def get_cachingLevelForMetaName(metaInfoEnv, CachingLvl):
     # manually adjust caching of metadata
     cachingLevelForMetaName = {
                                'section_run': CachingLvl,
-                               'section_system': CachingLvl
+                               'section_method': CachingLvl
                               }
-    cachingLevelForMetaName["x_wien2k_system_nameIn"] = CachingLevel.ForwardAndCache
     return cachingLevelForMetaName
 
 # loading metadata from nomad-meta-info/meta_info/nomad_meta_info/fhi_aims.nomadmetainfo.json
diff --git a/src/main/scala/eu/nomad_lab/parsers/Wien2kParser.scala b/src/main/scala/eu/nomad_lab/parsers/Wien2kParser.scala
index ad314e254be5be879a8661be5d720686ae309198..781f0a2f5e011e3e1300fd3333ce9f4e6ede08eb 100644
--- a/src/main/scala/eu/nomad_lab/parsers/Wien2kParser.scala
+++ b/src/main/scala/eu/nomad_lab/parsers/Wien2kParser.scala
@@ -27,6 +27,7 @@ object Wien2kParser extends SimpleExternalParserGenerator(
     "--uri", "${mainFileUri}", "${mainFilePath}"),
   resList = Seq(
     "parser-wien2k/wien2k_parser.py",
+    "parser-wien2k/wien2k_parser_in0.py",
     "parser-wien2k/wien2k_parser_struct.py",
     "parser-wien2k/setup_paths.py",
     "nomad_meta_info/public.nomadmetainfo.json",