diff --git a/VECTO/Input Files/Battery.vb b/VECTO/Input Files/Battery.vb
index e1923b4a0c0540f21da66f60f4cfba116cd59926..3fec3e90669ba49a2a544f55124a6abde3e2b3e0 100644
--- a/VECTO/Input Files/Battery.vb	
+++ b/VECTO/Input Files/Battery.vb	
@@ -223,12 +223,18 @@ Public Class Battery
         End Get
     End Property
 
+    Public ReadOnly Property BatteryType As BatteryType Implements IBatteryPackDeclarationInputData.BatteryType
+
     Public ReadOnly Property Capacity As AmpereSecond Implements IBatteryPackDeclarationInputData.Capacity
         Get
             Return BatCapacity.SI(Unit.SI.Ampere.Hour).Cast(Of AmpereSecond)
         End Get
     End Property
 
+    Public ReadOnly Property ConnectorsSubsystemsIncluded As Boolean Implements IBatteryPackDeclarationInputData.ConnectorsSubsystemsIncluded
+    Public ReadOnly Property JunctionboxIncluded As Boolean Implements IBatteryPackDeclarationInputData.JunctionboxIncluded
+    Public ReadOnly Property TestingTemperature As Kelvin Implements IBatteryPackDeclarationInputData.TestingTemperature
+
     Public ReadOnly Property InternalResistanceCurve As TableData Implements IBatteryPackDeclarationInputData.InternalResistanceCurve
         Get
             If Not File.Exists(_riCurvePath.FullPath) Then _
diff --git a/VECTO/Input Files/Vehicle.vb b/VECTO/Input Files/Vehicle.vb
index 1f97ec2fa88d9b0609a626b8038bd7ab28bf8b78..a7caf65f06f273ea5f41a36a9e374d5d76896e01 100644
--- a/VECTO/Input Files/Vehicle.vb	
+++ b/VECTO/Input Files/Vehicle.vb	
@@ -984,7 +984,11 @@ Public Class ElectricStorageWrapper
 	Public ReadOnly Property DigestValue As DigestData Implements IComponentInputData.DigestValue
 	Public ReadOnly Property MinSOC As Double Implements IBatteryPackDeclarationInputData.MinSOC
 	Public ReadOnly Property MaxSOC As Double Implements IBatteryPackDeclarationInputData.MaxSOC
+	Public ReadOnly Property BatteryType As BatteryType Implements IBatteryPackDeclarationInputData.BatteryType
 	Public ReadOnly Property Capacity As AmpereSecond Implements IBatteryPackDeclarationInputData.Capacity
+	Public ReadOnly Property ConnectorsSubsystemsIncluded As Boolean Implements IBatteryPackDeclarationInputData.ConnectorsSubsystemsIncluded
+	Public ReadOnly Property JunctionboxIncluded As Boolean Implements IBatteryPackDeclarationInputData.JunctionboxIncluded
+	Public ReadOnly Property TestingTemperature As Kelvin Implements IBatteryPackDeclarationInputData.TestingTemperature
 	Public ReadOnly Property InternalResistanceCurve As TableData Implements IBatteryPackDeclarationInputData.InternalResistanceCurve
 	Public ReadOnly Property VoltageCurve As TableData Implements IBatteryPackDeclarationInputData.VoltageCurve
 	Public ReadOnly Property MaxCurrentMap As TableData Implements IBatteryPackDeclarationInputData.MaxCurrentMap
diff --git a/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs b/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs
index 0431b29b56e369046f53d96ed52c963ab4d44423..858200a68fb7aee1ce4453844c396145a4132027 100644
--- a/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs
+++ b/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs
@@ -805,13 +805,20 @@ namespace TUGraz.VectoCommon.InputData
 
 	public interface IBatteryPackDeclarationInputData : IREESSPackInputData
 	{
-		
 		double MinSOC { get; }
 
 		double MaxSOC { get; }
 
+		BatteryType BatteryType { get; }
+
 		AmpereSecond Capacity { get; }
 
+		bool ConnectorsSubsystemsIncluded { get; }
+
+		bool JunctionboxIncluded { get; }
+
+		Kelvin TestingTemperature { get; }
+
 		TableData InternalResistanceCurve { get; }
 
 		TableData VoltageCurve { get; }
@@ -1103,5 +1110,29 @@ namespace TUGraz.VectoCommon.InputData
 		}
 	}
 
+	public enum BatteryType
+	{
+		HPBS,
+		HEBS
+	}
 
