diff --git a/CHANGES.md b/CHANGES.md
index 0195181b93d71bab635cb414ff9dd5ce210740e6..87e821b5b80559168bb8ff449b81676e281a5624 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -2,10 +2,27 @@
 ### VECTO x.x (current source)
 
 TODO
-- Don't mark gearbox extrapolation as error > only info (MAN)
 - Traction interruption: No engine rev down - hold rpm until new gear engaged (Allison)
 
 
+### VECTO 2.1
+* Limit engine rpm in torque converter operation acc. > acc_min
+* Shift up (C-to-L, L-to-L) if acc. > acc_min and next-gear-rpm > threshold
+* C-to-C up-shift condition based on N80h engine speed (instead of N95h)
+* Pwheel-Input (SiCo Mode)
+* FC [g/h] is always saved in output (in addition to [g/km]), not only in Engine Only mode
+* Updated DEV options for AT update
+* "DEV" tab is now "Test"
+* GUI: Corrected air density unit in GUI
+* Bugfix: Format error in .vmod header
+
+### VECTO 2.0.4-beta4_Test (Test Release)
+* Transmission loss extrapolation Errors are now Warnings in Engineering Mode.
+* Bugfix: Error in TC Iteration caused crash
+* Bugfix: Minimizing Graph window caused crash
+* Fixed error in cycle conversion
+* Errors if full load curve is too "short"
+
 ### VECTO 2.0.4-beta3
 * Bugfix: VECTO didn't check if the full load curve covers the speed range up to nhi. Now it will abort if the full load curve is "too short"
 * Update in Torque Convert model: Allowed engine speed range up to n95h (before: Pmax-speed)
diff --git a/User Manual Source/Release Notes V2.1.pptx b/User Manual Source/Release Notes V2.1.pptx
new file mode 100644
index 0000000000000000000000000000000000000000..7e8f9a4a669e6e35f52693b2551823a6bf0bcb26
Binary files /dev/null and b/User Manual Source/Release Notes V2.1.pptx differ
diff --git a/User Manual/fileformat/VDRI.html b/User Manual/fileformat/VDRI.html
index 05b857d98984754fb529b316fa68791f856e74a1..d11c88bbc00fc11606dfd85f2637d74756725798 100644
--- a/User Manual/fileformat/VDRI.html	
+++ b/User Manual/fileformat/VDRI.html	
@@ -1,7 +1,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
 <html><head>
-<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"><title>Driving Cycle - VECTO User Manual</title></head>
-<body>
+
+<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"><title>Driving Cycle - VECTO User Manual</title></head><body>
 
 
 <span style="font-family: Verdana;"><big><big><big><span style="font-weight: bold;">Driving Cycle (.vdri)</span></big></big></big></span><br>
@@ -18,5 +18,15 @@ time steps. If the time identifier "&lt;t&gt;" is not used the data
 will be interpreted in 1[s] resolution (1Hz).</li></ul><br><big><big style="font-weight: bold;">Supported Identifiers</big></big><br>
 <hr style="height: 1px; width: 100%;"><table style="text-align: left; width: 100%; height: 116px;" border="1" cellpadding="5" cellspacing="0"><tbody><tr><td style="font-weight: bold; width: 95px;">Identifier</td><td style="width: 112px;"><span style="font-weight: bold;">Quantity</span></td><td style="width: 58px;"><span style="font-weight: bold;">Unit</span></td><td style="width: 665px;"><span style="font-weight: bold;">Description</span></td></tr><tr><td style="font-weight: bold; width: 95px;">&lt;s&gt;</td><td style="width: 112px;">Distance</td><td style="width: 58px;">[m]</td><td style="width: 665px;"><span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; display: inline ! important; float: none;">Travelled distance used for distance-based cycles. If &lt;t&gt; is also defined this column will be ignored.</span><span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; display: inline ! important; float: none;"></span></td></tr><tr><td style="font-weight: bold; width: 95px;">&lt;t&gt;</td><td style="width: 112px;">Time</td><td style="width: 58px;">[s]</td><td style="width: 665px;">Used for time-based cycles. If neither this nor the distance &lt;s&gt; is defined the data will be <span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; display: inline ! important; float: none;">interpreted as 1Hz.</span></td></tr><tr><td style="font-weight: bold;">&lt;v&gt;</td><td>Vehicle Speed</td><td>[km/h]</td><td>Required except for <a href="../general/EngOnlyMode.html">Engine Only Mode</a> calculations.</td></tr><tr><td style="font-weight: bold; width: 95px;">&lt;grad&gt;</td><td style="width: 112px;">Road Gradient</td><td style="width: 58px;">[%]</td><td style="width: 665px;">Optional.</td></tr><tr><td style="font-weight: bold; width: 95px;">&lt;stop&gt;</td><td style="width: 112px;">Stopping Time</td><td style="width: 58px;">[s]</td><td style="width: 665px;">Required
 for distance-based cycles. Not used in time based cycles. &lt;stop&gt;
-defines the time the vehicle spends in stop phases.</td></tr><tr><td style="font-weight: bold; width: 95px;">&lt;Aux_xxx&gt;</td><td style="width: 112px;">Auxiliary Supply Power</td><td style="width: 58px;">[kW]</td><td style="width: 665px;"><span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; display: inline ! important; float: none;">Supply Power input for each auxiliary defined in the <a href="../GUI/VECTO-Editor.html">.vecto file</a> where<span class="Apple-converted-space">&nbsp;</span></span><span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-style: italic; font-weight: bold;">xxx</span><span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; display: inline ! important; float: none;"><span class="Apple-converted-space">&nbsp;</span>matches the ID of the corresponding <a href="../GUI/VECTO-Editor_Aux.html">Auxiliary</a>.&nbsp;</span><span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; display: inline ! important; float: none;">ID's are not case sensitive and must not contain space or special characters.</span></td></tr><tr><td><span style="font-weight: bold;">&lt;n&gt;</span></td><td style="width: 112px;">Engine Speed</td><td style="width: 58px;">[rpm]</td><td style="width: 665px;">If &lt;n&gt; is defined VECTO uses that instead of the calculated engine speed value.</td></tr><tr><td><span style="font-weight: bold;">&lt;gear&gt;</span></td><td style="width: 112px;">Gear</td><td style="width: 58px;">[-]</td><td style="width: 665px;">Gear input. Overwrites the gear shift model.</td></tr><tr><td><span style="font-weight: bold;">&lt;Padd&gt;</span></td><td style="width: 112px;">Additional Aux Power Demand</td><td style="width: 58px;">[kW]</td><td style="width: 665px;">This power input will be directly added to the engine power in addition to possible other auxiliaries. Also used in <a href="../general/EngOnlyMode.html">Engine Only Mode</a>.</td></tr><tr><td><span style="font-weight: bold;">&lt;vair_res&gt;</span></td><td style="width: 112px;">Air speed relative to vehicle</td><td style="width: 58px;">[km/h]</td><td style="width: 665px;">Only required if <a href="../general/cd.html"><span style="font-weight: bold;">Cross Wind Correction</span></a> is set to<span style="font-family: 'Times New Roman';">&nbsp;</span><span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; display: inline ! important; float: none; font-weight: bold;">Vair &amp; Beta Input</span><span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; display: inline ! important; float: none;">.</span></td></tr><tr><td style="font-weight: bold;">&lt;vair_beta&gt;</td><td style="width: 112px;">Wind Yaw Angle</td><td style="width: 58px;">[°]</td><td style="width: 665px;">Only required if <a href="../general/cd.html"><span style="font-weight: bold;">Cross Wind Correction</span></a> is set to<span style="font-family: 'Times New Roman';">&nbsp;</span><span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; display: inline ! important; float: none; font-weight: bold;">Vair &amp; Beta Input</span><span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; display: inline ! important; float: none;">.</span></td></tr><tr><td><span style="font-weight: bold;">&lt;Pe&gt;</span></td><td>Engine power</td><td>[kW]</td><td>Effective engine power at clutch. Only required in <a href="../general/EngOnlyMode.html">Engine Only Mode</a>. Alternatively torque &lt;Me&gt; can be defined. Use <span style="font-weight: bold;">&lt;DRAG&gt;</span> to define motoring operation.</td></tr><tr><td><span style="font-weight: bold;">&lt;Me&gt;</span></td><td>Engine torque</td><td>[Nm]</td><td>Effective engine torque at clutch. Only required in <a href="../general/EngOnlyMode.html">Engine Only Mode</a>. Alternatively power &lt;Pe&gt; can be defined.&nbsp;Use <span style="font-weight: bold;">&lt;DRAG&gt;</span> to define motoring operation.</td></tr></tbody></table><big><big><span style="font-weight: bold;"><br></span></big></big><big><big style="font-weight: bold;">Examples</big></big><br>
+defines the time the vehicle spends in stop phases.</td></tr><tr><td style="font-weight: bold; width: 95px;">&lt;Aux_xxx&gt;</td><td style="width: 112px;">Auxiliary Supply Power</td><td style="width: 58px;">[kW]</td><td style="width: 665px;"><span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; display: inline ! important; float: none;">Supply Power input for each auxiliary defined in the <a href="../GUI/VECTO-Editor.html">.vecto file</a> where<span class="Apple-converted-space">&nbsp;</span></span><span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-style: italic; font-weight: bold;">xxx</span><span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; display: inline ! important; float: none;"><span class="Apple-converted-space">&nbsp;</span>matches the ID of the corresponding <a href="../GUI/VECTO-Editor_Aux.html">Auxiliary</a>.&nbsp;</span><span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; display: inline ! important; float: none;">ID's are not case sensitive and must not contain space or special characters.</span></td></tr><tr><td><span style="font-weight: bold;">&lt;n&gt;</span></td><td style="width: 112px;">Engine Speed</td><td style="width: 58px;">[rpm]</td><td style="width: 665px;">If &lt;n&gt; is defined VECTO uses that instead of the calculated engine speed value.</td></tr><tr><td><span style="font-weight: bold;">&lt;gear&gt;</span></td><td style="width: 112px;">Gear</td><td style="width: 58px;">[-]</td><td style="width: 665px;">Gear input. Overwrites the gear shift model.</td></tr><tr><td><span style="font-weight: bold;">&lt;Padd&gt;</span></td><td style="width: 112px;">Additional Aux Power Demand</td><td style="width: 58px;">[kW]</td><td style="width: 665px;">This power input will be directly added to the engine power in addition to possible other auxiliaries. Also used in <a href="../general/EngOnlyMode.html">Engine Only Mode</a>.</td></tr><tr><td><span style="font-weight: bold;">&lt;vair_res&gt;</span></td><td style="width: 112px;">Air speed relative to vehicle</td><td style="width: 58px;">[km/h]</td><td style="width: 665px;">Only required if <a href="../general/cd.html"><span style="font-weight: bold;">Cross Wind Correction</span></a> is set to<span style="font-family: 'Times New Roman';">&nbsp;</span><span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; display: inline ! important; float: none; font-weight: bold;">Vair &amp; Beta Input</span><span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; display: inline ! important; float: none;">.</span></td></tr><tr><td style="font-weight: bold;">&lt;vair_beta&gt;</td><td style="width: 112px;">Wind Yaw Angle</td><td style="width: 58px;">[°]</td><td style="width: 665px;">Only required if <a href="../general/cd.html"><span style="font-weight: bold;">Cross Wind Correction</span></a> is set to<span style="font-family: 'Times New Roman';">&nbsp;</span><span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; display: inline ! important; float: none; font-weight: bold;">Vair &amp; Beta Input</span><span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: medium; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; display: inline ! important; float: none;">.</span></td></tr><tr><td><span style="font-weight: bold;">&lt;Pe&gt;</span></td><td>Engine power</td><td>[kW]</td><td>Effective engine power at clutch. Only required in <a href="../general/EngOnlyMode.html">Engine Only Mode</a>. Alternatively torque &lt;Me&gt; can be defined. Use <span style="font-weight: bold;">&lt;DRAG&gt;</span> to define motoring operation.</td></tr><tr><td><span style="font-weight: bold;">&lt;Me&gt;</span></td><td>Engine torque</td><td>[Nm]</td><td>Effective engine torque at clutch. Only required in <a href="../general/EngOnlyMode.html">Engine Only Mode</a>. Alternatively power &lt;Pe&gt; can be defined.&nbsp;Use <span style="font-weight: bold;">&lt;DRAG&gt;</span> to define motoring operation.</td></tr><tr>
+      <td style="vertical-align: top;"><span style="font-weight: bold;">&lt;Pwheel&gt;</span><br>
+      </td>
+      <td style="vertical-align: top;">Power at wheels<br>
+      </td>
+      <td style="vertical-align: top;">[kW]<br>
+      </td>
+      <td style="vertical-align: top;">Overwrites power calculation. Requires Gear and Engine Speed input.<br>
+      </td>
+    </tr>
+</tbody></table><big><big><span style="font-weight: bold;"><br></span></big></big><big><big style="font-weight: bold;">Examples</big></big><br>
 <hr style="height: 1px; width: 100%;"><big><big><span style="font-weight: bold;"></span></big></big>The demo data provided with VECTO contains several .vdri files that may be used as template.<br><br><big><big><small><small><span style="font-weight: bold;">Example 1: </span></small></small></big></big>Distance-based cycle with<span style="font-weight: bold;"> Road Gradient</span> and two <span style="font-weight: bold;">Auxiliaries</span><br><span style="font-family: Verdana;"></span><span style="font-family: Verdana;"><img style="width: 589px; height: 406px;" alt="" src="pics/VDRI01.png"></span><br><br><big><big><small><small><span style="font-weight: bold;">Example 2:</span> Time</small></small></big></big>-based cycle with Engine Speed, <span style="font-weight: bold;">Vair &amp; Beta Input</span>, one <span style="font-weight: bold;">Auxiliary</span> and  <span style="font-weight: bold;">Additional Aux Demand</span><br><span style="font-family: Verdana;"></span><span style="font-family: Verdana;"><img style="width: 721px; height: 514px;" alt="" src="pics/VDRI02.png"></span></div></body></html>
