diff --git a/elasticparser/elastic_parser.py b/elasticparser/elastic_parser.py
index a81471618cf5dc1e48bcf4959c969cd432c73eab..8fe03f902d5660867ab7e21680bf0cad8b384de7 100644
--- a/elasticparser/elastic_parser.py
+++ b/elasticparser/elastic_parser.py
@@ -148,8 +148,13 @@ class ElasticConstant3Parser(TextParser):
                 'cijk', r'(C\d\d\d)\s*=\s*([\-\d\.]+)\s*GPa', repeats=True, convert=False)]
 
 
-class ElasticParserInterface:
+class ElasticParser(FairdiParser):
     def __init__(self):
+        super().__init__(
+            name='parsers/elastic', code_name='elastic', code_homepage='http://exciting-code.org/elastic',
+            mainfile_contents_re=r'\s*Order of elastic constants\s*=\s*[0-9]+\s*',
+            mainfile_name_re=(r'.*/INFO_ElaStic'))
+        self._metainfo_env = m_env
         self._mainfile = None
         self.logger = None
         self._deform_dirs = None
@@ -639,24 +644,3 @@ class ElasticParserInterface:
         sec_elastic.elastic_calculation_method = self.info['calculation_method'].lower()
         sec_elastic.elastic_constants_order = self.info['order']
         sec_elastic.strain_maximum = self.info['max_strain']
-
-
-class ElasticParser(FairdiParser):
-    def __init__(self):
-        super().__init__(
-            name='parsers/elastic', code_name='elastic', code_homepage='http://exciting-code.org/elastic',
-            mainfile_contents_re=r'\s*Order of elastic constants\s*=\s*[0-9]+\s*',
-            mainfile_name_re=(r'.*/INFO_ElaStic'))
-
-        self._metainfo_env = m_env
-        self.parser = None
-
-    def parse(self, filepath, archive, logger):
-        parser = ElasticParserInterface()
-
-        if self.parser is not None:
-            parser.reuse_parser(self.parser)
-        else:
-            self.parser = parser
-
-        parser.parse(filepath, archive, logger)