+	public static class BatteryTypeHelper
+	{
+		public static BatteryType Parse(string parse)
+		{
+			switch (parse) {
+				case nameof(BatteryType.HPBS):
+					return BatteryType.HPBS;
+				case nameof(BatteryType.HEBS):
+					return BatteryType.HEBS;
+				default:
+					throw new ArgumentOutOfRangeException();
+			}
+		}
+
+		public static string GetLabel(this BatteryType type)
+		{
+			return nameof(type);
+		}
+	}
 }
\ No newline at end of file
diff --git a/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs b/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs
index 74f812460a8d9255961f90008dce251dee57924e..88f2622dc2cf8dbc58069e84398c605e0e887588 100644
--- a/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs
+++ b/VectoCommon/VectoCommon/Resources/XMLNames.Designer.cs
@@ -1392,6 +1392,15 @@ namespace TUGraz.VectoCommon.Resources {
             }
         }
         
+        /// <summary>
+        ///   Looks up a localized string similar to ElectricEnergyStorage.
+        /// </summary>
+        public static string Component_ElectricEnergyStorage {
+            get {
+                return ResourceManager.GetString("Component_ElectricEnergyStorage", resourceCulture);
+            }
+        }
+        
         /// <summary>
         ///   Looks up a localized string similar to ElectricMachine.
         /// </summary>
@@ -1941,6 +1950,24 @@ namespace TUGraz.VectoCommon.Resources {
             }
         }
         
+        /// <summary>
+        ///   Looks up a localized string similar to Battery.
+        /// </summary>
+        public static string ElectricEnergyStorage_Battery {
+            get {
+                return ResourceManager.GetString("ElectricEnergyStorage_Battery", resourceCulture);
+            }
+        }
+        
+        /// <summary>
+        ///   Looks up a localized string similar to Capacitor.
+        /// </summary>
+        public static string ElectricEnergyStorage_Capacitor {
+            get {
+                return ResourceManager.GetString("ElectricEnergyStorage_Capacitor", resourceCulture);
+            }
+        }
+        
         /// <summary>
         ///   Looks up a localized string similar to ContinuousTorque.
         /// </summary>
diff --git a/VectoCommon/VectoCommon/Resources/XMLNames.resx b/VectoCommon/VectoCommon/Resources/XMLNames.resx
index 6f9f544b5a259ea40f80b63403abb86aa00fa5ba..85480acf69afdea66407388c8fa812afd862ed89 100644
--- a/VectoCommon/VectoCommon/Resources/XMLNames.resx
+++ b/VectoCommon/VectoCommon/Resources/XMLNames.resx
@@ -1629,4 +1629,13 @@
   <data name="ElectricMachineSystem" xml:space="preserve">
     <value>ElectricMachineSystem</value>
   </data>
+  <data name="Component_ElectricEnergyStorage" xml:space="preserve">
+    <value>ElectricEnergyStorage</value>
+  </data>
+  <data name="ElectricEnergyStorage_Battery" xml:space="preserve">
+    <value>Battery</value>
+  </data>
+  <data name="ElectricEnergyStorage_Capacitor" xml:space="preserve">
+    <value>Capacitor</value>
+  </data>
 </root>
\ No newline at end of file
diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONBattery.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONBattery.cs
index 41fa5ce3b234e2a74c548c10422bf7dbbf1bcbb8..a1da80d84cd82bb7e1640e653838b36f014434b3 100644
--- a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONBattery.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONBattery.cs
@@ -29,8 +29,12 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON
 		public double MinSOC => Body.GetEx<double>("SOC_min") / 100.0;
 
 		public double MaxSOC => Body.GetEx<double>("SOC_max") / 100.0;
+		public BatteryType BatteryType { get; }
 
 		AmpereSecond IBatteryPackDeclarationInputData.Capacity => Body.GetEx<double>("Capacity").SI(Unit.SI.Ampere.Hour).Cast<AmpereSecond>();
+		public bool ConnectorsSubsystemsIncluded { get; }
+		public bool JunctionboxIncluded { get; }
+		public Kelvin TestingTemperature => null;
 
 		Farad ISuperCapDeclarationInputData.Capacity => Body.GetEx<double>("Capacity").SI<Farad>();
 
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationComponentsDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationComponentsDataProvider.cs
index 1a6318cc194803991dae35b0438396c2713d3128..13070dc55b22f8c83dfd14172a031e86e4630556 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationComponentsDataProvider.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationComponentsDataProvider.cs
@@ -60,6 +60,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider
 		protected IXMLDeclarationVehicleData _vehicle;
 		protected ITorqueConverterDeclarationInputData _torqueconverterInputData;
 		protected IElectricMachinesDeclarationInputData _electricMachinesInputData;