\ No newline at end of file
diff --git a/User Manual/main/changelog.html b/User Manual/main/changelog.html
index 403fb4837ba8411d12378f78dd1e39f8fbb0a176..6b5d7312d7fb7b207d161f1711bc6fab21d72530 100644
--- a/User Manual/main/changelog.html	
+++ b/User Manual/main/changelog.html	
@@ -1,11 +1,133 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
 <html><head>
 
+
 <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"><title>VECTO Changelog</title></head><body>
 
 <div style="text-align: center;"><div style="text-align: left;"><span style="font-family: Verdana;"><big><big><big><span style="font-weight: bold;">Changelog</span></big></big></big></span><br><hr style="width: 100%; height: 0px;"><br><span style="font-family: Verdana;"></span></div><span style="font-family: Verdana;"></span>
 
-<div style="text-align: left;"><span style="font-family: Tahoma;">VECTO 2.0<br>
+<div style="text-align: left;"><span style="font-family: Tahoma;">VECTO 2.1<br>
+</span>
+<ul>
+  <li><span style="font-family: Tahoma;">Limit engine rpm in torque converter operation acc. &gt; acc_min</span></li>
+  <li><span style="font-family: Tahoma;">Shift up (C-to-L, L-to-L) if acc. &gt; acc_min and next-gear-rpm &gt; threshold</span></li>
+  <li><span style="font-family: Tahoma;">C-to-C up-shift condition based on N80h engine speed (instead of N95h)</span></li>
+  <li><span style="font-family: Tahoma;">Pwheel-Input (SiCo Mode)</span></li>
+  <li><span style="font-family: Tahoma;">FC [g/h] is always saved in output (in addition to [g/km]), not only in Engine Only mode</span></li>
+  <li><span style="font-family: Tahoma;">Updated DEV options for AT update</span></li>
+  <li><span style="font-family: Tahoma;">"DEV" tab is now "Test"</span></li>
+  <li><span style="font-family: Tahoma;">GUI: Corrected air density unit in GUI</span></li>
+  <li><span style="font-family: Tahoma;">Bugfix: Format error in .vmod header</span></li>
+</ul>
+<span style="font-family: Tahoma;"><br>
+VECTO 2.0.4-beta4_Test (Test Release)<br>
+</span>
+<ul>
+  <li><span style="font-family: Tahoma;">Transmission loss extrapolation Errors are now Warnings in Engineering Mode.</span></li>
+  <li><span style="font-family: Tahoma;">Bugfix: Error in TC Iteration caused crash</span></li>
+  <li><span style="font-family: Tahoma;">Bugfix: Minimizing Graph window caused crash</span></li>
+  <li><span style="font-family: Tahoma;">Fixed error in cycle conversion</span></li>
+  <li><span style="font-family: Tahoma;">Errors if full load curve is too "short"</span></li>
+</ul>
+<span style="font-family: Tahoma;"><br>
+VECTO 2.0.4-beta3<br>
+</span>
+<ul>
+  <li><span style="font-family: Tahoma;">Bugfix: VECTO didn't check if
+the full load curve covers the speed range up to nhi. Now it will abort
+if the full load curve is "too short"</span></li>
+  <li><span style="font-family: Tahoma;">Update in Torque Convert model: Allowed engine speed range up to n95h (before: Pmax-speed)</span></li>
+  <li><span style="font-family: Tahoma;">Bugfix: Rare crashes caused by gear shift model</span></li>
+  <li><span style="font-family: Tahoma;">Bugfix: Error in engine inertia power calculation</span></li>
+  <li><span style="font-family: Tahoma;">Torque Converter losses in modal results</span></li>
+  <li><span style="font-family: Tahoma;">Implemented speed profile cleaning for very small values. (Caused shifting back to first gear when decelerating.)</span></li>
+  <li><span style="font-family: Tahoma;">DEV Option for advanced CSV format output (units line, additional info)</span></li>
+</ul>
+<span style="font-family: Tahoma;"><br>
+VECTO 2.0.4-beta2<br>
+</span>
+<ul>
+  <li><span style="font-family: Tahoma;">Bugfix: VECTO freezed if
+torque converter creeping was not possible due to low full load torque.
+Now it will abort with error message.</span></li>
+  <li><span style="font-family: Tahoma;">Bugfix: Small fixes in torque converter model</span></li>
+</ul>
+<span style="font-family: Tahoma;"><br>
+VECTO 2.0.4-beta1<br>
+</span>
+<ul>
+  <li><span style="font-family: Tahoma;">Updated CSV format of some declaration config files</span></li>
+  <li><span style="font-family: Tahoma;">Various bugfixes in AT model</span></li>
+  <li><span style="font-family: Tahoma;">rdyn validation</span></li>
+  <li><span style="font-family: Tahoma;">Fixed bug in map interpolation</span></li>
+  <li><span style="font-family: Tahoma;">Added ..\Developer Guide\Segment Table Description.xlsx</span></li>
+  <li><span style="font-family: Tahoma;">Fixed bug that caused engine power &gt; full load</span></li>
+</ul>
+<span style="font-family: Tahoma;"><br>
+VECTO 2.0.4-beta<br>
+</span>
+<ul>
+  <li><span style="font-family: Tahoma;">AT update for 1C2C gearboxes</span></li>
+  <li><span style="font-family: Tahoma;">Warning when opening or running files if file was created in different mode (Declaration/Engineering Mode)</span></li>
+</ul>
+<span style="font-family: Tahoma;"><br>
+VECTO 2.0.3-beta0<br>
+</span>
+<ul>
+  <li><span style="font-family: Tahoma;">Implemented engine-side TC inertia input parameter in GBX file</span></li>
+  <li><span style="font-family: Tahoma;">Updated User Manual for TC inertia</span></li>
+  <li><span style="font-family: Tahoma;">Relabeled "OK" buttons to "Save" in input file editors</span></li>
+</ul>
+<span style="font-family: Tahoma;"><br>
+VECTO 2.0.2-beta2<br>
+</span>
+<ul>
+  <li><span style="font-family: Tahoma;">AT/TC Update</span></li>
+  <li><span style="font-family: Tahoma;">Various smaller fixes</span></li>
+</ul>
+<span style="font-family: Tahoma;"><br>
+VECTO 2.0.2-beta1<br>
+</span>
+<ul>
+  <li><span style="font-family: Tahoma;">AT/TC Update</span></li>
+  <li><span style="font-family: Tahoma;">Engine inertia power demand
+(PaEng) is now always calculated based on the previous engine speed
+rather than vehicle acceleration.</span></li>
+  <li><span style="font-family: Tahoma;">Various smaller fixes</span></li>
+</ul>
+<span style="font-family: Tahoma;"><br>
+VECTO 2.0.1-beta1-hotfix.VECTO-33<br>
+</span>
+<ul>
+  <li><span style="font-family: Tahoma;">Fixed VECTO-34</span></li>
+  <li><span style="font-family: Tahoma;">Updated .vsum(.json)</span></li>
+  <ul>
+    <li><span style="font-family: Tahoma;">&nbsp;&nbsp;&nbsp; Added l/100km and CO2 results. (Fixed VECTO-33)</span></li>
+    <li><span style="font-family: Tahoma;">&nbsp;&nbsp;&nbsp; Added FC-Final.</span></li>
+    <li><span style="font-family: Tahoma;">&nbsp;&nbsp;&nbsp; Added Loading. (json)</span></li>
+    <li><span style="font-family: Tahoma;">&nbsp;&nbsp;&nbsp; Added missing fuel parameters. (json)</span></li>
+  </ul>
+  <li><span style="font-family: Tahoma;">Updated README.md</span></li>
+</ul>
+<span style="font-family: Tahoma;"><br>
+VECTO 2.0.1-beta1<br>
+</span>
+<ul>
+  <li><span style="font-family: Tahoma;">Updated Segment Table header</span></li>
+  <li><span style="font-family: Tahoma;">Fixed Eco Roll (VECTO-30)</span></li>
+  <li><span style="font-family: Tahoma;">Fixed Cycles in VECTO Editor being overwritten in Engineering Mode (VECTO-31)</span></li>
+</ul>
+<span style="font-family: Tahoma;"><br>
+VECTO 2.0.1-beta0<br>
+</span>
+<ul>
+  <li><span style="font-family: Tahoma;">Update Notes &gt; Release Notes</span></li>
+  <li><span style="font-family: Tahoma;">Segment Table header</span></li>
+</ul>
+<span style="font-family: Tahoma;"><br>
+<br>
+<br>
+VECTO 2.0<br>
 </span>
 <ul>
   <li><span style="font-family: Tahoma;">Updated CSV file format. Now only one header with units included.</span></li>
