diff --git a/parser/parser-gaussian/parser_gaussian.py b/parser/parser-gaussian/parser_gaussian.py
index 243f734447117eb9c3ce8d394a36cc9c3c2d2e6f..ed2738539a438812c866b0a9bc270ca23a067112 100644
--- a/parser/parser-gaussian/parser_gaussian.py
+++ b/parser/parser-gaussian/parser_gaussian.py
@@ -28,7 +28,6 @@ mainFileDescription = SM(
     subMatchers = [
         SM(name = 'newRun',
            startReStr = r"\s*Cite this work as:",
-#           endReStr = r"\s*Normal termination of Gaussian",
            repeats = True,
            required = True,
            forwardMatch = True,
@@ -99,27 +98,19 @@ mainFileDescription = SM(
                 ),
                     SM(name = 'TotalEnergyScfGaussian',
                     sections  = ['section_scf_iteration'],
-                    startReStr = r"\s*Cycle\s+[0-9]+",
-                    endReStr = r"\s*Leave Link  502\s*",
+                    startReStr = r"\s*Cycle\s+[0-9]+|\s*Initial guess <Sx>=",
                     forwardMatch = True,
-                    repeats = True, 
+                    repeats = True,
                     subMatchers = [
-                    SM(r"\s*Cycle\s+[0-9]+"),
+                    SM(r"\s*Cycle\s+[0-9]+|\s*Initial guess <Sx>="),
                     SM(r"\s*E=\s*(?P<energy_total_scf_iteration__hartree>[-+0-9.]+)\s*Delta-E=\s*(?P<x_gaussian_delta_energy_total_scf_iteration__hartree>[-+0-9.]+)"),
                     SM(r"\s*(?P<x_gaussian_single_configuration_calculation_converged>SCF Done):\s*[(),A-Za-z0-9-]+\s*=\s*(?P<x_gaussian_energy_total__hartree>[-+0-9.]+)"),
                      SM(r"\s*NFock=\s*[0-9]+\s*Conv=(?P<x_gaussian_energy_error__hartree>[-+0-9EeDd.]+)\s*"),
                      SM(r"\s*KE=\s*(?P<x_gaussian_electronic_kinetic_energy__hartree>[-+0-9EeDd.]+)\s*"),
-                    ]
-                ), 
-                    SM(name = 'RealSpinValue',
-                    sections  = ['x_gaussian_section_real_spin_squared'],
-                    startReStr = r"\s*Annihilation of the first spin contaminant",
-                    forwardMatch = True,
-                    repeats = True,
-                    subMatchers = [
                      SM(r"\s*Annihilation of the first spin contaminant"),
-                     SM(r"\s*[A-Z][*][*][0-9]\s*before annihilation\s*(?P<spin_S2>[0-9.]+),\s*after\s*(?P<x_gaussian_after_annihilation_spin_S2>[0-9.]+)")
-                     ]
+                     SM(r"\s*[A-Z][*][*][0-9]\s*before annihilation\s*(?P<spin_S2>[0-9.]+),\s*after\s*(?P<x_gaussian_after_annihilation_spin_S2>[0-9.]+)"),
+                     SM(r"\s*[()A-Z0-9]+\s*=\s*[-+0-9D.]+\s*[()A-Z0-9]+\s*=\s*(?P<x_gaussian_energy_total_perturbative__hartree>[-+0-9D.]+)"),
+                    ]
                 ),
                     SM(name = 'PerturbationEnergies',
                     sections = ['x_gaussian_section_moller_plesset'],
@@ -265,6 +256,16 @@ mainFileDescription = SM(
                       SM(r"\s*- Condensed to atoms (all electrons)"),
                       ]
              ),
+                   SM(name = 'ForcesGaussian',
+                   sections  = ['x_gaussian_section_atom_forces'],
+                   startReStr = "\s*Center\s+Atomic\s+Forces ",
+                   forwardMatch = True,
+                   subMatchers = [
+                    SM(r"\s*Center\s+Atomic\s+Forces "),
+                    SM(r"\s+[0-9]+\s+[0-9]+\s+(?P<x_gaussian_atom_x_force__hartree_bohr_1>[-+0-9EeDd.]+)\s+(?P<x_gaussian_atom_y_force__hartree_bohr_1>[-+0-9EeDd.]+)\s+(?P<x_gaussian_atom_z_force__hartree_bohr_1>[-+0-9EeDd.]+)",repeats = True),
+                    SM(r"\s*Cartesian Forces:\s+")
+                    ]
+                ),
                 SM(name = 'Multipoles',
                   sections = ['x_gaussian_section_molecular_multipoles'],
                   startReStr = r"\s*Electronic spatial extent",
@@ -290,16 +291,6 @@ mainFileDescription = SM(
                       SM(r"\s+\w+=\s+(?P<hexadecapole_moment_xxyz>[-+0-9EeDd.]+)\s+\w+=\s+(?P<hexadecapole_moment_yyxz>[-+0-9EeDd.]+)\s+\w+=\s+(?P<hexadecapole_moment_zzxy>[-+0-9EeDd.]+)")
                       ]
              ),    
-                   SM(name = 'ForcesGaussian',
-                   sections  = ['x_gaussian_section_atom_forces'],
-                   startReStr = "\s*Center\s+Atomic\s+Forces ",
-                   forwardMatch = True,
-                   subMatchers = [
-                    SM(r"\s*Center\s+Atomic\s+Forces "),
-                    SM(r"\s+[0-9]+\s+[0-9]+\s+(?P<x_gaussian_atom_x_force__hartree_bohr_1>[-+0-9EeDd.]+)\s+(?P<x_gaussian_atom_y_force__hartree_bohr_1>[-+0-9EeDd.]+)\s+(?P<x_gaussian_atom_z_force__hartree_bohr_1>[-+0-9EeDd.]+)",repeats = True),
-                    SM(r"\s*Cartesian Forces:\s+")
-                    ]
-                ),
                      SM (name = 'Frequencies',
                      sections = ['x_gaussian_section_frequencies'],
                      startReStr = r"\s*Frequencies --",
@@ -340,24 +331,24 @@ mainFileDescription = SM(
              ),
                 SM(name = 'CompositeModelEnergies',
                 sections = ['x_gaussian_section_models'],
-                startReStr = r"\s*Diagonal vibrational polarizability\s*",
+                startReStr = r"\s*Temperature=\s*",
                 forwardMatch = False,
                 repeats = True,
                 subMatchers = [
-                 SM(r"\s*G1 Energy=\s*(?P<x_gaussian_model_energy__hartree>[-+0-9.]+)"),
-                 SM(r"\s*G2 Energy=\s*(?P<x_gaussian_model_energy__hartree>[-+0-9.]+)"),
-                 SM(r"\s*G2MP2 Energy=\s*(?P<x_gaussian_model_energy__hartree>[-+0-9.]+)"),
-                 SM(r"\s*G3 Energy=\s*(?P<x_gaussian_model_energy__hartree>[-+0-9.]+)"),
-                 SM(r"\s*G3MP2 Energy=\s*(?P<x_gaussian_model_energy__hartree>[-+0-9.]+)"),
-                 SM(r"\s*G4 Energy=\s*(?P<x_gaussian_model_energy__hartree>[-+0-9.]+)"),
-                 SM(r"\s*G4MP2 Energy=\s*(?P<x_gaussian_model_energy__hartree>[-+0-9.]+)"),
-                 SM(r"\s*CBS-4 Energy=\s*(?P<x_gaussian_model_energy__hartree>[-+0-9.]+)"),
-                 SM(r"\s*CBS-q Energy=\s*(?P<x_gaussian_model_energy__hartree>[-+0-9.]+)"),
-                 SM(r"\s*CBS-Q Energy=\s*(?P<x_gaussian_model_energy__hartree>[-+0-9.]+)"),
-                 SM(r"\s*CBS-QB3 Energy=\s*(?P<x_gaussian_model_energy__hartree>[-+0-9.]+)"),
-                 SM(r"\s*W1U   Electronic Energy\s*(?P<x_gaussian_model_energy__hartree>[-+0-9.]+)"),
-                 SM(r"\s*W1RO  Electronic Energy\s*(?P<x_gaussian_model_energy__hartree>[-+0-9.]+)"),
-                 SM(r"\s*W1BD  Electronic Energy\s*(?P<x_gaussian_model_energy__hartree>[-+0-9.]+)"),
+                 SM(r"\s*G1\(0 K\)=\s*[-+0-9.]+\s*G1 Energy=\s*(?P<x_gaussian_G1_energy__hartree>[-+0-9.]+)"),
+                 SM(r"\s*G2\(0 K\)=\s*[-+0-9.]+\s*G2 Energy=\s*(?P<x_gaussian_G2_energy__hartree>[-+0-9.]+)"),
+                 SM(r"\s*G2MP2\(0 K\)=\s*[-+0-9.]+\s*G2MP2 Energy=\s*(?P<x_gaussian_G2MP2_energy__hartree>[-+0-9.]+)"),
+                 SM(r"\s*G3\(0 K\)=\s*[-+0-9.]+\s*G3 Energy=\s*(?P<x_gaussian_G3_energy__hartree>[-+0-9.]+)"),
+                 SM(r"\s*G3MP2\(0 K\)=\s*[-+0-9.]+\s*G3MP2 Energy=\s*(?P<x_gaussian_G3MP2_energy__hartree>[-+0-9.]+)"),
+                 SM(r"\s*G4\(0 K\)=\s*[-+0-9.]+\s*G4 Energy=\s*(?P<x_gaussian_G4_energy__hartree>[-+0-9.]+)"),
+                 SM(r"\s*G4MP2\(0 K\)=\s*[-+0-9.]+\s*G4MP2 Energy=\s*(?P<x_gaussian_G4MP2_energy__hartree>[-+0-9.]+)"),
+                 SM(r"\s*CBS-4 \(0 K\)=\s*[-+0-9.]+\s*CBS-4 Energy=\s*(?P<x_gaussian_CBS4_energy__hartree>[-+0-9.]+)"),
+                 SM(r"\s*CBS-q \(0 K\)=\s*[-+0-9.]+\s*CBS-q Energy=\s*(?P<x_gaussian_CBSq_energy__hartree>[-+0-9.]+)"),
+                 SM(r"\s*CBS-Q \(0 K\)=\s*[-+0-9.]+\s*CBS-Q Energy=\s*(?P<x_gaussian_CBSQ_energy__hartree>[-+0-9.]+)"),
+                 SM(r"\s*CBS-QB3 \(0 K\)=\s*[-+0-9.]+\s*CBS-QB3 Energy=\s*(?P<x_gaussian_CBSQB3_energy__hartree>[-+0-9.]+)"),
+                 SM(r"\s*W1U  \(0 K\)=\s*[-+0-9.]+\s*W1U   Electronic Energy\s*(?P<x_gaussian_W1U_energy__hartree>[-+0-9.]+)"),
+                 SM(r"\s*W1RO  \(0 K\)=\s*[-+0-9.]+\s*W1RO  Electronic Energy\s*(?P<x_gaussian_W1RO_energy__hartree>[-+0-9.]+)"),
+                 SM(r"\s*W1BD  \(0 K\)=\s*[-+0-9.]+\s*W1BD  Electronic Energy\s*(?P<x_gaussian_W1BD_energy__hartree>[-+0-9.]+)"),
                        ]
              ),
                 SM(name = 'run times',
@@ -396,6 +387,8 @@ class GaussianParserContext(object):
       def __init__(self):
         # dictionary of energy values, which are tracked between SCF iterations and written after convergence
         self.totalEnergyList = {
+                                'x_gaussian_energy_total': None,
+                                'x_gaussian_energy_total_perturbative': None,
                                 'x_gaussian_electronic_kinetic_energy': None,
                                 'x_gaussian_energy_electrostatic': None,
                                 'x_gaussian_energy_error': None,
@@ -520,6 +513,7 @@ class GaussianParserContext(object):
            self.scfConvergence = True
            if section['x_gaussian_energy_total']:
               if section['x_gaussian_electronic_kinetic_energy']:
+                 self.scfenergyconverged = float(str(section['x_gaussian_energy_total']).replace("[","").replace("]","").replace("D","E"))
                  self.scfkineticenergyconverged = float(str(section['x_gaussian_electronic_kinetic_energy']).replace("[","").replace("]","").replace("D","E"))
                  self.scfelectrostaticenergy = self.scfenergyconverged - self.scfkineticenergyconverged
                  backend.addValue('x_gaussian_energy_electrostatic', self.scfelectrostaticenergy)
@@ -789,96 +783,95 @@ class GaussianParserContext(object):
        # If 'weight' is not given it is not written.
        # With 'convert', a funtion is specified how hybrid_xc_coeff is converted to the correct weight for this xc component.
         xcDict = {
-              'S':           [{'name': 'LDA_X'}],
-              'XA':	     [{'name': 'X_ALPHA'}],
-              'VWN5':        [{'name': 'LDA_C_VWN'}],
-              'VWN':         [{'name': 'LDA_C_VWN_3'}],
-              'LSDA':        [{'name': 'LDA_X'}, {'name': 'LDA_C_VWN'}], 
-              'B':           [{'name': 'GGA_X_B88'}],
-              'BLYP':        [{'name': 'GGA_C_LYP'}, {'name': 'GGA_X_B88'}],
-              'PBE':         [{'name': 'GGA_C_PBE'}],
-              'PBEPBE':      [{'name': 'GGA_C_PBE'}, {'name': 'GGA_X_PBE'}],
-              'PBEH':        [{'name': 'GGA_X_PBEH'}],
-              'WPBEH':       [{'name': 'GGA_X_WPBEH'}],
-              'PW91PW91':    [{'name': 'GGA_C_PW91'}, {'name': 'GGA_X_PW91'}],
-              'M06L':        [{'name': 'MGGA_C_M06_L'}, {'name': 'MGGA_X_M06_L'}],
-              'M11L':        [{'name': 'MGGA_C_M11_L'}, {'name': 'MGGA_X_M11_L'}],
-              'SOGGA11':     [{'name': 'GGA_XC_SOGGA11'}],
-              'MN12L':       [{'name': 'GGA_XC_MN12L'}],
-              'N12':         [{'name': 'GGA_C_N12'}, {'name': 'GGA_X_N12'}],
-              'VSXC':        [{'name': 'GGA_XC_VSXC'}],
-              'HCTH93':      [{'name': 'GGA_XC_HCTH_93'}],
-              'HCTH147':     [{'name': 'GGA_XC_HCTH_147'}],
-              'HCTH407':     [{'name': 'GGA_XC_HCTH_407'}],
-              'HCTH':        [{'name': 'GGA_XC_HCTH_407'}],
-              'B97D':        [{'name': 'GGA_XC_B97D'}],
-              'B97D3':       [{'name': 'GGA_XC_B97D3'}],
-              'MPW':         [{'name': 'GGA_X_MPW'}],
-              'G96':         [{'name': 'GGA_X_G96'}],
-              'O':           [{'name': 'GGA_X_O'}],
-              'BRX':         [{'name': 'GGA_X_BRX'}],
-              'PKZB':        [{'name': 'GGA_C_PKZB'}, {'name': 'GGA_X_PKZB'}],
-              'PL':          [{'name': 'GGA_C_PL'}],
-              'P86':         [{'name': 'GGA_C_P86'}],
-              'B95':         [{'name': 'GGA_C_B95'}],
-              'KCIS':        [{'name': 'GGA_C_KCIS'}],
-              'BRC':         [{'name': 'GGA_C_BRC'}],
-              'VP86':        [{'name': 'GGA_C_VP86'}],
-              'V5LYP':       [{'name': 'GGA_C_V5LYP'}],
-              'tHCTH':       [{'name': 'MGGA_XC_TAU_HCTH'}],
-              'TPSSTPSS':    [{'name': 'MGGA_C_TPSS'}, {'name': 'MGGA_X_TPSS'}],
-              'B3LYP':       [{'name': 'HYB_GGA_XC_B3LYP'}], 
-              'B3PW91':      [{'name': 'HYB_GGA_XC_B3PW91'}],
-              'B3P86':       [{'name': 'HYB_GGA_XC_B3P86'}], 
-              'B1B95':       [{'name': 'HYB_GGA_XC_B1B95'}],
-              'MPW1PW91':    [{'name': 'HYB_GGA_XC_MPW1PW91'}],
-              'MPW1LYP':     [{'name': 'HYB_GGA_XC_MPW1LYP'}],
-              'MPW1PBE':     [{'name': 'HYB_GGA_XC_MPW1PBE'}],
-              'MPW3PBE':     [{'name': 'HYB_GGA_XC_MPW3PBE'}],
-              'B98':         [{'name': 'HYB_GGA_XC_B98'}],
-              'B971':        [{'name': 'HYB_GGA_XC_B971'}],
-              'B972':        [{'name': 'HYB_GGA_XC_B972'}],
-              'O3LYP':       [{'name': 'HYB_GGA_XC_O3LYP'}], 
-              'TPSSH':       [{'name': 'HYB_GGA_XC_TPSSh'}],
-              'BMK':         [{'name': 'HYB_GGA_XC_BMK'}],
-              'X3LYP':       [{'name': 'HYB_GGA_XC_X3LYP'}],
-              'THCTHHYB':    [{'name': 'HYB_GGA_XC_tHCTHHYB'}],
-              'BHANDH':      [{'name': 'HYB_GGA_XC_BHANDH'}],
-              'BHANDHLYP':   [{'name': 'HYB_GGA_XC_BHANDHLYP'}],
-              'APF':         [{'name': 'HYB_GGA_XC_APF'}],
-              'APFD':        [{'name': 'HYB_GGA_XC_APFD'}],
-              'B97D':        [{'name': 'HYB_GGA_XC_B97D'}],
-              'RHF':         [{'name': 'RHF_X'}],
-              'UHF':         [{'name': 'UHF_X'}],
-              'ROHF':        [{'name': 'ROHF_X'}],
-              'OHSE2PBE':    [{'name': 'HYB_GGA_XC_HSE03'}],
-              'HSEH1PBE':    [{'name': 'HYB_GGA_XC_HSE06'}],
-              'OHSE1PBE':    [{'name': 'HYB_GGA_XC_HSEOLD'}],
-              'PBEH1PBE':    [{'name': 'HYB_GGA_XC_PBEh1PBE'}],
-              'PBE1PBE':     [{'name': 'GGA_C_PBE'}, {'name': 'GGA_X_PBE', 'weight': 0.75, 'convert': GGA_weight}, {'name': 'HF_X', 'weight': 0.25, 'convert': HF_weight}],
-              'M05':         [{'name': 'HYB_MGGA_XC_M05'}],
-              'M052X':       [{'name': 'HYB_MGGA_XC_M05_2X'}],
-              'M06':         [{'name': 'HYB_MGGA_XC_M06'}],
-              'M062X':       [{'name': 'HYB_MGGA_XC_M06_2X'}],
-              'M06HF':       [{'name': 'HYB_MGGA_XC_M06_HF'}],
-              'M11':         [{'name': 'HYB_MGGA_XC_M11'}],
-              'SOGGAX11':    [{'name': 'HYB_MGGA_XC_SOGGA11_X'}],
-              'MN12SX':      [{'name': 'HYB_MGGA_XC_MN12_SX'}],
-              'N12SX':       [{'name': 'HYB_MGGA_XC_N12_SX'}],
-              'LC-WPBE':     [{'name': 'LC-WPBE'}],
-              'CAM-B3LYP':   [{'name': 'CAM-B3LYP'}],
-              'WB97':        [{'name': 'WB97'}],
-              'WB97X':       [{'name': 'WB97X'}],
-              'WB97XD':      [{'name': 'WB97XD'}],
-              'HISSBPBE':    [{'name': 'HISSBPBE'}],
-              'B2PLYP':      [{'name': 'B2PLYP'}],
-              'MPW2PLYP':    [{'name': 'MPW2PLYP'}],
-              'B2PLYPD':     [{'name': 'B2PLYPD'}],
-              'MPW2PLYPD':   [{'name': 'MPW2PLYPD'}],
-              'B97D3':       [{'name': 'B97D3'}], 
-              'B2PLYPD3':    [{'name': 'B2PLYPD3'}],
-              'MPW2PLYPD3':  [{'name': 'MPW2PLYPD3'}],
-              'LC-':         [{'name': 'Long-range corrected'}],
+              'S':          [{'name': 'LDA_X'}],
+              'XA':	    [{'name': 'X_ALPHA'}],
+              'VWN':        [{'name': 'LDA_C_VWN'}],
+              'VWN3':       [{'name': 'LDA_C_VWN_3'}],
+              'LSDA':       [{'name': 'LDA_X'}, {'name': 'LDA_C_VWN'}], 
+              'B':          [{'name': 'GGA_X_B88'}],
+              'BLYP':       [{'name': 'GGA_C_LYP'}, {'name': 'GGA_X_B88'}],
+              'PBEPBE':     [{'name': 'GGA_C_PBE'}, {'name': 'GGA_X_PBE'}],
+              'PBEH':       [{'name': 'GGA_X_PBEH'}],
+              'WPBEH':      [{'name': 'GGA_X_WPBEH'}],
+              'PW91PW91':   [{'name': 'GGA_C_PW91'}, {'name': 'GGA_X_PW91'}],
+              'M06L':       [{'name': 'MGGA_C_M06_L'}, {'name': 'MGGA_X_M06_L'}],
+              'M11L':       [{'name': 'MGGA_C_M11_L'}, {'name': 'MGGA_X_M11_L'}],
+              'SOGGA11':    [{'name': 'GGA_XC_SOGGA11'}],
+              'MN12L':      [{'name': 'GGA_XC_MN12L'}],
+              'N12':        [{'name': 'GGA_C_N12'}, {'name': 'GGA_X_N12'}],
+              'VSXC':       [{'name': 'MGGA_XC_VSXC'}],
+              'HCTH93':     [{'name': 'GGA_XC_HCTH_93'}],
+              'HCTH147':    [{'name': 'GGA_XC_HCTH_147'}],
+              'HCTH407':    [{'name': 'GGA_XC_HCTH_407'}],
+              'HCTH':       [{'name': 'GGA_XC_HCTH_407'}],
+              'B97D':       [{'name': 'GGA_XC_B97D'}],
+              'B97D3':      [{'name': 'GGA_XC_B97D3'}],
+              'MPW':        [{'name': 'GGA_X_MPW'}],
+              'G96':        [{'name': 'GGA_X_G96'}],
+              'O':          [{'name': 'GGA_X_O'}],
+              'BRX':        [{'name': 'GGA_X_BRX'}],
+              'PKZB':       [{'name': 'GGA_C_PKZB'}, {'name': 'GGA_X_PKZB'}],
+              'PL':         [{'name': 'C_PL'}],
+              'P86':        [{'name': 'GGA_C_P86'}],
+              'B95':        [{'name': 'MGGA_C_B95'}],
+              'KCIS':       [{'name': 'GGA_C_KCIS'}],
+              'BRC':        [{'name': 'GGA_C_BRC'}],
+              'VP86':       [{'name': 'GGA_C_VP86'}],
+              'V5LYP':      [{'name': 'GGA_C_V5LYP'}],
+              'THCTH':      [{'name': 'MGGA_XC_TAU_HCTH'}],
+              'TPSSTPSS':   [{'name': 'MGGA_C_TPSS'}, {'name': 'MGGA_X_TPSS'}],
+              'B3LYP':      [{'name': 'HYB_GGA_XC_B3LYP'}], 
+              'B3PW91':     [{'name': 'HYB_GGA_XC_B3PW91'}],
+              'B3P86':      [{'name': 'HYB_GGA_XC_B3P86'}], 
+              'B1B95':      [{'name': 'HYB_GGA_XC_B1B95'}],
+              'MPW1PW91':   [{'name': 'HYB_GGA_XC_MPW1PW91'}],
+              'MPW1LYP':    [{'name': 'HYB_GGA_XC_MPW1LYP'}],
+              'MPW1PBE':    [{'name': 'HYB_GGA_XC_MPW1PBE'}],
+              'MPW3PBE':    [{'name': 'HYB_GGA_XC_MPW3PBE'}],
+              'B98':        [{'name': 'HYB_GGA_XC_B98'}],
+              'B971':       [{'name': 'HYB_GGA_XC_B971'}],
+              'B972':       [{'name': 'HYB_GGA_XC_B972'}],
+              'O3LYP':      [{'name': 'HYB_GGA_XC_O3LYP'}], 
+              'TPSSH':      [{'name': 'HYB_GGA_XC_TPSSh'}],
+              'BMK':        [{'name': 'HYB_MGGA_XC_BMK'}],
+              'X3LYP':      [{'name': 'HYB_GGA_XC_X3LYP'}],
+              'THCTHHYB':   [{'name': 'HYB_MGGA_XC_THCTHHYB'}],
+              'BHANDH':     [{'name': 'HYB_GGA_XC_BHANDH'}],
+              'BHANDHLYP':  [{'name': 'HYB_GGA_XC_BHANDHLYP'}],
+              'APF':        [{'name': 'HYB_GGA_XC_APF'}],
+              'APFD':       [{'name': 'HYB_GGA_XC_APFD'}],
+              'B97D':       [{'name': 'HYB_GGA_XC_B97D'}],
+              'RHF':        [{'name': 'RHF_X'}],
+              'UHF':        [{'name': 'UHF_X'}],
+              'ROHF':       [{'name': 'ROHF_X'}],
+              'OHSE2PBE':   [{'name': 'HYB_GGA_XC_HSE03'}],
+              'HSEH1PBE':   [{'name': 'HYB_GGA_XC_HSE06'}],
+              'OHSE1PBE':   [{'name': 'HYB_GGA_XC_HSEOLD'}],
+              'PBEH1PBE':   [{'name': 'HYB_GGA_XC_PBEH1PBE'}],
+              'PBE1PBE':    [{'name': 'GGA_C_PBE'}, {'name': 'GGA_X_PBE', 'weight': 0.75, 'convert': GGA_weight}, {'name': 'HF_X', 'weight': 0.25, 'convert': HF_weight}],
+              'M05':        [{'name': 'HYB_MGGA_XC_M05'}],
+              'M052X':      [{'name': 'HYB_MGGA_XC_M05_2X'}],
+              'M06':        [{'name': 'HYB_MGGA_XC_M06'}],
+              'M062X':      [{'name': 'HYB_MGGA_XC_M06_2X'}],
+              'M06HF':      [{'name': 'HYB_MGGA_XC_M06_HF'}],
+              'M11':        [{'name': 'HYB_MGGA_XC_M11'}],
+              'SOGGAX11':   [{'name': 'HYB_MGGA_XC_SOGGA11_X'}],
+              'MN12SX':     [{'name': 'HYB_MGGA_XC_MN12_SX'}],
+              'N12SX':      [{'name': 'HYB_MGGA_XC_N12_SX'}],
+              'LC-WPBE':    [{'name': 'LC-WPBE'}],
+              'CAM-B3LYP':  [{'name': 'CAM-B3LYP'}],
+              'WB97':       [{'name': 'WB97'}],
+              'WB97X':      [{'name': 'WB97X'}],
+              'WB97XD':     [{'name': 'WB97XD'}],
+              'HISSBPBE':   [{'name': 'HISSBPBE'}],
+              'B2PLYP':     [{'name': 'B2PLYP'}],
+              'MPW2PLYP':   [{'name': 'MPW2PLYP'}],
+              'B2PLYPD':    [{'name': 'B2PLYPD'}],
+              'MPW2PLYPD':  [{'name': 'MPW2PLYPD'}],
+              'B97D3':      [{'name': 'B97D3'}], 
+              'B2PLYPD3':   [{'name': 'B2PLYPD3'}],
+              'MPW2PLYPD3': [{'name': 'MPW2PLYPD3'}],
+              'LC-':        [{'name': 'LONG-RANGE CORRECTED'}],
              }
 
         methodDict = {
@@ -1170,9 +1163,9 @@ class GaussianParserContext(object):
                     if method2[0] in xcDict.keys() and method2[1:] in xcDict.keys():
                       exc = method2[0]
                       corr = method2[1:]
-                      excfunc = [v for k, v in xcDict.items() if k[0] == exc]
-                      corrfunc = [v for k, v in xcDict.items() if k[0] == corr]
-                      xc = excfunc + corrfunc
+                      excfunc = xcDict[exc][0]['name']
+                      corrfunc = xcDict[corr][0]['name']
+                      xc = str(excfunc) + "_" + str(corrfunc)
                   if method2[0:3] == 'BRX' or method2[0:3] == 'G96':
                     exc = method2[0:3]
                     corr = method2[3:]
@@ -1404,6 +1397,14 @@ cachingLevelForMetaName = {
         "x_gaussian_atom_y_force": CachingLevel.Cache,
         "x_gaussian_atom_z_force": CachingLevel.Cache,
         "x_gaussian_number_of_atoms": CachingLevel.ForwardAndCache,
+        "section_scf_iteration": CachingLevel.Forward,
+        "energy_total_scf_iteration": CachingLevel.ForwardAndCache,
+        "x_gaussian_delta_energy_total_scf_iteration": CachingLevel.ForwardAndCache, 
+        "x_gaussian_energy_total": CachingLevel.ForwardAndCache,
+        "x_gaussian_energy_error": CachingLevel.ForwardAndCache,
+        "x_gaussian_electronic_kinetic_energy": CachingLevel.ForwardAndCache,
+        "x_gaussian_energy_electrostatic": CachingLevel.ForwardAndCache, 
+        "x_gaussian_energy_total_perturbative": CachingLevel.ForwardAndCache,
         "x_gaussian_section_frequencies": CachingLevel.Forward,
         "x_gaussian_frequency_values": CachingLevel.Cache,
         "x_gaussian_frequencies": CachingLevel.ForwardAndCache,
@@ -1467,7 +1468,9 @@ cachingLevelForMetaName = {
         "hexadecapole_moment_yyxz": CachingLevel.Cache,
         "hexadecapole_moment_zzxy": CachingLevel.Cache, 
         "x_gaussian_molecular_multipole_values": CachingLevel.ForwardAndCache,
+        "single_configuration_calculation_converged": CachingLevel.ForwardAndCache,
         "x_gaussian_single_configuration_calculation_converged": CachingLevel.ForwardAndCache,
+        "x_gaussian_section_geometry_optimization_info": CachingLevel.Forward,
         "x_gaussian_geometry_optimization_converged": CachingLevel.ForwardAndCache,
         "section_method": CachingLevel.Forward,
         "x_gaussian_section_elstruc_method": CachingLevel.ForwardAndCache,