+		protected IElectricStorageSystemDeclarationInputData _electricStorageSystemInputData;
 
 
 		public XMLDeclarationComponentsDataProviderV10(
@@ -94,7 +95,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider
 		public virtual IAxlesDeclarationInputData AxleWheels => _axleWheels ?? (_axleWheels = ComponentReader.AxlesDeclarationInputData);
 
 		public virtual IBusAuxiliariesDeclarationData BusAuxiliaries => null;
-		public virtual IElectricStorageSystemDeclarationInputData ElectricStorage =>  null;
+		public virtual IElectricStorageSystemDeclarationInputData ElectricStorage =>  _electricStorageSystemInputData  ?? (_electricStorageSystemInputData = ComponentReader.ElectricStorageSystem);
 		public virtual IElectricMachinesDeclarationInputData ElectricMachines => _electricMachinesInputData ?? (_electricMachinesInputData = ComponentReader.ElectricMachines);
 
 		
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLElectricMotorDeclarationInputDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLElectricMotorDeclarationInputDataProvider.cs
index edf664eebe745dd700790b7da5dad6fcd05acced..9d51cd067a036e0a1c038f43accdb4ef7440f962 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLElectricMotorDeclarationInputDataProvider.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLElectricMotorDeclarationInputDataProvider.cs
@@ -1,8 +1,6 @@
 using System.Collections.Generic;
-using System.Runtime.CompilerServices;
 using System.Xml;
 using System.Xml.Linq;
-using Castle.Components.DictionaryAdapter.Xml;
 using Castle.Core.Internal;
 using TUGraz.VectoCommon.InputData;
 using TUGraz.VectoCommon.Resources;
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLElectricStorageSystemDeclarationInputData.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLElectricStorageSystemDeclarationInputData.cs
new file mode 100644
index 0000000000000000000000000000000000000000..212c80e5b8e27b4623b768d2587a066e9401f123
--- /dev/null
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLElectricStorageSystemDeclarationInputData.cs
@@ -0,0 +1,133 @@
+using System.Collections.Generic;
+using System.Xml;
+using System.Xml.Linq;
+using TUGraz.VectoCommon.InputData;
+using TUGraz.VectoCommon.Utils;
+using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Interfaces;
+using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader;
+using TUGraz.VectoCore.Utils;
+
+namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider
+{
+	public class XMLElectricStorageSystemDeclarationInputData : AbstractCommonComponentType,
+		IXMLElectricStorageSystemDeclarationInputData
+	{
+		public static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V210_JOBS;
+		public const string XSD_TYPE = "ElectricEnergyStorageType";
+		public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE);
+
+		private IList<IElectricStorageDeclarationInputData> _electricStorageElements;
+		
+		#region Implementation of IElectricStorageSystemDeclarationInputData
+
+		public IList<IElectricStorageDeclarationInputData> ElectricStorageElements =>
+			_electricStorageElements ?? (_electricStorageElements = GetElectricStorages());
+
+		#endregion
+
+		public XMLElectricStorageSystemDeclarationInputData(
+			IXMLDeclarationVehicleData vehicle, XmlNode componentNode, string sourceFile)
+			: base(componentNode, sourceFile)
+		{
+
+		}
+
+		#region Implementation of IXMLResource
+
+		protected override XNamespace SchemaNamespace => NAMESPACE_URI;
+		protected override DataSourceType SourceType { get; }
+
+		#endregion
+
+		private IList<IElectricStorageDeclarationInputData> GetElectricStorages()
+		{
+			var electricStorages = new List<IElectricStorageDeclarationInputData>();
+
+			var batteries = GetNodes("Battery");
+			if (!(batteries?.Count > 0))
+				return null;
+			foreach (XmlNode battery in batteries) {
+				var electricStorage = new XMLElectricStorageDeclaration {
+					REESSPack = StorageTypeReader.CreateREESSInputData(battery, REESSType.Battery),
+					StringId = XmlConvert.ToInt32(GetString("StringID", battery))
+				};
+				electricStorages.Add(electricStorage);
+			}
+			
+			return electricStorages;
+		}
+
+		#region Implementation of IXMLElectricStorageSystemDeclarationInputData
+
+		public IXMLREESSReader StorageTypeReader { get; set; }
+
+		#endregion
+	}
+
+	public class XMLElectricStorageDeclaration : IElectricStorageDeclarationInputData
+	{
+		#region Implementation of IElectricStorageDeclarationInputData
+
+		public IREESSPackInputData REESSPack { get; set; }
+		public int Count { get; set; }
+		public int StringId { get; set; }
+
+		#endregion
+	}
+	
+	public class XMLBatteryPackDeclarationDeclarationInputData : AbstractCommonComponentType,
+		IXMLBatteryPackDeclarationInputData
+	{
+		public static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V210_JOBS;
+		public const string XSD_TYPE = "REESSBatteryType";
+		public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE);
+
+		public XMLBatteryPackDeclarationDeclarationInputData( XmlNode componentNode, string sourceFile) 
+			: base(componentNode, sourceFile)
+		{
+		}
+		
+		#region Implementation of IREESSPackInputData
+
+		public REESSType StorageType => REESSType.Battery;
+
+		#endregion
+
+		#region Implementation of IBatteryPackDeclarationInputData
+
+		public double MinSOC => GetDouble("SOCmin", 0);
+		public double MaxSOC => GetDouble("SOCmax", 0);
+		public BatteryType BatteryType => BatteryTypeHelper.Parse(GetString("BatteryType"));
+		public AmpereSecond Capacity => GetDouble("RatedCapacity").SI<AmpereSecond>() * 3600;
+		public bool ConnectorsSubsystemsIncluded => GetBool("ConnectorsSubsystemsIncluded");
+		public bool JunctionboxIncluded => GetBool("JunctionboxIncluded");
+		public Kelvin TestingTemperature => GetDouble("TestingTemperature", 0).DegCelsiusToKelvin();
+
+		public TableData InternalResistanceCurve => ReadTableData("InternalResistance", "Entry", new Dictionary<string, string> {
+				{"SoC", "SoC"},
+				{"R_2", "R_2"},
+				{"R_10", "R_10"},
+				{"R_20", "R_20"}
+		});
+
+		public TableData VoltageCurve => ReadTableData("OCV", "Entry", new Dictionary<string, string> {
+			{"SoC", "SoC"},
+			{"OCV", "OCV"}
+		});
+
+		public TableData MaxCurrentMap => ReadTableData("CurrentLimits", "Entry", new Dictionary<string, string> {
+			{"SoC", "SoC"},
+			{"maxChagingCurrent", "maxChagingCurrent"},
+			{"maxDischargingCurrent", "maxDischargingCurrent"}
+		});
+
+		#endregion
+
+		#region Overrides of AbstractXMLResource
+
+		protected override XNamespace SchemaNamespace => NAMESPACE_URI;
+		protected override DataSourceType SourceType { get; }
+
+		#endregion
+	}
+}
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Factory/IDeclarationInjectFactory.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Factory/IDeclarationInjectFactory.cs
index 1806663a47adb96eca29d16d794ed408787889ff..5c0df2a86d9b6b13ac33b19f28ef694929edd766 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Factory/IDeclarationInjectFactory.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Factory/IDeclarationInjectFactory.cs
@@ -91,6 +91,12 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Factory
 		IXMLElectricMotorDeclarationInputData CreateElectricMotorDeclarationInputData(
 			string version, XmlNode componentNode, string sourceFile);
 