diff --git a/VECTO/MODcalc/cPower.vb b/VECTO/MODcalc/cPower.vb
index 241f87321f801143461e36b9d4ebf9f1aa11dec6..444bee2f5fe6f889b049ea029f0b56e6e2bf5f17 100644
--- a/VECTO/MODcalc/cPower.vb
+++ b/VECTO/MODcalc/cPower.vb
@@ -147,7 +147,7 @@ Public Class cPower
 		'4... Eco-Roll
 
 		'Overspeed / Eco-Roll Loop (Forward)
-		i = - 1
+		i = -1
 		Do
 			i += 1
 
@@ -166,7 +166,7 @@ Public Class cPower
 			Else
 				If aact >= 0.01 Then
 					VehState0 = tVehState.Acc
-				ElseIf aact < - 0.01 Then
+				ElseIf aact < -0.01 Then
 					VehState0 = tVehState.Dec
 				Else
 					VehState0 = tVehState.Cruise
@@ -180,7 +180,7 @@ Public Class cPower
 			Select Case Pwheel
 				Case Is > 0.0001
 					Pplus = True
-				Case Is < - 0.0001
+				Case Is < -0.0001
 					Pminus = True
 				Case Else
 					P = 0
@@ -244,17 +244,17 @@ Public Class cPower
 			'Full load / motoring
 			Pmin = FLD(Gear).Pdrag(nU)
 
-			If Vact >= VEC.vMin/3.6 Then
+			If Vact >= VEC.vMin / 3.6 Then
 
 				If VEC.EcoRollOn Then
 
 					'Secondary Progressbar
-					ProgBarCtrl.ProgJobInt = CInt((100/ProgBarShare)*i/MODdata.tDim)
+					ProgBarCtrl.ProgJobInt = CInt((100 / ProgBarShare) * i / MODdata.tDim)
 
 					If Pwheel < 0 Or (i > 0 AndAlso Vh.EcoRoll(i - 1)) Then
 
-						Vmax = MODdata.Vh.Vsoll(i) + VEC.OverSpeed/3.6
-						Vmin = Math.Max(0, MODdata.Vh.Vsoll(i) - VEC.UnderSpeed/3.6)
+						Vmax = MODdata.Vh.Vsoll(i) + VEC.OverSpeed / 3.6
+						Vmin = Math.Max(0, MODdata.Vh.Vsoll(i) - VEC.UnderSpeed / 3.6)
 						vRollout = fRolloutSpeed(i, 1, Vh.fGrad(dist(i)))
 
 						If vRollout < Vmin Then
@@ -263,9 +263,9 @@ Public Class cPower
 
 						ElseIf vRollout <= Vmax Then
 
-							If 2*vRollout - Vh.V0(i) > Vmax Then
+							If 2 * vRollout - Vh.V0(i) > Vmax Then
 								Vh.SetSpeed0(i, Vmax)
-							ElseIf 2*vRollout - Vh.V0(i) < Vmin Then
+							ElseIf 2 * vRollout - Vh.V0(i) < Vmin Then
 								Vh.SetSpeed0(i, Vmin)
 							Else
 								Vh.SetSpeed(i, vRollout)
@@ -279,7 +279,7 @@ Public Class cPower
 
 						Else
 
-							If 2*Vmax - Vh.V0(i) >= Vmax Then
+							If 2 * Vmax - Vh.V0(i) >= Vmax Then
 								Vh.SetSpeed0(i, Vmax)
 							Else
 								Vh.SetSpeed(i, Vmax)
@@ -302,14 +302,14 @@ Public Class cPower
 						If VEC.OverSpeedOn Then
 
 							'Secondary Progressbar
-							ProgBarCtrl.ProgJobInt = CInt((100/ProgBarShare)*i/MODdata.tDim)
+							ProgBarCtrl.ProgJobInt = CInt((100 / ProgBarShare) * i / MODdata.tDim)
 
 							vCoasting = fCoastingSpeed(i, dist(i), Gear)
-							Vmax = MODdata.Vh.Vsoll(i) + VEC.OverSpeed/3.6
+							Vmax = MODdata.Vh.Vsoll(i) + VEC.OverSpeed / 3.6
 
 							If vCoasting <= Vmax Then
 
-								If 2*vCoasting - Vh.V0(i) > Vmax Then
+								If 2 * vCoasting - Vh.V0(i) > Vmax Then
 									Vh.SetSpeed0(i, Vmax)
 								Else
 									Vh.SetSpeed(i, vCoasting)
@@ -317,7 +317,7 @@ Public Class cPower
 
 							Else
 
-								If 2*Vmax - Vh.V0(i) > Vmax Then
+								If 2 * Vmax - Vh.V0(i) > Vmax Then
 									Vh.SetSpeed0(i, Vmax)
 								Else
 									Vh.SetSpeed(i, Vmax)
@@ -343,7 +343,7 @@ Public Class cPower
 		'Look Ahead & Limit Acc (Backward)
 
 		'Mark Brake Positions
-		For i = MODdata.tDim To 1 Step - 1
+		For i = MODdata.tDim To 1 Step -1
 			If Vh.V(i - 1) - Vh.V(i) > 0.0001 And Not Positions(i) = 4 Then Positions(i) = 1
 		Next
 
@@ -355,14 +355,14 @@ Public Class cPower
 			'Secondary Progressbar
 			If ProgBarLACpart > 0 Then _
 				ProgBarCtrl.ProgJobInt =
-					CInt((100/ProgBarShare)*(MODdata.tDim - i)/MODdata.tDim + (ProgBarLACpart - 1)*(100/ProgBarShare))
+					CInt((100 / ProgBarShare) * (MODdata.tDim - i) / MODdata.tDim + (ProgBarLACpart - 1) * (100 / ProgBarShare))
 
 			'Check if cancellation pending 
 			If VECTOworker.CancellationPending Then Return True
 
 			If Positions(i) = 1 Then
 				vset2 = Vh.V(i)
-				For j = i To 0 Step - 1
+				For j = i To 0 Step -1
 					If Positions(j) = 0 Or Positions(j) = 4 Then
 						vset1 = Vh.V(j)
 						Exit For
@@ -371,12 +371,12 @@ Public Class cPower
 
 				'Calc Coasting-Start time step
 				If VEC.LookAheadOn Then
-					Tlookahead = CInt((vset2 - vset1)/VEC.a_lookahead)
+					Tlookahead = CInt((vset2 - vset1) / VEC.a_lookahead)
 					t = Math.Max(0, i - Tlookahead)
 				End If
 
 				'Check if target-speed change inside of Coasting Phase
-				For i0 = i To t Step - 1
+				For i0 = i To t Step -1
 					If i0 = 0 Then Exit For
 					If Vh.Vsoll(i0) - Vh.Vsoll(i0 - 1) > 0.0001 Then
 						t = Math.Min(i0 + 1, i)
@@ -411,12 +411,12 @@ Public Class cPower
 						Positions(i) = 2
 					Else
 						'Coasting (Forward)
-						If VEC.LookAheadOn And Vact >= VEC.vMinLA/3.6 Then
+						If VEC.LookAheadOn And Vact >= VEC.vMinLA / 3.6 Then
 
 							For j = t To i0
 								Vact = Vh.V(j)
 								vCoasting = fCoastingSpeed(j, dist(j), Gears(j))
-								aCoasting = (2*vCoasting - Vh.V0(j)) - Vh.V0(j)
+								aCoasting = (2 * vCoasting - Vh.V0(j)) - Vh.V0(j)
 								If vCoasting < Vact And aCoasting >= VEC.aDesMin(Vact) Then
 									'If Vrollout < Vist Then
 									Vh.SetSpeed(j, vCoasting)
