diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/AngularGear.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/AngularGear.cs
new file mode 100644
index 0000000000000000000000000000000000000000..20d25aa0fb4f22ca1ef7efdb80d93df268c030f7
--- /dev/null
+++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/AngularGear.cs
@@ -0,0 +1,31 @@
+using TUGraz.VectoCommon.Models;
+using TUGraz.VectoCommon.Utils;
+using TUGraz.VectoCore.Models.Simulation;
+using TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox;
+using TUGraz.VectoCore.OutputData;
+
+namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
+{
+	// todo mk-2016-07-12: add dummy angular gear?
+
+	public class AngularGear : TransmissionComponent
+	{
+		public AngularGear(IVehicleContainer container, TransmissionData modelData) : base(container, modelData) {}
+
+		public override IResponse Request(Second absTime, Second dt, NewtonMeter torque, PerSecond angularVelocity,
+			bool dryRun = false)
+		{
+			var retVal = base.Request(absTime, dt, torque, angularVelocity, dryRun);
+			retVal.AngularGearPowerRequest = torque * (PreviousState.OutAngularVelocity + CurrentState.OutAngularVelocity) / 2.0;
+			return retVal;
+		}
+
+		protected override void DoWriteModalResults(IModalDataContainer container)
+		{
+			//todo mk 2016-07-12: write angular gear modal results
+			var avgAngularVelocity = (PreviousState.InAngularVelocity + CurrentState.InAngularVelocity) / 2.0;
+			//container[ModalResultField.P_axle_loss] = (CurrentState.InTorque - CurrentState.OutTorque / ModelData.Ratio) *avgAngularVelocity;
+			//container[ModalResultField.P_axle_in] = CurrentState.InTorque * avgAngularVelocity;
+		}
+	}
+}
\ No newline at end of file