+		IXMLBatteryPackDeclarationInputData CreateBatteryPackDeclarationInputData(
+			string version, XmlNode componentNode, string sourceFile);
+
+		ISuperCapDeclarationInputData CreateSuperCapDeclarationInputData(
+			string version, XmlNode componentNode, string sourceFile);
+
 		IXMLTorqueConverterDeclarationInputData CreateTorqueconverterData(
 			string version, IXMLDeclarationVehicleData vehicle, XmlNode componentNode, string sourceFile);
 
@@ -127,10 +133,15 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Factory
 		IXMLElectricMachinesDeclarationInputData CreateElectricMachinesData(string version,
 			IXMLDeclarationVehicleData vehicle, XmlNode componentNode, string sourceFile);
 		
-
 		IXMLElectricMachineSystemReader CreateElectricMotorReader(string version,
 			IXMLDeclarationVehicleData vehicle, XmlNode componentNode, string sourceFile);
 
+		IXMLElectricStorageSystemDeclarationInputData CreateElectricStorageSystemData(string version,
+			IXMLDeclarationVehicleData vehicle, XmlNode componentNode, string sourceFile);
+
+		IXMLREESSReader CreateStorageTypeReader(string version,
+			IXMLDeclarationVehicleData vehicle, XmlNode componentNode, string sourceFile);
+
 
 		// ---------------------------------------------------------------------------------------------
 
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Interfaces/IXMLBatteryPackDeclarationInputData.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Interfaces/IXMLBatteryPackDeclarationInputData.cs
new file mode 100644
index 0000000000000000000000000000000000000000..ee563656beb13bdb0960115b0647de6c0f1c2057
--- /dev/null
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Interfaces/IXMLBatteryPackDeclarationInputData.cs
@@ -0,0 +1,8 @@
+using TUGraz.VectoCommon.InputData;
+
+namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Interfaces
+{
+    public interface IXMLBatteryPackDeclarationInputData : IBatteryPackDeclarationInputData, IXMLResource
+    {
+    }
+}
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Interfaces/IXMLElectricStorageSystemDeclarationInputData.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Interfaces/IXMLElectricStorageSystemDeclarationInputData.cs
new file mode 100644
index 0000000000000000000000000000000000000000..acf8421703e89ea90fbe0020f9b28831df5ef08a
--- /dev/null
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Interfaces/IXMLElectricStorageSystemDeclarationInputData.cs
@@ -0,0 +1,10 @@
+using TUGraz.VectoCommon.InputData;
+using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader;
+
+namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Interfaces
+{
+    public interface IXMLElectricStorageSystemDeclarationInputData : IElectricStorageSystemDeclarationInputData, IXMLResource
+	{
+		IXMLREESSReader StorageTypeReader { set; }
+	}
+}
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Interfaces/IXMLSuperCapDeclarationInputData.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Interfaces/IXMLSuperCapDeclarationInputData.cs
new file mode 100644
index 0000000000000000000000000000000000000000..319cdb8f16af0fc4d2ae3722e0905d61ab6b77fd
--- /dev/null
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Interfaces/IXMLSuperCapDeclarationInputData.cs
@@ -0,0 +1,8 @@
+using TUGraz.VectoCommon.InputData;
+
+namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Interfaces
+{
+    public interface IXMLSuperCapDeclarationInputData : ISuperCapDeclarationInputData, IXMLResource
+    {
+    }
+}
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV210InjectModule.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV210InjectModule.cs
index f5b86de0bbb276448da84bdf4b54b5996e0d056b..48c48ce03f930bb14d371974cad0f35da2bbc13d 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV210InjectModule.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV210InjectModule.cs
@@ -43,6 +43,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.NinjectModules
 
 			Bind<IXMLElectricMachineSystemReader>().To<XMLElectricMachineSystemReaderV210>().Named(XMLElectricMachineSystemReaderV210.QUALIFIED_XSD_TYPE);
 