@@ -524,14 +524,15 @@ Public Class cPower
 		If Cfg.GnUfromCycle Or PwheelVorg Then
 			GearInput = DRI.Gvorg
 			RpmInput = DRI.Nvorg
-			If Not Cfg.BatchMode Then
-				If GearInput Then WorkerMsg(tMsgID.Normal, "Using gears from driving cycle", MsgSrc)
-				If RpmInput Then WorkerMsg(tMsgID.Normal, "Using rpm from driving cycle", MsgSrc)
-			End If
 			If PwheelVorg And Not (GearInput And RpmInput) Then
 				WorkerMsg(tMsgID.Err, "Driving cycle is not valid! Vehicle Speed required or Pwheel + Gear + Engine Speed.", MsgSrc)
 				Return False
 			End If
+			If Not Cfg.BatchMode Then
+				If GearInput Then WorkerMsg(tMsgID.Normal, "Using gears from driving cycle", MsgSrc)
+				If RpmInput Then WorkerMsg(tMsgID.Normal, "Using rpm from driving cycle", MsgSrc)
+				If PwheelVorg Then WorkerMsg(tMsgID.Normal, "Using Pwheel from driving cycle", MsgSrc)
+			End If
 		Else
 			If (DRI.Gvorg Or DRI.Nvorg) And Not Cfg.BatchMode Then _
 				WorkerMsg(tMsgID.Warn, "Gears/rpm from driving cycle ignored.", MsgSrc)
@@ -561,12 +562,12 @@ Public Class cPower
 		LastClutch = tEngClutch.Opened
 
 		'Theoretical maximum speed [m/s] - set to Speed ​​at 1.2 x Nominal-Revolutions in top-Gear
-		GVmax = 1.2*ENG.Nrated*2*VEH.rdyn*Math.PI/(1000*GBX.Igetr(0)*GBX.Igetr(GBX.GearCount)*60)
+		GVmax = 1.2 * ENG.Nrated * 2 * VEH.rdyn * Math.PI / (1000 * GBX.Igetr(0) * GBX.Igetr(GBX.GearCount) * 60)
 
 		dist = 0
 		dist0 = 0
 
-		jz = - 1
+		jz = -1
 
 		'***********************************************************************************************
 		'***********************************     Time-loop      ****************************************
@@ -581,11 +582,11 @@ Public Class cPower
 			FirstSecItar = True
 
 			'Secondary Progressbar
-			ProgBarCtrl.ProgJobInt = CInt((100/ProgBarShare)*(jz + 1)/(MODdata.tDim + 1) + (100 - 100/ProgBarShare))
+			ProgBarCtrl.ProgJobInt = CInt((100 / ProgBarShare) * (jz + 1) / (MODdata.tDim + 1) + (100 - 100 / ProgBarShare))
 
 
 			'   Determine State
-			lbGschw:
+lbGschw:
 
 			'Reset the second by second Errors
 			MODdata.ModErrors.GeschRedReset()
@@ -631,7 +632,7 @@ Public Class cPower
 
 				'Check whether Deceleration too high
 				amax = VEC.aDesMin(Vact)
-				If amax > - 0.001 Then
+				If amax > -0.001 Then
 					WorkerMsg(tMsgID.Err, "aDesMax(dec) invalid! v= " & Vact & ", aDesMax(dec) =" & amax, MsgSrc)
 					Return False
 				End If
@@ -665,7 +666,7 @@ Public Class cPower
 				Select Case Pwheel
 					Case Is > 0.0001
 						VehState0 = tVehState.Acc
-					Case Is < - 0.0001
+					Case Is < -0.0001
 						VehState0 = tVehState.Dec
 					Case Else
 						VehState0 = tVehState.Stopped
@@ -676,7 +677,7 @@ Public Class cPower
 				Else
 					If aact >= 0.01 Then
 						VehState0 = tVehState.Acc
-					ElseIf aact < - 0.01 Then
+					ElseIf aact < -0.01 Then
 						VehState0 = tVehState.Dec
 					Else
 						VehState0 = tVehState.Cruise
@@ -689,13 +690,13 @@ Public Class cPower
 			Select Case Pwheel
 				Case Is > 0.0001
 					Pplus = True
-				Case Is < - 0.0001
+				Case Is < -0.0001
 					Pminus = True
 			End Select
 
 			'Eco-Roll Speed Correction (because PreRun speed profile might still be too high or speed might generally be too low)
 			If _
-				Vh.EcoRoll(jz) AndAlso Vact > MODdata.Vh.Vsoll(jz) - VEC.UnderSpeed/3.6 AndAlso Not VehState0 = tVehState.Stopped AndAlso
+				Vh.EcoRoll(jz) AndAlso Vact > MODdata.Vh.Vsoll(jz) - VEC.UnderSpeed / 3.6 AndAlso Not VehState0 = tVehState.Stopped AndAlso
 				Pplus Then
 				If Not Vh.ReduceSpeed(jz, 0.9999) Then
 					WorkerMsg(tMsgID.Err,
@@ -785,7 +786,7 @@ Public Class cPower
 				Vact = fV(nU, Gear)
 			End If
 
-			If Gear = - 1 Then
+			If Gear = -1 Then
 				WorkerMsg(tMsgID.Err, "Error in Gear Shift Model!", MsgSrc & "/t= " & jz + 1)
 				Return False
 			End If
@@ -796,13 +797,13 @@ Public Class cPower
 				Gear = 0
 			End If
 
-			If Gear = 1 And Pminus And Vact <= 5/3.6 Then
+			If Gear = 1 And Pminus And Vact <= 5 / 3.6 Then
 				Clutch = tEngClutch.Opened
 				Gear = 0
 			End If
 
 			' Important checks
-			lbCheck:
+lbCheck:
 
 			'Falls vor Gangwahl festgestellt wurde, dass nicht KupplSchleif, dann bei zu niedriger Drehzahl runterschalten: |@@| If before?(vor) Gear-shift is detected that Clutch does not Lock, then Downshift at too low Revolutions:
 			If Not GBX.TCon Then
@@ -875,7 +876,7 @@ Public Class cPower
 
 
 					nUx = MODdata.nU(jz - 1)
-					omega1 = nUx*2*Math.PI/60
+					omega1 = nUx * 2 * Math.PI / 60
 					Pmin = 0
 					nU = nUx
 					i = 0
@@ -884,12 +885,12 @@ Public Class cPower
 						Pmin = FLD(Gear).Pdrag(nU)
 
 						'Limit Power-drop to 75%
-						P = (MODdata.Pe(jz - 1) - MODdata.PauxSum(jz - 1)) - 0.75*((MODdata.Pe(jz - 1) - MODdata.PauxSum(jz - 1)) - Pmin)
+						P = (MODdata.Pe(jz - 1) - MODdata.PauxSum(jz - 1)) - 0.75 * ((MODdata.Pe(jz - 1) - MODdata.PauxSum(jz - 1)) - Pmin)
 
-						M = - P*1000*60/(2*Math.PI*nU)
-						omega_p = M/EngSideInertia
+						M = -P * 1000 * 60 / (2 * Math.PI * nU)
+						omega_p = M / EngSideInertia
 						omega2 = omega1 - omega_p
-						nU = omega2*60/(2*Math.PI)
+						nU = omega2 * 60 / (2 * Math.PI)
 						i += 1
 						'01:10:12 Luz: Revolutions must not be higher than previously
 						If nU > nUx Then
@@ -953,7 +954,7 @@ Public Class cPower
 					'*** Start: Revolutions Check
 
 					'Check whether Revolutions too high! => Speed Reduction
-					Do While Gear < GBX.GearCount AndAlso nU > 1.2*(ENG.Nrated - ENG.Nidle) + ENG.Nidle
+					Do While Gear < GBX.GearCount AndAlso nU > 1.2 * (ENG.Nrated - ENG.Nidle) + ENG.Nidle
 						Gear += 1
 						nU = fnU(Vact, Gear, Clutch = tEngClutch.Slipping)
 					Loop
@@ -973,7 +974,7 @@ Public Class cPower
 			End If
 
 
-			lb_nOK:
+lb_nOK:
 
 
 			'************************************ Determine Engine-state ************************************
@@ -995,9 +996,9 @@ Public Class cPower
 						Pclutch = nMtoPe(nU, GBX.TCMin)
 
 						If Pclutch >= 0 Then
-							PlossTC = Math.Abs(nMtoPe(GBX.TCnUin, GBX.TCMin)*(1 - GBX.TC_mu*GBX.TC_nu))
+							PlossTC = Math.Abs(nMtoPe(GBX.TCnUin, GBX.TCMin) * (1 - GBX.TC_mu * GBX.TC_nu))
 						Else
-							PlossTC = Math.Abs(nMtoPe(GBX.TCnUout, GBX.TCMout)*(1 - GBX.TC_mu*GBX.TC_nu))
+							PlossTC = Math.Abs(nMtoPe(GBX.TCnUout, GBX.TCMout) * (1 - GBX.TC_mu * GBX.TC_nu))
 						End If
 
 					Else
@@ -1016,7 +1017,7 @@ Public Class cPower
 					PlossRt = fPlossRt(Vact, Gear)
 					PlossTC = 0
 					PaGbx = fPaG(Vact, aact)
-					Pclutch = (Pwheel + PlossGB + PlossDiff + PaGbx + PlossRt)/ClutchEta
+					Pclutch = (Pwheel + PlossGB + PlossDiff + PaGbx + PlossRt) / ClutchEta
 			End Select
 
 
@@ -1041,7 +1042,7 @@ Public Class cPower
 			If Clutch = tEngClutch.Opened Then
 
 				'Start/Stop >>> tEngState.Stopped
-				If VEC.StartStop AndAlso Vact <= VEC.StStV/3.6 AndAlso Math.Abs(PaMot) < 0.0001 Then
+				If VEC.StartStop AndAlso Vact <= VEC.StStV / 3.6 AndAlso Math.Abs(PaMot) < 0.0001 Then
 					StStPossible = True
 					If StStOff And jz > 0 Then
 						If MODdata.EngState(jz - 1) = tEngState.Stopped Then
@@ -1058,7 +1059,7 @@ Public Class cPower
 					Case Is > 0.0001 'Antrieb
 						EngState0 = tEngState.Load
 
-					Case Is < - 0.0001 'Schlepp
+					Case Is < -0.0001 'Schlepp
 						EngState0 = tEngState.Drag
 
 					Case Else 'Idle/Stop
@@ -1110,7 +1111,7 @@ Public Class cPower
 
 			'   => Pbrake
 			If Clutch = tEngClutch.Opened Then
-				If Pwheel < - 0.00001 Then
+				If Pwheel < -0.00001 Then
 					Pbrake = Pwheel
 				Else
 					Pbrake = 0
@@ -1122,7 +1123,7 @@ Public Class cPower
 				If EngState0 = tEngState.Load Then
 					Pbrake = 0
 					If GBX.TCon And GBX.IsTCgear(Gear) Then Pbrake = GBX.TC_PeBrake
-					If Math.Abs(P/Pmax - 1) < 0.02 Then EngState0 = tEngState.FullLoad
+					If Math.Abs(P / Pmax - 1) < 0.02 Then EngState0 = tEngState.FullLoad
 				Else ' tEngState.Drag (tEngState.Idle, tEngState.Stopped kann's hier nicht geben weil Clutch <> Closed)
 					If P < Pmin Then
 
