diff --git a/parser/parser-orca/orca_parser.py b/parser/parser-orca/orca_parser.py
index 9617190638586b817ee62d3066cd4d6b438a9d08..a607918c44f39d6a263c9091f924603805c99438 100644
--- a/parser/parser-orca/orca_parser.py
+++ b/parser/parser-orca/orca_parser.py
@@ -37,6 +37,52 @@ class OrcaContext(object):
         # allows to reset values if the same superContext is used to parse different files
         self.initialize_values()
 
+    def onClose_x_orca_atom_positions(self, backend, gIndex, value):
+            x = value["x_orca_atom_positions_x"]
+       	    y = value["x_orca_atom_positions_y"]
+       	    z = value["x_orca_atom_positions_z"]
+            pos = np.zeros((len(x),3), dtype=float)
+            pos[:,0] = x
+       	    pos[:,1] = y
+       	    pos[:,2] = z
+            backend.addArrayValue("atom_positions", pos)
+            backend.addValue("atom_labels", value["x_orca_atom_labels"])
+
+    def onClose_x_orca_XC_functional(self, backend, gIndex, value):
+            x = value["orca_x_dft_method"]
+            backend.addValue("XC_functional_name", x)
+
+    def onClose_x_total_energy(self, backend, gIndex, value):
+            x = value["orca_x_total_energy"]
+            backend.addValue("energy_total", x)
+
+    def onClose_x_orca_orbital_energies(self, backend, gIndex, value):
+            x = value["orca_x_orbital_nb"]
+            y = value["orca_x_orbital_occupation_nb"]
+            z = value["orca_x_orbital_energy"]
+            orbitals = np.zeros((len(x),3), dtype=float)
+            orbitals[:,0] = x
+            orbitals[:,1] = y
+            orbitals[:,2] = z
+            backend.addArrayValue("eigenvalues_occupation", orbitals)
+
+    def onClose_x_orca_basis_set_info(self, backend, gIndex, value):
+            x = value["x_orca_atom_labels"]
+            y = value["x_orca_basis_set"]
+            z = value["x_orca_basis_set_contracted"]
+            basisSet = np.zeros((len(x),3), dtype=float)
+            basisSet[:,0] = x
+            basisSet[:,1] = y
+            basisSet[:,2] = z
+            backend.addArrayValue("program_basis_set_type", 'Gaussian' + basisSet)
+
+
+   def onClose_program_name(self, backend, gIndex, value):
+            x = 'ORCA'
+            y = value["program_version"]
+            z = value["orca_program_compilation_date"]
+            backend.addValue("program_name", x + y + z)
+
 ##########################################################
 ############    [2] MAIN PARSER STARTS HERE   ############
 ##########################################################