+			Bind<IXMLREESSReader>().To<XMLREESSReaderV210>().Named(XMLREESSReaderV210.QUALIFIED_XSD_TYPE);
 
 			Bind<IXMLBusAuxiliariesDeclarationData>().To<XMLDeclarationCompletedBusAuxiliariesDataProviderV210>()
 				.Named(XMLDeclarationCompletedBusAuxiliariesDataProviderV210.QUALIFIED_XSD_TYPE);
@@ -84,6 +85,12 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.NinjectModules
 			Bind<IXMLElectricMotorDeclarationInputData>().To<XMLElectricMotorDeclarationInputDataProvider>()
 				.Named(XMLElectricMotorDeclarationInputDataProvider.QUALIFIED_XSD_TYPE);
 
+			Bind<IXMLElectricStorageSystemDeclarationInputData>().To<XMLElectricStorageSystemDeclarationInputData>()
+				.Named(XMLElectricStorageSystemDeclarationInputData.QUALIFIED_XSD_TYPE);
+			
+			Bind<IXMLBatteryPackDeclarationInputData>().To<XMLBatteryPackDeclarationDeclarationInputData>()
+				.Named(XMLBatteryPackDeclarationDeclarationInputData.QUALIFIED_XSD_TYPE);
+
 			Bind<IXMLComponentReader>().To<XMLComponentReaderV210_Lorry>()
 				.Named(XMLComponentReaderV210_Lorry.QUALIFIED_XSD_TYPE);
 
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/IXMLComponentReader.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/IXMLComponentReader.cs
index 86db3d619b5328d2369d535bd0fec1cfb625a418..ad5622b9150bcb0796e9f9825838d311cb87a85e 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/IXMLComponentReader.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/IXMLComponentReader.cs
@@ -49,6 +49,8 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader
 		ITorqueConverterDeclarationInputData TorqueConverterInputData { get; }
 		IBusAuxiliariesDeclarationData BusAuxiliariesInputData { get; }
 		IElectricMachinesDeclarationInputData ElectricMachines { get; }