@@ -1173,7 +1174,7 @@ Public Class cPower
 
 			If False AndAlso jz = 53 Then
 				Debug.Print(
-					Vact*3.6 & "," & aact & "," & Vh.fGrad(dist) & "," & GBX.TC_nu & "," & GBX.TC_mu & "," & nU & "," & Pwheel & "," &
+					Vact * 3.6 & "," & aact & "," & Vh.fGrad(dist) & "," & GBX.TC_nu & "," & GBX.TC_mu & "," & nU & "," & Pwheel & "," &
 					nMtoPe(GBX.TCnUout, GBX.TCMout) & "," &
 					Pclutch & "," & Paux & "," & PaMot & "," &
 					P & "," & Pmax)
@@ -1317,12 +1318,12 @@ Public Class cPower
 					If nU = 0 Then
 						MODdata.TCnu.Add(0)
 					Else
-						MODdata.TCnu.Add(GBX.TCnUout/nU)
+						MODdata.TCnu.Add(GBX.TCnUout / nU)
 					End If
 					If GBX.TCMin = 0 Then
 						MODdata.TCmu.Add(0)
 					Else
-						MODdata.TCmu.Add(GBX.TCMout/GBX.TCMin)
+						MODdata.TCmu.Add(GBX.TCMout / GBX.TCMin)
 					End If
 					MODdata.TCMout.Add(GBX.TCMout)
 					MODdata.TCnOut.Add(GBX.TCnUout)
@@ -1379,8 +1380,8 @@ Public Class cPower
 			End If
 
 
-			LastGearChange = - 1
-			For i = jz - 1 To 0 Step - 1
+			LastGearChange = -1
+			For i = jz - 1 To 0 Step -1
 				If MODdata.Gear(i) <> 0 Then
 					If MODdata.Gear(i) <> Gear Then
 						LastGearChange = i
@@ -1396,7 +1397,7 @@ Public Class cPower
 			If MODdata.ModErrors.MsgOutputAbort(jz + 1, MsgSrc) Then Return False
 
 			If Clutch = tEngClutch.Closed And RpmInput Then
-				If Math.Abs(nU - fnU(Vact, Gear, False)) > 0.2*ENG.Nrated Then
+				If Math.Abs(nU - fnU(Vact, Gear, False)) > 0.2 * ENG.Nrated Then
 					WorkerMsg(tMsgID.Warn, "Target rpm =" & nU & ", calculated rpm(gear " & Gear & ")= " & fnU(Vact, Gear, False),
 							MsgSrc & "/t= " & jz + 1)
 				End If
@@ -1420,13 +1421,13 @@ Public Class cPower
 
 			If Math.Abs(Vh.WegIst - Vh.WegSoll) > 80 Then
 				WorkerMsg(tMsgID.Warn,
-						"Target distance= " & (Vh.WegSoll/1000).ToString("#.000") & "[km], Actual distance= " &
-						(Vh.WegIst/1000).ToString("#.000") & "[km], Error= " & Math.Abs(Vh.WegIst - Vh.WegSoll).ToString("#.0") & "[m]",
+						"Target distance= " & (Vh.WegSoll / 1000).ToString("#.000") & "[km], Actual distance= " &
+						(Vh.WegIst / 1000).ToString("#.000") & "[km], Error= " & Math.Abs(Vh.WegIst - Vh.WegSoll).ToString("#.0") & "[m]",
 						MsgSrc)
 			Else
 				WorkerMsg(tMsgID.Normal,
-						"Target distance= " & (Vh.WegSoll/1000).ToString("#.000") & "[km], Actual distance= " &
-						(Vh.WegIst/1000).ToString("#.000") & "[km], Error= " & Math.Abs(Vh.WegIst - Vh.WegSoll).ToString("#.0") & "[m]",
+						"Target distance= " & (Vh.WegSoll / 1000).ToString("#.000") & "[km], Actual distance= " &
+						(Vh.WegIst / 1000).ToString("#.000") & "[km], Error= " & Math.Abs(Vh.WegIst - Vh.WegSoll).ToString("#.0") & "[m]",
 						MsgSrc)
 			End If
 		End If
@@ -1476,15 +1477,15 @@ Public Class cPower
 		For t = 0 To t1
 
 			'Secondary Progressbar
-			ProgBarCtrl.ProgJobInt = CInt(100*t/t1)
+			ProgBarCtrl.ProgJobInt = CInt(100 * t / t1)
 
 			'Reset the second-by-second Errors
 			MODdata.ModErrors.ResetAll()
 
 			'OLD and wrong because not time shifted: P_mr(jz) = 0.001 * (I_mot * 0.0109662 * (n(jz) * nnrom) * nnrom * (n(jz) - n(jz - 1))) 
 			If t > 0 And t < t1 Then
-				Pmr = 0.001*
-					(ENG.I_mot*(2*Math.PI/60)^2*((MODdata.nU(t + 1) + MODdata.nU(t - 1))/2)*0.5*(MODdata.nU(t + 1) - MODdata.nU(t - 1)))
+				Pmr = 0.001 *
+					(ENG.I_mot * (2 * Math.PI / 60) ^ 2 * ((MODdata.nU(t + 1) + MODdata.nU(t - 1)) / 2) * 0.5 * (MODdata.nU(t + 1) - MODdata.nU(t - 1)))
 			Else
 				Pmr = 0
 			End If
@@ -1518,22 +1519,22 @@ Public Class cPower
 
 				'FLD Check
 				If MODdata.Pe(t) > Pmax Then
-					If MODdata.Pe(t)/Pmax > 1.05 Then PcorCount += 1
+					If MODdata.Pe(t) / Pmax > 1.05 Then PcorCount += 1
 					MODdata.Pe(t) = Pmax
 				ElseIf MODdata.Pe(t) < Pmin Then
-					If MODdata.Pe(t)/Pmin > 1.05 And MODdata.Pe(t) > - 99999 Then PcorCount += 1
+					If MODdata.Pe(t) / Pmin > 1.05 And MODdata.Pe(t) > -99999 Then PcorCount += 1
 					MODdata.Pe(t) = Pmin
 				End If
 
 				Select Case MODdata.Pe(t)
 					Case Is > 0.0001 'Antrieb
-						If Math.Abs(MODdata.Pe(t)/Pmax - 1) < 0.01 Then
+						If Math.Abs(MODdata.Pe(t) / Pmax - 1) < 0.01 Then
 							EngState0 = tEngState.FullLoad
 						Else
 							EngState0 = tEngState.Load
 						End If
-					Case Is < - 0.0001 'Schlepp
-						If Math.Abs(MODdata.Pe(t)/Pmin - 1) < 0.01 Then
+					Case Is < -0.0001 'Schlepp
+						If Math.Abs(MODdata.Pe(t) / Pmin - 1) < 0.01 Then
 							EngState0 = tEngState.FullDrag
 						Else
 							EngState0 = tEngState.Drag
@@ -1573,7 +1574,7 @@ Public Class cPower
 
 
 		nUx = MODdata.nU(t - 1)
-		omega1 = nUx*2*Math.PI/60
+		omega1 = nUx * 2 * Math.PI / 60
 		Pmin = 0
 		nU = nUx
 		i = 0
@@ -1586,12 +1587,12 @@ Public Class cPower
 			'   Einfluss auf Beschleunigungsvermögen gering (Einfluss durch Pe(t-1) bei dynamischer Volllast mit PT1) |@@| Influence at low acceleration (influence dynamic Full-load through Pe(t-1) with PT1)
 			'   Luz/Rexeis 21.08.2012
 			'   Iteration loop: 01.10.2012
-			P = MODdata.Pe(t - 1) - 0.75*(MODdata.Pe(t - 1) - Pmin)
-			M = - P*1000*60/(2*Math.PI*nU)
+			P = MODdata.Pe(t - 1) - 0.75 * (MODdata.Pe(t - 1) - Pmin)
+			M = -P * 1000 * 60 / (2 * Math.PI * nU)
 			'original: M = -Pmin * 1000 * 60 / (2 * Math.PI * ((nU + nUx) / 2))
-			omega_p = M/EngSideInertia
+			omega_p = M / EngSideInertia
 			omega2 = omega1 - omega_p
-			nU = omega2*60/(2*Math.PI)
+			nU = omega2 * 60 / (2 * Math.PI)
 			i += 1
 			'01:10:12 Luz: Revolutions must not be higher than previously
 			If nU > nUx Then
@@ -1616,7 +1617,7 @@ Public Class cPower
 
 		v = MODdata.Vh.V(t)
 
-		vMin = (MODdata.Vh.V0(t) + 0)/2
+		vMin = (MODdata.Vh.V0(t) + 0) / 2
 
 		If v <= vMin Then Return vMin
 
@@ -1627,35 +1628,35 @@ Public Class cPower
 		PvD = fPwheel(t, v, a, Grad)
 
 		If PvD > eps Then
-			vVorz = - 1
-		ElseIf PvD < - eps Then
+			vVorz = -1
+		ElseIf PvD < -eps Then
 			vVorz = 1
 		Else
 			Return v
 		End If
 
-		LastPvD = PvD + 10*eps
+		LastPvD = PvD + 10 * eps
 
 		Do While Math.Abs(PvD) > eps And Math.Abs(LastPvD - PvD) > eps
 
 			If Math.Abs(LastPvD) < Math.Abs(PvD) Then
-				vVorz *= - 1
+				vVorz *= -1
 				vstep *= 0.5
 
 				If vstep = 0 Then Exit Do
 
 			End If
 
-			v += vVorz*vstep
+			v += vVorz * vstep
 
 			If v < vMin Then
 
 				LastPvD = 0
-				v -= vVorz*vstep
+				v -= vVorz * vstep
 
 			Else
 
-				a = 2*(v - MODdata.Vh.V0(t))/dt
+				a = 2 * (v - MODdata.Vh.V0(t)) / dt
 
 				LastPvD = PvD
 
@@ -1707,24 +1708,24 @@ Public Class cPower
 			Return v
 		End If
 
-		LastDiff = Diff + 10*0.0001
+		LastDiff = Diff + 10 * 0.0001
 
 		Do While Diff > 0.0001 'And Math.Abs(LastDiff - Diff) > eps
 
-			If LastDiff < Diff Or v + vSign*vstep <= 0.0001 Then
-				vSign *= - 1
+			If LastDiff < Diff Or v + vSign * vstep <= 0.0001 Then
+				vSign *= -1
 				vstep *= 0.5
 
 				If vstep < 0.00001 Then Exit Do
 
 			End If
 
-			v += vSign*vstep
+			v += vSign * vstep
 
 			If v0 Is Nothing Then
-				a = 2*(v - MODdata.Vh.V0(t))/1	'dt = 1[s]
+				a = 2 * (v - MODdata.Vh.V0(t)) / 1	'dt = 1[s]
 			Else
-				a = 2*(v - v0)/1  'dt = 1[s]
+				a = 2 * (v - v0) / 1  'dt = 1[s]
 			End If
 
 			nU = fnU(v, Gear, False)
@@ -1763,12 +1764,12 @@ Public Class cPower
 		For t0 = t To t + dt
 			vtemp = fCoastingSpeed(t0, s, Gear, v, a, v0)
 
-			If 2*vtemp - v0 < 0 Then vtemp = v0/2
+			If 2 * vtemp - v0 < 0 Then vtemp = v0 / 2
 
-			v0p = 2*vtemp - v0
+			v0p = 2 * vtemp - v0
 			a = v0p - v0
 
-			v = (MODdata.Vh.V0(t0 + 2) + v0p)/2
+			v = (MODdata.Vh.V0(t0 + 2) + v0p) / 2
 			a = MODdata.Vh.V0(t0 + 2) - v0p
 
 			v0 = v0p
@@ -1787,12 +1788,12 @@ Public Class cPower
 		Dim nUup As Single
 		Dim nUdown As Single
 
-		For Gear = GBX.GearCount To 1 Step - 1
+		For Gear = GBX.GearCount To 1 Step -1
 
-			nU = CSng(Vact*60.0*GBX.Igetr(0)*GBX.Igetr(Gear)/(2*VEH.rdyn*Math.PI/1000))
+			nU = CSng(Vact * 60.0 * GBX.Igetr(0) * GBX.Igetr(Gear) / (2 * VEH.rdyn * Math.PI / 1000))
 
 			'Current torque demand with previous gear
-			Tq = Pe*1000/(nU*2*Math.PI/60)
+			Tq = Pe * 1000 / (nU * 2 * Math.PI / 60)
 
 			'Up/Downshift rpms
 			nUup = GBX.Shiftpolygons(Gear).fGSnUup(Tq)
@@ -1823,7 +1824,7 @@ Public Class cPower
 		If t = 0 AndAlso VehState0 <> tVehState.Stopped Then
 
 			'Calculate gear when cycle starts with speed > 0
-			For Gear = GBX.GearCount To 1 Step - 1
+			For Gear = GBX.GearCount To 1 Step -1
 
 				'rpm
 				nU = fnU(Vact, Gear, Clutch = tEngClutch.Slipping)
@@ -1836,17 +1837,17 @@ Public Class cPower
 				Pe = Math.Max(Pe, FLD(Gear).Pdrag(nU))
 
 				'torque demand
-				Tq = Pe*1000/(nU*2*Math.PI/60)
+				Tq = Pe * 1000 / (nU * 2 * Math.PI / 60)
 
 				'Up/Downshift rpms
 				nUup = GBX.Shiftpolygons(Gear).fGSnUup(Tq)
 				nUdown = GBX.Shiftpolygons(Gear).fGSnUdown(Tq)
 
 				'Max torque
-				MdMax = Pmax*1000/(nU*2*Math.PI/60)
+				MdMax = Pmax * 1000 / (nU * 2 * Math.PI / 60)
 
 				'Find highest gear with rpm below Upshift-rpm and with enough torque reserve 
-				If nU < nUup And nU > nUdown And 1 - Tq/MdMax >= GBX.gs_TorqueResv/100 Then
+				If nU < nUup And nU > nUdown And 1 - Tq / MdMax >= GBX.gs_TorqueResv / 100 Then
 					Exit For
 				ElseIf nU > nUup And Gear < GBX.GearCount Then
 					Return Gear + 1
@@ -1857,29 +1858,29 @@ Public Class cPower
 		Else
 
 			'Calculate Start Gear 
-			For Gear = GBX.GearCount To 1 Step - 1
+			For Gear = GBX.GearCount To 1 Step -1
 
 				'rpm at StartSpeed  [m/s]
-				nU = GBX.gs_StartSpeed*60.0*GBX.Igetr(0)*GBX.Igetr(Gear)/(2*VEH.rdyn*Math.PI/1000)
+				nU = GBX.gs_StartSpeed * 60.0 * GBX.Igetr(0) * GBX.Igetr(Gear) / (2 * VEH.rdyn * Math.PI / 1000)
 
 				'full load
 				Pmax = FLD(Gear).Pfull(nU)
 
 				'Max torque
-				MdMax = Pmax*1000/(nU*2*Math.PI/60)
+				MdMax = Pmax * 1000 / (nU * 2 * Math.PI / 60)
 
 				'power demand
 				Pe = Math.Min(fPeGearMod(Gear, t, GBX.gs_StartSpeed, GBX.gs_StartAcc, Grad), Pmax)
 				Pe = Math.Max(Pe, FLD(Gear).Pdrag(nU))
 
 				'torque demand
-				Tq = Pe*1000/(nU*2*Math.PI/60)
+				Tq = Pe * 1000 / (nU * 2 * Math.PI / 60)
 
 				'Up/Downshift rpms
 				nUup = GBX.Shiftpolygons(Gear).fGSnUup(Tq)
 				nUdown = GBX.Shiftpolygons(Gear).fGSnUdown(Tq)
 
-				If nU > nUdown And nU >= ENG.Nidle And (1 - Tq/MdMax >= GBX.gs_TorqueResvStart/100 Or Tq < 0) Then Exit For
+				If nU > nUdown And nU >= ENG.Nidle And (1 - Tq / MdMax >= GBX.gs_TorqueResvStart / 100 Or Tq < 0) Then Exit For
 
 			Next
 
@@ -1910,7 +1911,7 @@ Public Class cPower
 		'Previous Gear
 		tx = 1
 		LastGear = 0
-		Do While LastGear = 0 And t - tx > - 1
+		Do While LastGear = 0 And t - tx > -1
 			LastGear = MODdata.Gear(t - tx)
 			tx += 1
 		Loop
@@ -1938,7 +1939,7 @@ Public Class cPower
 		End If
 
 		If LastGear < GBX.GearCount AndAlso PlusGearLockUp Then
-			nUnext = Vact*60.0*GBX.Igetr(0)*GBX.Igetr(LastGear + 1)/(2*VEH.rdyn*Math.PI/1000)
+			nUnext = Vact * 60.0 * GBX.Igetr(0) * GBX.Igetr(LastGear + 1) / (2 * VEH.rdyn * Math.PI / 1000)
 		Else
 			nUnext = 0
 		End If
@@ -1946,15 +1947,15 @@ Public Class cPower
 		'nU
 		If GBX.IsTCgear(LastGear) Then
 			n = MODdata.TCnu(t - 1)
-			nU = (Vact*60.0*GBX.Igetr(0)*GBX.Igetr(LastGear)/(2*VEH.rdyn*Math.PI/1000))/n
+			nU = (Vact * 60.0 * GBX.Igetr(0) * GBX.Igetr(LastGear) / (2 * VEH.rdyn * Math.PI / 1000)) / n
 		Else
-			nU = Vact*60.0*GBX.Igetr(0)*GBX.Igetr(LastGear)/(2*VEH.rdyn*Math.PI/1000)
-			OutOfRpmRange = (nU >= 1.2*(ENG.Nrated - ENG.Nidle) + ENG.Nidle) Or nU < ENG.Nidle
+			nU = Vact * 60.0 * GBX.Igetr(0) * GBX.Igetr(LastGear) / (2 * VEH.rdyn * Math.PI / 1000)
+			OutOfRpmRange = (nU >= 1.2 * (ENG.Nrated - ENG.Nidle) + ENG.Nidle) Or nU < ENG.Nidle
 			'No gear change 3s after last one -except rpm out of range
 			If Not OutOfRpmRange AndAlso t - LastGearChange <= GBX.gs_ShiftTime And t > GBX.gs_ShiftTime - 1 Then Return LastGear
 		End If
 
-		Pe = Tq*(nU*2*Math.PI/60)/1000
+		Pe = Tq * (nU * 2 * Math.PI / 60) / 1000
 
 		'Up/Downshift rpms
 		nUup = GBX.Shiftpolygons(LastGear).fGSnUup(Tq)