+		IElectricStorageSystemDeclarationInputData ElectricStorageSystem { get; }
+
 	}
 
 	public interface IXMLAxlesReader
@@ -77,4 +79,10 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader
 		IElectricMotorDeclarationInputData CreateElectricMachineSystem(XmlNode electricMachineSystem);
 	}
 
+	public interface IXMLREESSReader
+	{
+		IREESSPackInputData CreateREESSInputData(XmlNode storageNode, REESSType reessType);
+	}
+
+
 }
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLComponentReader.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLComponentReader.cs
index dd8ce638357aa5ccd74721a492661fba600fb372..814c0e9a27c4c4ac7cf0dfe82c788cc4767d622f 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLComponentReader.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLComponentReader.cs
@@ -74,6 +74,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl
 		protected IAuxiliariesDeclarationInputData _auxiliaryInputData;
 		protected ITorqueConverterDeclarationInputData _torqueConverterInputData;
 		protected IElectricMachinesDeclarationInputData _electricMachinesInputData;
+		protected IElectricStorageSystemDeclarationInputData _electricStorageSystemInputData;
 
 
 		[Inject]
@@ -115,6 +116,8 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl
 
 		public virtual IElectricMachinesDeclarationInputData ElectricMachines => _electricMachinesInputData ?? 
 																				(_electricMachinesInputData = GetElectricMachineEntries());
+		public virtual IElectricStorageSystemDeclarationInputData ElectricStorageSystem => _electricStorageSystemInputData ?? 
+			(_electricStorageSystemInputData  = GetElectricEnergyStorageEntries());
 
 		public virtual ITransmissionInputData CreateGear(XmlNode gearNode)
 		{
@@ -283,11 +286,11 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl
 		protected virtual IElectricMachinesDeclarationInputData GetElectricMachineEntries()
 		{
 			var electricMachines = new List<ElectricMachineEntry<IElectricMotorDeclarationInputData>>();
-			var electricMachine =  CreateComponent(XMLNames.Component_ElectricMachine, ElectricMachinesCreator,true);
+			var electricMachine = CreateComponent(XMLNames.Component_ElectricMachine, ElectricMachinesCreator, true);
 			if(electricMachine?.Entries?.Any() == true)
 				electricMachines.AddRange(electricMachine.Entries);
 
-			var electricMachineGEN = CreateComponent(XMLNames.Component_ElectricMachineGEN, ElectricMachinesCreator,true);
+			var electricMachineGEN = CreateComponent(XMLNames.Component_ElectricMachineGEN, ElectricMachinesCreator, true);
 			if(electricMachineGEN?.Entries?.Any() == true)
 				electricMachines.AddRange(electricMachineGEN.Entries);
 			
@@ -304,6 +307,28 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl
 			electricMachine.ElectricMachineSystemReader = Factory.CreateElectricMotorReader(version, Vehicle, componentNode, sourcefile);
 			return electricMachine;
 		}
+
+		protected virtual IElectricStorageSystemDeclarationInputData GetElectricEnergyStorageEntries()
+		{
+			return CreateComponent(XMLNames.Component_ElectricEnergyStorage, ElectricEnergyStorageCreator, true);
+		}
+		
+		protected virtual IElectricStorageSystemDeclarationInputData ElectricEnergyStorageCreator(string version,
+			XmlNode componentNode, string sourcefile)
+		{
+			if (componentNode == null)
+				return null;
+
+			var electricStorage = Factory.CreateElectricStorageSystemData(version, Vehicle, componentNode, sourcefile);
+			electricStorage.StorageTypeReader =
+				Factory.CreateStorageTypeReader(version, Vehicle, componentNode, sourcefile);
+			
+
+			return electricStorage;
+		}
+
+
+
 	}
 
 	// ---------------------------------------------------------------------------------------
@@ -520,7 +545,54 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl
 
 		#endregion
 	}