@@ -2030,7 +2031,7 @@ Public Class cPower
 		'Previous Gear
 		tx = 1
 		LastGear = 0
-		Do While LastGear = 0 And t - tx > - 1
+		Do While LastGear = 0 And t - tx > -1
 			LastGear = MODdata.Gear(t - tx)
 			tx += 1
 		Loop
@@ -2038,9 +2039,9 @@ Public Class cPower
 		'First time step after stand still
 		If LastGear = 0 Then Return fStartGear(t, Grad)
 
-		nU = CSng(Vact*60.0*GBX.Igetr(0)*GBX.Igetr(LastGear)/(2*VEH.rdyn*Math.PI/1000))
+		nU = CSng(Vact * 60.0 * GBX.Igetr(0) * GBX.Igetr(LastGear) / (2 * VEH.rdyn * Math.PI / 1000))
 
-		OutOfRpmRange = ((nU - ENG.Nidle)/(ENG.Nrated - ENG.Nidle) >= 1.2 Or nU < ENG.Nidle)
+		OutOfRpmRange = ((nU - ENG.Nidle) / (ENG.Nrated - ENG.Nidle) >= 1.2 Or nU < ENG.Nidle)
 
 		'No gear change 3s after last one -except rpm out of range
 		If Not OutOfRpmRange AndAlso t - LastGearChange <= GBX.gs_ShiftTime And t > GBX.gs_ShiftTime - 1 Then Return LastGear
@@ -2070,8 +2071,8 @@ Public Class cPower
 		Pe = Math.Max(Pe, FLD(LastGear).Pdrag(nU))
 
 		'Current torque demand with previous gear
-		Tq = Pe*1000/(nU*2*Math.PI/60)
-		MdMax = FLD(LastGear).Pfull(nU, LastPeNorm)*1000/(nU*2*Math.PI/60)
+		Tq = Pe * 1000 / (nU * 2 * Math.PI / 60)
+		MdMax = FLD(LastGear).Pfull(nU, LastPeNorm) * 1000 / (nU * 2 * Math.PI / 60)
 
 		'Up/Downshift rpms
 		nnUp = GBX.Shiftpolygons(LastGear).fGSnUup(Tq)
@@ -2093,7 +2094,7 @@ Public Class cPower
 				If nU >= ENG.Nidle Then
 					Pe = Math.Min(fPeGearMod(Gear - 1, t, Grad), FLD(Gear - 1).Pfull(nU))
 					Pe = Math.Max(Pe, FLD(Gear - 1).Pdrag(nU))
-					Tq = Pe*1000/(nU*2*Math.PI/60)
+					Tq = Pe * 1000 / (nU * 2 * Math.PI / 60)
 					nnUp = GBX.Shiftpolygons(Gear - 1).fGSnUup(Tq)
 					nnDown = GBX.Shiftpolygons(Gear - 1).fGSnUdown(Tq)
 
@@ -2114,7 +2115,7 @@ Public Class cPower
 
 						Pe = Math.Min(fPeGearMod(Gear - 1, t, Grad), FLD(Gear - 1).Pfull(nU))
 						Pe = Math.Max(Pe, FLD(Gear - 1).Pdrag(nU))
-						Tq = Pe*1000/(nU*2*Math.PI/60)
+						Tq = Pe * 1000 / (nU * 2 * Math.PI / 60)
 						nnUp = GBX.Shiftpolygons(Gear - 1).fGSnUup(Tq)
 						nnDown = GBX.Shiftpolygons(Gear - 1).fGSnUdown(Tq)
 
@@ -2141,15 +2142,15 @@ Public Class cPower
 
 				Pe = Math.Min(fPeGearMod(Gear + 1, t, Grad), FLD(Gear + 1).Pfull(nU))
 				Pe = Math.Max(Pe, FLD(Gear + 1).Pdrag(nU))
-				Tq = Pe*1000/(nU*2*Math.PI/60)
+				Tq = Pe * 1000 / (nU * 2 * Math.PI / 60)
 				nnUp = GBX.Shiftpolygons(Gear + 1).fGSnUup(Tq)
 				nnDown = GBX.Shiftpolygons(Gear + 1).fGSnUdown(Tq)
 
 				'Max Torque
-				MdMax = FLD(Gear + 1).Pfull(nU, LastPeNorm)*1000/(nU*2*Math.PI/60)
+				MdMax = FLD(Gear + 1).Pfull(nU, LastPeNorm) * 1000 / (nU * 2 * Math.PI / 60)
 
 				'Shift up as long as Torque reserve is okay and Gear < Max-Gear and rpm is above DownShift-rpm
-				Do While Gear < GBX.GearCount AndAlso 1 - Tq/MdMax >= GBX.gs_TorqueResv/100 AndAlso nU > nnDown _
+				Do While Gear < GBX.GearCount AndAlso 1 - Tq / MdMax >= GBX.gs_TorqueResv / 100 AndAlso nU > nnDown _
 '+ 0.1 * (nnUp - nnDown)
 
 					'Shift UP
@@ -2166,12 +2167,12 @@ Public Class cPower
 
 					Pe = Math.Min(fPeGearMod(Gear + 1, t, Grad), FLD(Gear + 1).Pfull(nU))
 					Pe = Math.Max(Pe, FLD(Gear + 1).Pdrag(nU))
-					Tq = Pe*1000/(nU*2*Math.PI/60)
+					Tq = Pe * 1000 / (nU * 2 * Math.PI / 60)
 					nnUp = GBX.Shiftpolygons(Gear + 1).fGSnUup(Tq)
 					nnDown = GBX.Shiftpolygons(Gear + 1).fGSnUdown(Tq)
 
 					'Max Torque
-					MdMax = FLD(Gear + 1).Pfull(nU, LastPeNorm)*1000/(nU*2*Math.PI/60)
+					MdMax = FLD(Gear + 1).Pfull(nU, LastPeNorm) * 1000 / (nU * 2 * Math.PI / 60)
 
 				Loop
 
@@ -2192,15 +2193,15 @@ Public Class cPower
 				If nU <= ENG.Nrated Then
 					Pe = Math.Min(fPeGearMod(Gear + 1, t, Grad), FLD(Gear + 1).Pfull(nU))
 					Pe = Math.Max(Pe, FLD(Gear + 1).Pdrag(nU))
-					Tq = Pe*1000/(nU*2*Math.PI/60)
+					Tq = Pe * 1000 / (nU * 2 * Math.PI / 60)
 					nnUp = GBX.Shiftpolygons(Gear + 1).fGSnUup(Tq)
 					nnDown = GBX.Shiftpolygons(Gear + 1).fGSnUdown(Tq)
 
 					'Max Torque
-					MdMax = FLD(Gear + 1).Pfull(nU, LastPeNorm)*1000/(nU*2*Math.PI/60)
+					MdMax = FLD(Gear + 1).Pfull(nU, LastPeNorm) * 1000 / (nU * 2 * Math.PI / 60)
 
 					'Shift up as long as Torque reserve is okay and Gear < Max-Gear and rpm is above DownShift-rpm
-					Do While Gear < GBX.GearCount AndAlso 1 - Tq/MdMax >= GBX.gs_TorqueResv/100 AndAlso nU > nnDown _
+					Do While Gear < GBX.GearCount AndAlso 1 - Tq / MdMax >= GBX.gs_TorqueResv / 100 AndAlso nU > nnDown _
 '+ 0.1 * (nnUp - nnDown)
 
 						'Shift UP
@@ -2217,12 +2218,12 @@ Public Class cPower
 
 						Pe = Math.Min(fPeGearMod(Gear + 1, t, Grad), FLD(Gear + 1).Pfull(nU))
 						Pe = Math.Max(Pe, FLD(Gear + 1).Pdrag(nU))
-						Tq = Pe*1000/(nU*2*Math.PI/60)
+						Tq = Pe * 1000 / (nU * 2 * Math.PI / 60)
 						nnUp = GBX.Shiftpolygons(Gear + 1).fGSnUup(Tq)
 						nnDown = GBX.Shiftpolygons(Gear + 1).fGSnUdown(Tq)
 
 						'Max Torque
-						MdMax = FLD(Gear + 1).Pfull(nU, LastPeNorm)*1000/(nU*2*Math.PI/60)
+						MdMax = FLD(Gear + 1).Pfull(nU, LastPeNorm) * 1000 / (nU * 2 * Math.PI / 60)
 
 					Loop
 
@@ -2233,7 +2234,7 @@ Public Class cPower
 
 		End If
 
-		lb10:
+lb10:
 		'*** Error-Msg-Check ***
 		'Current rpm 
 		nU = fnU(Vact, Gear, Clutch = tEngClutch.Slipping)
@@ -2241,7 +2242,7 @@ Public Class cPower
 		Pe = Math.Min(fPeGearMod(Gear, t, Grad), FLD(Gear).Pfull(nU))
 		Pe = Math.Max(Pe, FLD(Gear).Pdrag(nU))
 		'Current torque demand
-		Tq = Pe*1000/(nU*2*Math.PI/60)
+		Tq = Pe * 1000 / (nU * 2 * Math.PI / 60)
 
 		'If GearCorrection is OFF then return here
 		Return Gear
@@ -2254,7 +2255,7 @@ Public Class cPower
 		Dim g0 As Integer
 		DifMin = 9999
 		For g = 1 To GBX.GearCount
-			Dif = Math.Abs(GBX.Igetr(g) - nU*(2*VEH.rdyn*Math.PI)/(1000*V*60.0*GBX.Igetr(0)))
+			Dif = Math.Abs(GBX.Igetr(g) - nU * (2 * VEH.rdyn * Math.PI) / (1000 * V * 60.0 * GBX.Igetr(0)))
 			If Dif <= DifMin Then
 				g0 = g
 				DifMin = Dif
@@ -2289,7 +2290,7 @@ Public Class cPower
 			Return (Pwheel + fPlossGB(Pwheel, V, Gear, True) + fPlossDiff(Pwheel, V, True) + fPaG(V, a) + fPaux(t, nU) + PaM)
 		Else 'Clutch = tEngClutch.Slipping
 			Return _
-				((Pwheel + fPlossGB(Pwheel, V, Gear, True) + fPlossDiff(Pwheel, V, True) + fPaG(V, a))/ClutchEta + fPaux(t, nU) +
+				((Pwheel + fPlossGB(Pwheel, V, Gear, True) + fPlossDiff(Pwheel, V, True) + fPaG(V, a)) / ClutchEta + fPaux(t, nU) +
 				PaM)
 		End If
 	End Function
@@ -2304,27 +2305,27 @@ Public Class cPower
 #Region "Engine Speed Calculation"
 
 	Private Function fnn(ByVal V As Single, ByVal Gear As Integer, ByVal ClutchSlip As Boolean) As Single
-		Return (fnU(V, Gear, ClutchSlip) - ENG.Nidle)/(ENG.Nrated - ENG.Nidle)
+		Return (fnU(V, Gear, ClutchSlip) - ENG.Nidle) / (ENG.Nrated - ENG.Nidle)
 	End Function
 
 	Private Function fnU(ByVal V As Single, ByVal Gear As Integer, ByVal ClutchSlip As Boolean) As Single
 		Dim akn As Single
 		Dim U As Single
-		U = CSng(V*60.0*GBX.Igetr(0)*GBX.Igetr(Gear)/(2*VEH.rdyn*Math.PI/1000))
+		U = CSng(V * 60.0 * GBX.Igetr(0) * GBX.Igetr(Gear) / (2 * VEH.rdyn * Math.PI / 1000))
 		If U < ENG.Nidle Then U = ENG.Nidle
 		If ClutchSlip Then
-			akn = ClutchNorm/((ENG.Nidle + ClutchNorm*(ENG.Nrated - ENG.Nidle))/ENG.Nrated)
-			U = (akn*U/ENG.Nrated)*(ENG.Nrated - ENG.Nidle) + ENG.Nidle
+			akn = ClutchNorm / ((ENG.Nidle + ClutchNorm * (ENG.Nrated - ENG.Nidle)) / ENG.Nrated)
+			U = (akn * U / ENG.Nrated) * (ENG.Nrated - ENG.Nidle) + ENG.Nidle
 		End If
 		Return U
 	End Function
 
 	Private Function fV(ByVal nU As Single, ByVal Gear As Integer) As Single
-		Return nU*(2*VEH.rdyn*Math.PI/1000)/(60.0*GBX.Igetr(0)*GBX.Igetr(Gear))
+		Return nU * (2 * VEH.rdyn * Math.PI / 1000) / (60.0 * GBX.Igetr(0) * GBX.Igetr(Gear))
 	End Function
 
 	Private Function fnUout(ByVal V As Single, ByVal Gear As Integer) As Single
-		Return V*60.0*GBX.Igetr(0)*GBX.Igetr(Gear)/(2*VEH.rdyn*Math.PI/1000)
+		Return V * 60.0 * GBX.Igetr(0) * GBX.Igetr(Gear) / (2 * VEH.rdyn * Math.PI / 1000)
 	End Function
 
 #End Region
@@ -2348,7 +2349,7 @@ Public Class cPower
 
 	'----------------Rolling-resistance----------------
 	Private Function fPr(ByVal v As Single, ByVal Grad As Single) As Single
-		Return CSng(Math.Cos(Math.Atan(Grad*0.01))*(VEH.Loading + VEH.Mass + VEH.MassExtra)*9.81*VEH.Fr0*v*0.001)
+		Return CSng(Math.Cos(Math.Atan(Grad * 0.01)) * (VEH.Loading + VEH.Mass + VEH.MassExtra) * 9.81 * VEH.Fr0 * v * 0.001)
 	End Function
 
 	'----------------Drag-resistance----------------
@@ -2372,30 +2373,30 @@ Public Class cPower
 
 		End Select
 
-		Return CSng((Cd*VEH.CrossSecArea*Cfg.AirDensity/2*((vair)^2))*v*0.001)
+		Return CSng((Cd * VEH.CrossSecArea * Cfg.AirDensity / 2 * ((vair) ^ 2)) * v * 0.001)
 	End Function
 
 	'--------Vehicle Acceleration-capability(Beschleunigungsleistung) --------
 	Private Function fPaFZ(ByVal v As Single, ByVal a As Single) As Single
-		Return CSng(((VEH.Mass + VEH.MassExtra + VEH.m_red + VEH.Loading)*a*v)*0.001)
+		Return CSng(((VEH.Mass + VEH.MassExtra + VEH.m_red + VEH.Loading) * a * v) * 0.001)
 	End Function
 
 	Private Function fPaMotSimple(ByVal t As Integer, ByVal Gear As Integer, ByVal v As Single, ByVal a As Single) _
 		As Single
-		Return ((ENG.I_mot*(GBX.Igetr(0)*GBX.Igetr(Gear)/(VEH.rdyn/1000))^2)*a*v)*0.001
+		Return ((ENG.I_mot * (GBX.Igetr(0) * GBX.Igetr(Gear) / (VEH.rdyn / 1000)) ^ 2) * a * v) * 0.001
 	End Function
 
 	Public Function fPaMot(ByVal nU As Single, ByVal nUBefore As Single) As Single
 		If GBX.TCon Then
-			Return ((ENG.I_mot + GBX.TCinertia)*(nU - nUBefore)*0.01096*((nU + nUBefore)/2))*0.001
+			Return ((ENG.I_mot + GBX.TCinertia) * (nU - nUBefore) * 0.01096 * ((nU + nUBefore) / 2)) * 0.001
 		Else
-			Return (ENG.I_mot*(nU - nUBefore)*0.01096*((nU + nUBefore)/2))*0.001
+			Return (ENG.I_mot * (nU - nUBefore) * 0.01096 * ((nU + nUBefore) / 2)) * 0.001
 		End If
 	End Function
 
 	'----------------Slope resistance ----------------
 	Private Function fPs(ByVal v As Single, ByVal Grad As Single) As Single
-		Return CSng(((VEH.Loading + VEH.Mass + VEH.MassExtra)*9.81*Math.Sin(Math.Atan(Grad*0.01))*v)*0.001)
+		Return CSng(((VEH.Loading + VEH.Mass + VEH.MassExtra) * 9.81 * Math.Sin(Math.Atan(Grad * 0.01)) * v) * 0.001)
 	End Function
 
 	'----------------Auxillaries(Nebenaggregate) ----------------
@@ -2413,7 +2414,7 @@ Public Class cPower
 
 		If Gear = 0 Then Return 0
 
-		nU = (60*V)/(2*VEH.rdyn*Math.PI/1000)*GBX.Igetr(0)*GBX.Igetr(Gear)
+		nU = (60 * V) / (2 * VEH.rdyn * Math.PI / 1000) * GBX.Igetr(0) * GBX.Igetr(Gear)
 
 		'Pdiff
 		Pdiff = fPlossDiff(PvD, V, TrLossApprox)
@@ -2435,7 +2436,7 @@ Public Class cPower
 
 		'***Differential
 		'   Power before Differential
-		Return Math.Max(GBX.IntpolPeLoss(0, (60*V)/(2*VEH.rdyn*Math.PI/1000)*GBX.Igetr(0), PvD, TrLossApprox), 0)
+		Return Math.Max(GBX.IntpolPeLoss(0, (60 * V) / (2 * VEH.rdyn * Math.PI / 1000) * GBX.Igetr(0), PvD, TrLossApprox), 0)
 	End Function
 
 	Private Function fPlossGBfwd(ByVal PeICE As Single, ByVal V As Single, ByVal Gear As Integer,
@@ -2451,7 +2452,7 @@ Public Class cPower
 			Prt = 0
 		End If
 
-		nU = (60*V)/(2*VEH.rdyn*Math.PI/1000)*GBX.Igetr(0)*GBX.Igetr(Gear)
+		nU = (60 * V) / (2 * VEH.rdyn * Math.PI / 1000) * GBX.Igetr(0) * GBX.Igetr(Gear)
 
 		Return Math.Max(GBX.IntpolPeLossFwd(Gear, nU, PeICE + Prt, TrLossApprox), 0)
 	End Function
@@ -2459,7 +2460,7 @@ Public Class cPower
 	Private Function fPlossDiffFwd(ByVal PeIn As Single, ByVal V As Single, ByVal TrLossApprox As Boolean) As Single
 		Dim nU As Single
 
-		nU = (60*V)/(2*VEH.rdyn*Math.PI/1000)*GBX.Igetr(0)
+		nU = (60 * V) / (2 * VEH.rdyn * Math.PI / 1000) * GBX.Igetr(0)
 
 		Return Math.Max(GBX.IntpolPeLossFwd(0, nU, PeIn, TrLossApprox), 0)
 	End Function
@@ -2471,8 +2472,8 @@ Public Class cPower
 	'----------------Gearbox inertia ----------------
 	Private Function fPaG(ByVal V As Single, ByVal a As Single) As Single
 		Dim Mred As Single
-		Mred = GBX.GbxInertia*(GBX.Igetr(0)/(VEH.rdyn/1000))^2
-		Return (Mred*a*V)*0.001
+		Mred = GBX.GbxInertia * (GBX.Igetr(0) / (VEH.rdyn / 1000)) ^ 2
+		Return (Mred * a * V) * 0.001
 	End Function
 
 #End Region
diff --git a/VECTO/VECTO_Global.vb b/VECTO/VECTO_Global.vb
index 2b5661019fcd25d658e7f9e492f45189d1121c4b..47704f2f405a51fb1edeb3e97a1422450147eeba 100644
--- a/VECTO/VECTO_Global.vb
+++ b/VECTO/VECTO_Global.vb
@@ -11,7 +11,7 @@
 Imports System.Collections.Generic
 
 Module VECTO_Global
-	Public Const VECTOvers As String = "2.0.5"
+	Public Const VECTOvers As String = "2.1"
 	Public Const LicSigAppCode As String = "VECTO-Release-0093C61E0A2E4BFA9A7ED7E729C56AE4"
 	Public MyAppPath As String
 	Public MyConfPath As String