-	
+
+	// ---------------------------------------------------------------------------------------
+
+	public class XMLREESSReaderV210 : AbstractComponentReader, IXMLREESSReader
+	{
+		public static readonly XNamespace NAMESPACE_URI = XMLDefinitions.DECLARATION_DEFINITIONS_NAMESPACE_URI_V210_JOBS;
+		public const string XSD_TYPE = "ElectricEnergyStorageType";
+		public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE);
+
+		[Inject] public IDeclarationInjectFactory Factory { protected get; set; }
+
+		public XMLREESSReaderV210(IXMLDeclarationVehicleData vehicle, XmlNode componentNode,
+			string sourceFile) : base(vehicle, componentNode) { }
+
+		#region Implementation of IXMLREESSReader
+
+		public virtual IREESSPackInputData CreateREESSInputData(XmlNode reessNode, REESSType reessType)
+		{
+			var type = reessNode.SchemaInfo.SchemaType;
+			var version = XMLHelper.GetXsdType(type);
+			if (version == null)
+				return null;
+			
+			switch (reessType) {
+				case REESSType.Battery:
+					return BatteryPackCreator(version, reessNode, null);
+				case REESSType.SuperCap:
+					return SuperCapCreator(version, reessNode, null);
+				default:
+					return null;
+			}
+		}
+
+		protected virtual IBatteryPackDeclarationInputData BatteryPackCreator(string version,
+			XmlNode componentNode, string sourcefile)
+		{
+			return Factory.CreateBatteryPackDeclarationInputData(version, componentNode, sourcefile);
+		}
+
+		protected virtual ISuperCapDeclarationInputData SuperCapCreator(string version,
+			XmlNode componentNode, string sourcefile)
+		{
+			return Factory.CreateSuperCapDeclarationInputData(version, componentNode, sourcefile);
+		}
+
+		#endregion
+	}
+
 	// ---------------------------------------------------------------------------------------
 
 	public class XMLMultistagePrimaryVehicleBusComponentReaderV01 : XMLComponentReaderV20
diff --git a/VectoCore/VectoCore/VectoCore.csproj b/VectoCore/VectoCore/VectoCore.csproj
index 98234e7c0e45a6e539c192208fa6f84d14547b60..d478452be88803d2f382a5a6932088d0885f2e52 100644
--- a/VectoCore/VectoCore/VectoCore.csproj
+++ b/VectoCore/VectoCore/VectoCore.csproj
@@ -171,6 +171,7 @@
     <Compile Include="InputData\FileIO\XML\Declaration\DataProvider\XMLDeclarationTorqueConverterDataProvider.cs" />
     <Compile Include="InputData\FileIO\XML\Declaration\DataProvider\XMLDeclarationTyreDataProvider.cs" />
     <Compile Include="InputData\FileIO\XML\Declaration\DataProvider\XMLElectricMotorDeclarationInputDataProvider.cs" />
+    <Compile Include="InputData\FileIO\XML\Declaration\DataProvider\XMLElectricStorageSystemDeclarationInputData.cs" />
     <Compile Include="InputData\FileIO\XML\Declaration\DataProvider\XMLGearData.cs" />
     <Compile Include="InputData\FileIO\XML\Declaration\DataProvider\XMLDeclarationPrimaryVehicleBusResultsInputDataProviderV01.cs" />
     <Compile Include="InputData\FileIO\XML\Declaration\Interfaces\IXMLAirdragDeclarationInputData.cs" />
@@ -180,16 +181,19 @@
     <Compile Include="InputData\FileIO\XML\Declaration\Interfaces\IXMLAxleDeclarationInputData.cs" />
     <Compile Include="InputData\FileIO\XML\Declaration\Interfaces\IXMLAxleGearInputData.cs" />
     <Compile Include="InputData\FileIO\XML\Declaration\Interfaces\IXMLAxlesDeclarationInputData.cs" />
+    <Compile Include="InputData\FileIO\XML\Declaration\Interfaces\IXMLBatteryPackDeclarationInputData.cs" />
     <Compile Include="InputData\FileIO\XML\Declaration\Interfaces\IXMLBusAuxiliariesDeclarationData.cs" />
     <Compile Include="InputData\FileIO\XML\Declaration\Interfaces\IXMLElectricMachinesDeclarationInputData.cs" />
     <Compile Include="InputData\FileIO\XML\Declaration\Interfaces\IXMLDeclarationJobInputData.cs" />
     <Compile Include="InputData\FileIO\XML\Declaration\Interfaces\IXMLElectricMotorDeclarationInputData.cs" />
+    <Compile Include="InputData\FileIO\XML\Declaration\Interfaces\IXMLElectricStorageSystemDeclarationInputData.cs" />
     <Compile Include="InputData\FileIO\XML\Declaration\Interfaces\IXMLEngineDeclarationInputData.cs" />
     <Compile Include="InputData\FileIO\XML\Declaration\Interfaces\IXMLGearboxDeclarationInputData.cs" />
     <Compile Include="InputData\FileIO\XML\Declaration\Interfaces\IXMLGearData.cs" />
     <Compile Include="InputData\FileIO\XML\Declaration\Interfaces\IXMLPTOTransmissionInputData.cs" />
     <Compile Include="InputData\FileIO\XML\Declaration\Interfaces\IXMLResultsInputData.cs" />
     <Compile Include="InputData\FileIO\XML\Declaration\Interfaces\IXMLRetarderInputData.cs" />
+    <Compile Include="InputData\FileIO\XML\Declaration\Interfaces\IXMLSuperCapDeclarationInputData.cs" />
     <Compile Include="InputData\FileIO\XML\Declaration\Interfaces\IXMLTorqueConverterDeclarationInputData.cs" />
     <Compile Include="InputData\FileIO\XML\Declaration\Interfaces\IXMLTyreDeclarationInputData.cs" />
     <Compile Include="InputData\FileIO\XML\Declaration\Interfaces\IXMLVehicleComponentsDeclaration.cs" />
diff --git a/VectoCore/VectoCoreTest/Models/SimulationComponent/BatterySystemTest.cs b/VectoCore/VectoCoreTest/Models/SimulationComponent/BatterySystemTest.cs
index f76e893e27b2605a47f2889cc1853896a52d28e3..cfd14d54e2f6ad8779a6a19c1b0e26c149a4ad26 100644
--- a/VectoCore/VectoCoreTest/Models/SimulationComponent/BatterySystemTest.cs
+++ b/VectoCore/VectoCoreTest/Models/SimulationComponent/BatterySystemTest.cs
@@ -350,7 +350,11 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
 
 		public double MinSOC => 0.2;
 		public double MaxSOC => 0.8;
+		public BatteryType BatteryType { get; }
 		public AmpereSecond Capacity { get; }
+		public bool ConnectorsSubsystemsIncluded { get; }
+		public bool JunctionboxIncluded { get; }
+		public Kelvin TestingTemperature => null;
 
 		public TableData InternalResistanceCurve => VectoCSVFile.ReadStream(
 			InputDataHelper.InputDataAsStream("SoC, Ri",
diff --git a/VectoCore/VectoCoreTest/XML/XMLDeclarationInputv210.cs b/VectoCore/VectoCoreTest/XML/XMLDeclarationInputv210.cs
index 4255640d5bf1a640433c8e7243710599f8f839bb..5accdcdee1ee26854343960b777e25e7b820f799 100644
--- a/VectoCore/VectoCoreTest/XML/XMLDeclarationInputv210.cs
+++ b/VectoCore/VectoCoreTest/XML/XMLDeclarationInputv210.cs
@@ -248,12 +248,15 @@ namespace TUGraz.VectoCore.Tests.XML
 			Assert.IsNotNull(vehicle.Components.AngledriveInputData);//optional
 			Assert.IsNotNull(vehicle.Components.RetarderInputData);//optional
 			Assert.IsNotNull(vehicle.Components.AxleGearInputData);
-			Assert.IsNotNull(vehicle.Components.AxleWheels);
-//			Assert.IsNotNull(vehicle.Components.AuxiliaryInputData);
+			Assert.IsNotNull(vehicle.Components.AxleWheels); 
+			Assert.IsNotNull(vehicle.Components.AuxiliaryInputData);
 			Assert.IsNull(vehicle.Components.BusAuxiliaries);
 
 			Assert.IsNotNull(vehicle.Components.AirdragInputData);
-			// Assert.IsNotNull(vehicle.Components.ElectricStorage);
+			Assert.IsNotNull(vehicle.Components.ElectricStorage);
+			TestElectricStorageElements(vehicle.Components.ElectricStorage.ElectricStorageElements);
+
+
 			Assert.IsNotNull(vehicle.Components.PTOTransmissionInputData);
 			Assert.AreEqual(0.SI<CubicMeter>(), vehicle.CargoVolume);
 			Assert.IsNotNull(vehicle.TorqueLimits);
@@ -349,6 +352,33 @@ namespace TUGraz.VectoCore.Tests.XML
 
 		#endregion
 
+		#region Test ElectricStorage Element Reader
+
+		private void TestElectricStorageElements(IList<IElectricStorageDeclarationInputData> elements)
+		{
+			Assert.IsNotNull(elements);
+			Assert.AreEqual(2, elements.Count);
+
+			foreach (var entry in elements) {
+				TestREESS(entry);
+			}
+
+
+
+		}
+
+		private void TestREESS(IElectricStorageDeclarationInputData storage)
+		{
+			Assert.AreEqual(1, storage.StringId);
+		}
+
+
+		
+
+		#endregion
+
+
+
 
 		#region Test existence of torque converter