diff --git a/CHANGES.md b/CHANGES.md
index 0482f26dd452f3a7c9ab73dbd88f8b9edd07d1e2..7a24374e865ff5b5ac376f3f91b9dcfca591cebb 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -2,14 +2,26 @@
 ### VECTO x.x (current source)
 
 TODO
-- Traction interruption: No engine rev down - hold rpm until new gear engaged (Allison)
-
+* Traction interruption: No engine rev down - hold rpm until new gear engaged (Allison)
+
+### VECTO 2.1.4
+* Bugfixes in start gear and (A)MT shift model
+* Updated Coach .vcdv file for higher speeds to avoid extrapolation
+* Renamed output "FC" to "FC-Map" for better clarification
+* Same header for g/h and g/km output
+* Reduced minimum turbine speed for 1C-to-2C AT up-shift condition from 900 to 700rpm.
+* Updated cross wind correction parameters to current White Book values
+
+### VECTO 2.1.3
+* PwheelPos output in VSUM file.
+* Implemented new Cd*A(v) method
+* Bugfix in TC model
+* Bugfix: Unit error in Cd(v) methods caused incorrect Delta-Cd value being used
 
 ### VECTO 2.1.2
 * Improved TC iteration for higher precision
 * Extended possible TC speed ratio 
 
-
 ### VECTO 2.1.1
 * Bugfix: Incorrect torque calculation in AT/TC model caused early up-shifts
 * Updated C-to-C shift strategy with acc_min rule (see V2.1)
diff --git a/Declaration/SegmentTable.csv b/Declaration/SegmentTable.csv
index 940e70e4f8dfa186ee3fe2568909804e9107ebd5..b7cdfef9777066c13528aeec4b0ea51147716a1a 100644
--- a/Declaration/SegmentTable.csv
+++ b/Declaration/SegmentTable.csv
@@ -1,26 +1,26 @@
-Valid,tVehCat,tAxleConf,GVW_Min,GVW_Max,HDV_Class,VACC,VCDV - Long Haul,VCDV - Other,Rigid/Truck Axles - Long haul,Rigid/Truck Axles - Other,Trailer Axles - Long haul,Trailer Axles - Other,LongHaul,RegionalDelivery,UrbanDelivery,MunicipalUtility,Construction,HeavyUrban,Urban,Suburban,Interurban,Coach,MassExtra - LongHaul,MassExtra - RegionalDelivery,MassExtra - UrbanDelivery,MassExtra - MunicipalUtility,MassExtra - Construction,MassExtra - HeavyUrban,MassExtra - Urban,MassExtra - Suburban,MassExtra - Interurban,MassExtra - Coach,RefLoad - LongHaul,RefLoad - RegionalDelivery,RefLoad - UrbanDelivery,RefLoad - MunicipalUtility,RefLoad - Construction,RefLoad - HeavyUrban,RefLoad - Urban,RefLoad - Suburban,RefLoad - Interurban,RefLoad - Coach,WHTCWF - LongHaul,WHTCWF - RegionalDelivery,WHTCWF - UrbanDelivery,WHTCWF - MunicipalUtility,WHTCWF - Construction,WHTCWF - HeavyUrban,WHTCWF - Urban,WHTCWF - Suburban,WHTCWF - Interurban,WHTCWF - Coach
-0,RigidTruck,4x2,0,7.5,0,Truck.vacc,-,RigidSolo,???,???,0/0,0/0,0,1,1,0,0,0,0,0,0,0,-,???,???,-,-,-,-,-,-,-,-,???,???,-,-,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
-1,RigidTruck,4x2,7.5,10,1,Truck.vacc,-,RigidSolo,-,45/55,0/0,0/0,0,1,1,0,0,0,0,0,0,0,-,1600,1600,-,-,-,-,-,-,-,-,f,f,-,-,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
-1,RigidTruck,4x2,10,12,2,Truck.vacc,RigidSolo,RigidSolo,40/60,45/55,0/0,0/0,1,1,1,0,0,0,0,0,0,0,1900,1900,1900,-,-,-,-,-,-,-,f,f,f,-,-,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
-1,RigidTruck,4x2,12,16,3,Truck.vacc,-,RigidSolo,-,40/60,0/0,0/0,0,1,1,0,0,0,0,0,0,0,-,2000,2000,-,-,-,-,-,-,-,-,f,f,-,-,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
-1,RigidTruck,4x2,16,99,4,Truck.vacc,RigidTrailer,RigidSolo,20/30,45/55,50/2,0/0,1,1,0,1,0,0,0,0,0,0,7500,2100,-,2100,-,-,-,-,-,-,14000,4400,-,4400,-,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
-1,Tractor,4x2,16,99,5,Truck.vacc,TractorSemitrailer,TractorSemitrailer,20/25,25/25,55/3,50/3,1,1,0,0,0,0,0,0,0,0,7500,7500,-,-,-,-,-,-,-,-,19300,12900,-,-,-,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
-0,RigidTruck,4x4,7.5,16,6,Truck.vacc,-,RigidSolo,???,???,0/0,0/0,0,0,0,1,1,0,0,0,0,0,-,-,-,???,???,-,-,-,-,-,-,-,-,???,???,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
-0,RigidTruck,4x4,16,99,7,Truck.vacc,-,RigidSolo,???,???,0/0,0/0,0,0,0,0,1,0,0,0,0,0,-,-,-,-,B5,-,-,-,-,-,-,-,-,-,4300,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
-0,Tractor,4x4,16,99,8,Truck.vacc,-,TractorSemitrailer,???,???,0/0,0/0,0,0,0,0,1,0,0,0,0,0,-,-,-,-,???,-,-,-,-,-,-,-,-,-,???,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
-1,RigidTruck,6x2,0,99,9,Truck.vacc,RigidTrailer,RigidSolo,20/30/15,35/40/25,35/2,0/0,1,1,0,1,0,0,0,0,0,0,7600,2200,-,2200,-,-,-,-,-,-,17900,7100,-,7100,-,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
-1,Tractor,6x2,0,99,10,Truck.vacc,TractorSemitrailer,TractorSemitrailer,15/10/20,20/10/20,55/2,50/2,1,1,0,0,0,0,0,0,0,0,7500,7500,-,-,-,-,-,-,-,-,19000,12700,-,-,-,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
-0,RigidTruck,6x4,0,99,11,Truck.vacc,-,RigidSolo,???,???,0/0,0/0,0,0,0,0,1,0,0,0,0,0,-,-,-,-,B7,-,-,-,-,-,-,-,-,-,7600,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
-0,Tractor,6x4,0,99,12,Truck.vacc,-,TractorSemitrailer,???,???,0/0,0/0,0,0,0,0,1,0,0,0,0,0,-,-,-,-,ST2,-,-,-,-,-,-,-,-,-,12100,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
-0,RigidTruck,6x6,0,99,13,Truck.vacc,-,RigidSolo,???,???,0/0,0/0,0,0,0,0,1,0,0,0,0,0,-,-,-,-,0,-,-,-,-,-,-,-,-,-,???,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
-0,Tractor,6x6,0,99,14,Truck.vacc,-,TractorSemitrailer,???,???,0/0,0/0,0,0,0,0,1,0,0,0,0,0,-,-,-,-,0,-,-,-,-,-,-,-,-,-,???,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
-0,RigidTruck,8x2,0,99,15,Truck.vacc,-,RigidSolo,???,???,0/0,0/0,0,1,0,0,0,0,0,0,0,0,-,???,-,-,-,-,-,-,-,-,-,???,-,-,-,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
-0,RigidTruck,8x4,0,99,16,Truck.vacc,-,RigidSolo,???,???,0/0,0/0,0,0,0,0,1,0,0,0,0,0,-,-,-,-,B9,-,-,-,-,-,-,-,-,-,11600,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
-0,RigidTruck,8x6,0,99,17,Truck.vacc,-,RigidSolo,???,???,0/0,0/0,0,0,0,0,1,0,0,0,0,0,-,-,-,-,???,-,-,-,-,-,-,-,-,-,???,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
-0,RigidTruck,8x8,0,99,17,Truck.vacc,-,-,???,???,0/0,0/0,0,0,0,0,1,0,0,0,0,0,-,-,-,-,???,-,-,-,-,-,-,-,-,-,???,-,-,-,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
-0,CityBus,4x2,0,18,B1,N/A,-,CoachBus,???,???,0/0,0/0,0,0,0,0,0,1,1,1,0,0,-,-,-,-,-,???,???,???,-,-,-,-,-,-,-,???,???,???,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
-0,InterurbanBus,4x2,0,18,B2,N/A,-,CoachBus,???,???,0/0,0/0,0,0,0,0,0,0,0,0,1,0,-,-,-,-,-,-,-,-,???,-,-,-,-,-,-,-,-,-,???,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
-0,Coach,4x2,0,18,B3,N/A,-,CoachBus,???,???,0/0,0/0,0,0,0,0,0,0,0,0,0,1,-,-,-,-,-,-,-,-,-,???,-,-,-,-,-,-,-,-,-,???,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
-0,CityBus,6x2,18,99,B4,N/A,-,CoachBus,???,???,0/0,0/0,0,0,0,0,0,1,1,1,0,0,-,-,-,-,-,???,???,???,-,-,-,-,-,-,-,???,???,???,-,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
-0,InterurbanBus,6x2,18,99,B5,N/A,-,CoachBus,???,???,0/0,0/0,0,0,0,0,0,0,0,0,1,0,-,-,-,-,-,-,-,-,???,-,-,-,-,-,-,-,-,-,???,-,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
-0,Coach,6x2,18,99,B6,N/A,-,CoachBus,???,???,0/0,0/0,0,0,0,0,0,0,0,0,0,1,-,-,-,-,-,-,-,-,-,???,-,-,-,-,-,-,-,-,-,???,11/0/89,17/30/53,69/27/4,98/0/2,62/32/6,100/0/0,100/0/0,100/0/0,45/36/19,0/22/78
+Valid,Vehicle Category ,Axle Conf.,GVW_Min,GVW_Max,HDV class,.vacc file ,Cross Wind Correction - Long haul,Cross Wind Correction - Other,Truck Axles - Long haul,Truck Axles - Other,Trailer Axles - Long haul,Trailer Axles - Other,Long haul,Regional delivery,Urban delivery,Municipal utility,Construction,Heavy Urban,Urban,Suburban,Interurban,Coach,Mass Extra - Long haul,Mass Extra - Regional delivery,Mass Extra - Urban delivery,Mass Extra - Municipal utility,Mass Extra - Construction,Mass Extra - Heavy Urban,Mass Extra - Urban,Mass Extra - Suburban,Mass Extra - Interurban,Mass Extra - Coach,Payload - Long haul,Payload - Regional delivery,Payload - Urban delivery,Payload - Municipal utility,Payload - Construction,Payload - Heavy Urban,Payload - Urban,Payload - Suburban,Payload - Interurban,Payload - Coach
+0,RigidTruck,4x2,0,7.5,0,Truck.vacc,-,RigidSolo,-,-,-,-,0,1,1,0,0,0,0,0,0,0,-,???,???,-,-,-,-,-,-,-,-,???,???,-,-,-,-,-,-,-
+1,RigidTruck,4x2,7.5,10,1,Truck.vacc,-,RigidSolo,-,45/55,-,-,0,1,1,0,0,0,0,0,0,0,-,1600,1600,-,-,-,-,-,-,-,-,f,f,-,-,-,-,-,-,-
+1,RigidTruck,4x2,10,12,2,Truck.vacc,RigidSolo,RigidSolo,40/60,45/55,-,-,1,1,1,0,0,0,0,0,0,0,1900,1900,1900,-,-,-,-,-,-,-,f,f,f,-,-,-,-,-,-,-
+1,RigidTruck,4x2,12,16,3,Truck.vacc,-,RigidSolo,-,40/60,-,-,0,1,1,0,0,0,0,0,0,0,-,2000,2000,-,-,-,-,-,-,-,-,f,f,-,-,-,-,-,-,-
+1,RigidTruck,4x2,16,99,4,Truck.vacc,RigidTrailer,RigidSolo,20/30,45/55,50/2,-,1,1,0,1,0,0,0,0,0,0,7500,2100,-,2100,-,-,-,-,-,-,14000,4400,-,4400,-,-,-,-,-,-
+1,Tractor,4x2,16,99,5,Truck.vacc,TractorSemitrailer,TractorSemitrailer,20/25,25/25,55/3,50/3,1,1,0,0,0,0,0,0,0,0,7500,7500,-,-,-,-,-,-,-,-,19300,12900,-,-,-,-,-,-,-,-
+0,RigidTruck,4x4,7.5,16,6,Truck.vacc,-,RigidSolo,-,-,-,-,0,0,0,1,1,0,0,0,0,0,-,-,-,???,???,-,-,-,-,-,-,-,-,???,???,-,-,-,-,-
+0,RigidTruck,4x4,16,99,7,Truck.vacc,-,RigidSolo,-,-,-,-,0,0,0,0,1,0,0,0,0,0,-,-,-,-,???,-,-,-,-,-,-,-,-,-,???,-,-,-,-,-
+0,Tractor,4x4,16,99,8,Truck.vacc,-,TractorSemitrailer,-,-,-,-,0,0,0,0,1,0,0,0,0,0,-,-,-,-,???,-,-,-,-,-,-,-,-,-,???,-,-,-,-,-
+1,RigidTruck,6x2,0,99,9,Truck.vacc,RigidTrailer,RigidSolo,20/30/15,35/40/25,35/2,-,1,1,0,1,0,0,0,0,0,0,7600,2200,-,2200,-,-,-,-,-,-,19300,7100,-,7100,-,-,-,-,-,-
+1,Tractor,6x2,0,99,10,Truck.vacc,TractorSemitrailer,TractorSemitrailer,15/10/20,20/10/20,55/2,50/2,1,1,0,0,0,0,0,0,0,0,7500,7500,-,-,-,-,-,-,-,-,19300,12900,-,-,-,-,-,-,-,-
+0,RigidTruck,6x4,0,99,11,Truck.vacc,-,RigidSolo,-,35/35/30,-,-,0,0,0,0,1,0,0,0,0,0,-,-,-,-,???,-,-,-,-,-,-,-,-,-,7100,-,-,-,-,-
+0,Tractor,6x4,0,99,12,Truck.vacc,-,TractorSemitrailer,-,20/15/15,-,50/2,0,0,0,0,1,0,0,0,0,0,-,-,-,-,???,-,-,-,-,-,-,-,-,-,12900,-,-,-,-,-
+0,RigidTruck,6x6,0,99,13,Truck.vacc,-,RigidSolo,-,-,-,-,0,0,0,0,1,0,0,0,0,0,-,-,-,-,???,-,-,-,-,-,-,-,-,-,???,-,-,-,-,-
+0,Tractor,6x6,0,99,14,Truck.vacc,-,TractorSemitrailer,-,-,-,-,0,0,0,0,1,0,0,0,0,0,-,-,-,-,???,-,-,-,-,-,-,-,-,-,???,-,-,-,-,-
+0,RigidTruck,8x2,0,99,15,Truck.vacc,-,RigidSolo,-,-,-,-,0,1,0,0,0,0,0,0,0,0,-,???,-,-,-,-,-,-,-,-,-,???,-,-,-,-,-,-,-,-
+0,RigidTruck,8x4,0,99,16,Truck.vacc,-,RigidSolo,-,-,-,-,0,0,0,0,1,0,0,0,0,0,-,-,-,-,???,-,-,-,-,-,-,-,-,-,12900,-,-,-,-,-
+0,RigidTruck,8x6,0,99,17,Truck.vacc,-,RigidSolo,-,-,-,-,0,0,0,0,1,0,0,0,0,0,-,-,-,-,???,-,-,-,-,-,-,-,-,-,???,-,-,-,-,-
+0,RigidTruck,8x8,0,99,17,Truck.vacc,-,RigidSolo,-,-,-,-,0,0,0,0,1,0,0,0,0,0,-,-,-,-,???,-,-,-,-,-,-,-,-,-,???,-,-,-,-,-
+0,CityBus,4x2,0,18,B1,N/A,-,CoachBus,-,-,-,-,0,0,0,0,0,1,1,1,0,0,-,-,-,-,-,???,???,???,-,-,-,-,-,-,-,???,???,???,-,-
+0,InterurbanBus,4x2,0,18,B2,N/A,-,CoachBus,-,-,-,-,0,0,0,0,0,0,0,0,1,0,-,-,-,-,-,-,-,-,???,-,-,-,-,-,-,-,-,-,???,-
+0,Coach,4x2,0,18,B3,N/A,-,CoachBus,-,-,-,-,0,0,0,0,0,0,0,0,0,1,-,-,-,-,-,-,-,-,-,???,-,-,-,-,-,-,-,-,-,???
+0,CityBus,6x2,18,99,B4,N/A,-,CoachBus,-,-,-,-,0,0,0,0,0,1,1,1,0,0,-,-,-,-,-,???,???,???,-,-,-,-,-,-,-,???,???,???,-,-
+0,InterurbanBus,6x2,18,99,B5,N/A,-,CoachBus,-,-,-,-,0,0,0,0,0,0,0,0,1,0,-,-,-,-,-,-,-,-,???,-,-,-,-,-,-,-,-,-,???,-
+0,Coach,6x2,18,99,B6,N/A,-,CoachBus,-,-,-,-,0,0,0,0,0,0,0,0,0,1,-,-,-,-,-,-,-,-,-,???,-,-,-,-,-,-,-,-,-,???
diff --git a/Declaration/VCDV/CoachBus.vcdv b/Declaration/VCDV/CoachBus.vcdv
deleted file mode 100644
index 39a23feda955735a6a80ec920e23e4a083236708..0000000000000000000000000000000000000000
--- a/Declaration/VCDV/CoachBus.vcdv
+++ /dev/null
@@ -1,27 +0,0 @@
-# Crosswind influence on CdxA as a function of vehicle speed
-# Vehicle category: coach bus
-# Absolute yaw angle influence from ACEA Whitebook April 2014
-# Average crosswind: 3 m/s
-# Baseline CdxA assumed with: 4.68 [m²]
-v_veh [km/h],cdx_rel [-]
-0,1.16368917057624
-5,1.16368917057624
-10,1.16368917057624
-15,1.16368917057624
-20,1.16368917057624
-25,1.16368917057624
-30,1.16368917057624
-35,1.16368917057624
-40,1.16368917057624
-45,1.16368917057624
-50,1.16368917057624
-55,1.16368917057624
-60,1.16368917057624
-65,1.14636945173252
-70,1.13130108969249
-75,1.11820564231065
-80,1.10682947645795
-85,1.09694460329622
-90,1.08828107916225
-95,1.08068278133074
-100,1.07400028829548
diff --git a/Declaration/VCDV/RigidSolo.vcdv b/Declaration/VCDV/RigidSolo.vcdv
deleted file mode 100644
index 934c3e582527884496e7e091a521ab55ba2e10bf..0000000000000000000000000000000000000000
--- a/Declaration/VCDV/RigidSolo.vcdv
+++ /dev/null
@@ -1,27 +0,0 @@
-# Crosswind influence on CdxA as a function of vehicle speed
-# Vehicle category: rigid solo
-# Absolute yaw angle influence from ACEA Whitebook April 2014
-# Average crosswind: 3 m/s
-# Baseline CdxA assumed with: 5.3 [m²]
-v_veh [km/h],cdx_rel (v_veh) [-]
-0,1.16995889058525
-5,1.16995889058525
-10,1.16995889058525
-15,1.16995889058525
-20,1.16995889058525
-25,1.16995889058525
-30,1.16995889058525
-35,1.16995889058525
-40,1.16995889058525
-45,1.16995889058525
-50,1.16995889058525
-55,1.16995889058525
-60,1.16995889058525
-65,1.14969968431834
-70,1.13284015316129
-75,1.11867388752005
-80,1.10667545890928
-85,1.09644348982345
-90,1.08762853580613
-95,1.07999428002092
-100,1.07334468074717
diff --git a/Declaration/VCDV/RigidTrailer.vcdv b/Declaration/VCDV/RigidTrailer.vcdv
deleted file mode 100644
index 205473b64f696c4117669451ea1cbd9321a4a0c2..0000000000000000000000000000000000000000
--- a/Declaration/VCDV/RigidTrailer.vcdv
+++ /dev/null
@@ -1,27 +0,0 @@
-# Crosswind influence on CdxA as a function of vehicle speed
-# Vehicle category: rigid trailer
-# Absolute yaw angle influence from ACEA Whitebook April 2014
-# Average crosswind: 3 m/s
-# Baseline CdxA assumed with: 6.33 [m²]
-v_veh [km/h],cdx_rel (v_veh) [-]
-0,1.35547110023335
-5,1.35547110023335
-10,1.35547110023335
-15,1.35547110023335
-20,1.35547110023335
-25,1.35547110023335
-30,1.35547110023335
-35,1.35547110023335
-40,1.35547110023335
-45,1.35547110023335
-50,1.35547110023335
-55,1.35547110023335
-60,1.35547110023335
-65,1.32382413546552
-70,1.29486615012693
-75,1.26877023747113
-80,1.24548620694966
-85,1.22484426801493
-90,1.20642747216762
-95,1.19005025706557
-100,1.17548319913321
diff --git a/Declaration/VCDV/TractorSemitrailer.vcdv b/Declaration/VCDV/TractorSemitrailer.vcdv
deleted file mode 100644
index 50cfff436b7dfae4677e65b86ed30f12e59f9136..0000000000000000000000000000000000000000
--- a/Declaration/VCDV/TractorSemitrailer.vcdv
+++ /dev/null
@@ -1,27 +0,0 @@
-# Crosswind influence on CdxA as a function of vehicle speed
-# Vehicle category: tractor semitrailer
-# Absolute yaw angle influence from ACEA Whitebook April 2014
-# Average crosswind: 3 m/s
-# Baseline CdxA assumed with: 5.7 [m²]
-v_veh [km/h],cdx_rel [-]
-0,1.27614894491372
-5,1.27614894491372
-10,1.27614894491372
-15,1.27614894491372
-20,1.27614894491372
-25,1.27614894491372
-30,1.27614894491372
-35,1.27614894491372
-40,1.27614894491372
-45,1.27614894491372
-50,1.27614894491372
-55,1.27614894491372
-60,1.27614894491372
-65,1.24890735180796
-70,1.22499288657568
-75,1.20405384590645
-80,1.18574578066132
-85,1.1697448123524
-90,1.15564641074318
-95,1.14321982822533
-100,1.13223910374519
diff --git a/Declaration/VCDV/paramerters.csv b/Declaration/VCDV/paramerters.csv
index 99ddf04bd38b643d3543e79ab95ff8d8e82c9daa..7a6e9b270ebc04b4494ded8c808d2c6369cb4fca 100644
--- a/Declaration/VCDV/paramerters.csv
+++ b/Declaration/VCDV/paramerters.csv
@@ -1,5 +1,6 @@
 Parameters,a1,a2,a3
 RigidSolo,0.013526,0.017746,-0.000666
 RigidTrailer,0.017125,0.072275,-0.004148
-TractorSemitrailer,0.030042,0.040817,-0.00213
+TractorSemitrailer,0.034767,0.039367,-0.001897
 CoachBus,-0.000794,0.02109,-0.00109
+
diff --git a/Declaration/WHTC-Weighting-Factors.csv b/Declaration/WHTC-Weighting-Factors.csv
new file mode 100644
index 0000000000000000000000000000000000000000..4d00f736a8fa3eae465182a1618051e782bc0ab9
--- /dev/null
+++ b/Declaration/WHTC-Weighting-Factors.csv
@@ -0,0 +1,4 @@
+Part,Long haul,Regional delivery,Urban delivery,Municipal utility,Construction,Heavy Urban,Urban,Suburban,Interurban,Coach
+Urban,11,17,69,98,62,100,100,100,45,0
+Rural,0,30,27,0,32,0,0,0,36,22
+Motorway,89,53,4,2,6,0,0,0,19,78
diff --git a/Declaration/Wheels.csv b/Declaration/Wheels.csv
index 3c01c43e64217d44b4aac1c60bed2d1e8be03cb6..f49a335209e44ff9951ed5e98a2785bd226be895 100644
--- a/Declaration/Wheels.csv
+++ b/Declaration/Wheels.csv
@@ -1,41 +1,41 @@
-Wheel,Inertia,d,Size-Class(0/1)
-9 R 22.5,8.9,970,0
-9.00 R 20,10.5,1018,0
-9.5 R 17.5,4.9,842,0
-10 R 17.5,5,858,0
-10 R 22.5,11,1020,0
-10.00 R 20,13.1,1025,0
-11 R 22.5,14.4,1050,0
-11.00 R 20,14.6,1082,0
-12 R 22.5,16.8,1084,0
-12.00 R 20,19.5,1122,0
-12.00 R 24,27.7,1226,0
-12.5 R 20,12.7,1120,0
-13 R 22.5,20,1124,0
-14.00 R 20,30.8,1238,0
-14.5 R 20,14.8,1092,0
-16.00 R 20,47.5,1343,0
-215/75 R 17.5,3.9,767,0
-225/70 R 17.5,4,759.5,0
-225/75 R 17.5,4,782,0
-235/75 R 17.5,4.5,797,0
-245/70 R 17.5,5.2,787.5,0
-245/70 R 19.5,6,838.3,0
-255/70 R 22.5,9.5,928.5,0
-265/70 R 19.5,6.5,866.3,0
-275/70 R 22.5,11.9,956.5,0
-275/80 R 22.5,12.8,1011.5,0
-285/70 R 19.5,7.9,894.3,0
-295/55 R 22.5,10.2,896,1
-295/60 R 22.5,10.8,925.5,1
-295/80 R 22.5,15.5,1043.5,0
-305/70 R 19.5,9.2,922.3,0
-305/70 R 22.5,13.9,998.5,0
-315/45 R22.5,9.9,347,1
-315/60 R 22.5,12.8,949.5,1
-315/70 R 22.5,14.9,1012.5,0
-315/80 R 22.5,17.6,1075.5,0
-365/80 R 20,17.2,1092,0
-365/85 R 20,22.5,1128.5,0
-385/55 R 22.5,15.9,995,1
-385/65 R 22.5,19.2,1072,1
+Wheel,Inertia,d,Size-Class (0/1)
+9 R22.5,8.9,970,b
+9.00 R20,10.5,1018,b
+9.5 R17.5,4.9,842,b
+10 R17.5,5,858,b
+10 R22.5,11,1020,b
+10.00 R20,13.1,1025,b
+11 R22.5,14.4,1050,b
+11.00 R20,14.6,1082,b
+12 R22.5,16.8,1084,b
+12.00 R20,19.5,1122,b
+12.00 R24,27.7,1226,b
+12.5 R20,12.7,1120,b
+13 R22.5,20,1124,b
+14.00 R20,30.8,1238,b
+14.5 R20,14.8,1092,b
+16.00 R20,47.5,1343,b
+215/75 R17.5,3.9,767,b
+225/70 R17.5,4,759.5,b
+225/75 R17.5,4,782,b
+235/75 R17.5,4.5,797,b
+245/70 R17.5,5.2,787.5,b
+245/70 R19.5,6,838.3,b
+255/70 R22.5,9.5,928.5,b
+265/70 R19.5,6.5,866.3,b
+275/70 R22.5,11.9,956.5,b
+275/80 R22.5,12.8,1011.5,b
+285/70 R19.5,7.9,894.3,b
+295/55 R22.5,10.2,896,a
+295/60 R22.5,10.8,925.5,a
+295/80 R22.5,15.5,1043.5,b
+305/70 R19.5,9.2,922.3,b
+305/70 R22.5,13.9,998.5,b
+315/45 R22.5,9.9,855,a
+315/60 R22.5,12.8,949.5,a
+315/70 R22.5,14.9,1012.5,b
+315/80 R22.5,17.6,1075.5,b
+365/80 R20,17.2,1092,b
+365/85 R20,22.5,1128.5,b
+385/55 R22.5,15.9,995,a
+385/65 R22.5,19.2,1072,a
diff --git a/Generic Vehicles/Engineering Mode/24t Coach/24t Coach.vcdv b/Generic Vehicles/Engineering Mode/24t Coach/24t Coach.vcdv
index f739a3d532b2559d1b48b95ad04369d2c91630df..ec81cff161820618abe871c3174c7ff12c3d970e 100644
--- a/Generic Vehicles/Engineering Mode/24t Coach/24t Coach.vcdv	
+++ b/Generic Vehicles/Engineering Mode/24t Coach/24t Coach.vcdv	
@@ -20,3 +20,5 @@
 90,1.06160070824245
 95,1.05601203497592
 100,1.05120696831716
+105,1.0477
+110,1.045
diff --git a/User Manual/GUI/VEH-Editor.html b/User Manual/GUI/VEH-Editor.html
index bebadf2561c4c8b6005974a048deb50f1edb8691..340f1e77f924dcb8bf646a2d3bc6803701983a41 100644
--- a/User Manual/GUI/VEH-Editor.html	
+++ b/User Manual/GUI/VEH-Editor.html	
@@ -98,17 +98,17 @@ Wind Correction</span></a>.<br>
 
 
 <hr style="height: 1px; width: 100%;">For each axle the parameters <span style="font-weight: bold;">Relative axle load</span>, <span style="font-weight: bold;">RRC</span><sub style="font-weight: bold;">ISO</sub> and <span style="font-weight: bold;">F</span><sub style="font-weight: bold;">zISO</sub> have to be defined in order to calculate the total <a href="../general/RRC.html">Rolling Resistance Coefficient</a>.<br>
-Furthermore the <span style="font-weight: bold;">Wheels Inertia [kgm²]</span> has to be set <span style="text-decoration: underline;">per wheel</span> for each axle. In <a href="../general/calc_Declaration.html">Declaration Mode</a> the inertia is defined automatically according to the selected tires.<br>
+Furthermore the <span style="font-weight: bold;">Wheels Inertia [kgm²]</span> has to be set <span style="text-decoration: underline;">per wheel</span> for each axle. In <a href="../general/calc_Declaration.html">Declaration Mode</a> the inertia is defined automatically according to the selected tyres.<br>
 Use the <img style="width: 16px; height: 16px;" alt="add" src="../pics/icons/plus-circle-icon.png"> and <img style="width: 16px; height: 16px;" alt="remove" src="../pics/icons/minus-circle-icon.png"> buttons to add or
 remove axles form the vehicle. Doubleclick entries to edit existing
 axle configurations.<br>
 <br>
-<span style="font-weight: bold;">Dynamic Tire Radius [mm]</span><br>
-<div style="margin-left: 40px;">Effective (dynamic) wheel radius used to calculate engine speed. In <a href="../general/calc_Declaration.html">Declaration Mode</a> the radius calculated automatically using tires/rims of the powered axle.<br>
+<span style="font-weight: bold;">Dynamic Tyre Radius [mm]</span><br>
+<div style="margin-left: 40px;">Effective (dynamic) wheel radius used to calculate engine speed. In <a href="../general/calc_Declaration.html">Declaration Mode</a> the radius calculated automatically using tyres/rims of the powered axle.<br>
 </div>
 <br>
 <span style="font-weight: bold;">Powered axle tyres/rims</span><br>
-<div style="margin-left: 40px;">Needed for <a href="../general/calc_Declaration.html">Declaration Mode</a> to calculate the dynamic tire radius.</div>
+<div style="margin-left: 40px;">Needed for <a href="../general/calc_Declaration.html">Declaration Mode</a> to calculate the dynamic tyre radius.</div>
 <br>
 <br>
 <big><big style="font-weight: bold;">Retarder Losses</big></big><br>
diff --git a/VECTO/Input Files/cVEH.vb b/VECTO/Input Files/cVEH.vb
index 97e05b67933cc54217b3645472610ed8c98d58ea..13bc8a936373560497071228286ccb6879d687ca 100644
--- a/VECTO/Input Files/cVEH.vb	
+++ b/VECTO/Input Files/cVEH.vb	
@@ -13,7 +13,7 @@ Imports System.Collections.Generic
 Public Class cVEH
 
     'V2 MassMax is now saved in [t] instead of [kg]
-    Private Const FormatVersion As Short = 5
+	Private Const FormatVersion As Short = 6
     Private FileVersion As Short
 
     Private sFilePath As String
@@ -76,7 +76,7 @@ Public Class cVEH
         MyFileList = New List(Of String)
 
         '.vcdv  / .vcdb
-        If Me.CdMode <> tCdMode.ConstCd0 Then MyFileList.Add(Me.CdFile.FullPath)
+		If Me.CdMode = tCdMode.CdOfVeng Or Me.CdMode = tCdMode.CdOfBeta Then MyFileList.Add(Me.CdFile.FullPath)
 
         'Retarder
         If Me.RtType <> tRtType.None Then MyFileList.Add(Me.RtFile.FullPath)
@@ -229,7 +229,8 @@ Public Class cVEH
                     a0.Wheels = "-"
                 Else
                     a0.Inertia = CSng(dic("Inertia"))
-                    a0.Wheels = CStr(dic("Wheels"))
+					a0.Wheels = CStr(dic("Wheels"))
+					If FileVersion < 6 Then a0.Wheels = a0.Wheels.Replace("R ", "R")
                 End If
 
                 a0.Share = CSng(dic("AxleWeightShare"))
@@ -382,7 +383,7 @@ Public Class cVEH
 				a0 = New cAxle
 
 				a0.Inertia = 0	 'Defined later
-				a0.Wheels = "385/65 R 22.5"
+				a0.Wheels = cDeclaration.TyreTr
 
 				a0.Share = a / 100
 				a0.TwinTire = False
diff --git a/VECTO/MODcalc/cMOD.vb b/VECTO/MODcalc/cMOD.vb
index 0cd97831c6e825bfa4d9d07717ea901ff0f47f31..7a19b9b8861dc8943ddc09e14f11af72f6dc4857 100644
--- a/VECTO/MODcalc/cMOD.vb
+++ b/VECTO/MODcalc/cMOD.vb
@@ -552,7 +552,7 @@ Public Class cMOD
 
 		End If
 
-		HeaderList.Add(New String() {"FC", "g/h"})
+		HeaderList.Add(New String() {"FC-Map", "g/h"})
 		HeaderList.Add(New String() {"FC-AUXc", "g/h"})
 		HeaderList.Add(New String() {"FC-WHTCc", "g/h"})
 
diff --git a/VECTO/MODcalc/cPower.vb b/VECTO/MODcalc/cPower.vb
index a885e9dd082bb9b492e9ad5462db448316176aa1..aafcc28d469de7193ed7e1b31a12c6a776a04a2c 100644
--- a/VECTO/MODcalc/cPower.vb
+++ b/VECTO/MODcalc/cPower.vb
@@ -1798,6 +1798,7 @@ lb_nOK:
 		Dim nUdown As Single
 		Dim Tq As Single
 		Dim Pe As Single
+		Dim TqX As Single
 		Dim MdMax As Single
 		Dim Pmax As Single
 
@@ -1842,11 +1843,14 @@ lb_nOK:
 		Else
 
 			'Calculate Start Gear 
-			For Gear = GBX.GearCount To 1 Step -1
+			' Loop finishes at Gear = 1 (If "Exit For" is not called)
+			For Gear = GBX.GearCount To 2 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)
 
+				If nU > FLD(Gear).fnUrated Then Continue For
+
 				'full load
 				Pmax = FLD(Gear).Pfull(nU)
 
@@ -1854,15 +1858,17 @@ lb_nOK:
 				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))
+				Pe = fPeGearMod(Gear, t, GBX.gs_StartSpeed, GBX.gs_StartAcc, Grad)
 
 				'torque demand
 				Tq = Pe * 1000 / (nU * 2 * Math.PI / 60)
 
+				'torque (limited to max)
+				TqX = Math.Min(Tq, FLD(Gear).Tmax)
+
 				'Up/Downshift rpms
-				nUup = GBX.Shiftpolygons(Gear).fGSnUup(Tq)
-				nUdown = GBX.Shiftpolygons(Gear).fGSnUdown(Tq)
+				nUup = GBX.Shiftpolygons(Gear).fGSnUup(TqX)
+				nUdown = GBX.Shiftpolygons(Gear).fGSnUdown(TqX)
 
 				If nU > nUdown And nU >= ENG.Nidle And (1 - Tq / MdMax >= GBX.gs_TorqueResvStart / 100 Or Tq < 0) Then Exit For
 
@@ -1982,13 +1988,13 @@ lb_nOK:
 
 					If DEV.TCshiftModeNew Then
 						If _
-						 fnUout(Vact, LastGear + 1) > Math.Min(900, iRatio * (FLD(LastGear).N80h - 150)) AndAlso
+						 fnUout(Vact, LastGear + 1) > Math.Min(700, iRatio * (FLD(LastGear).N80h - 150)) AndAlso
 						 FLD(LastGear + 1).Pfull(nU * iRatio) >= fPeGearMod(LastGear + 1, t, MODdata.Vh.V(t), TCaccmin, Grad) Then
 							Return LastGear + 1
 						End If
 					Else
 						If _
-						fnUout(Vact, LastGear + 1) > Math.Min(900, iRatio * (FLD(LastGear).N80h - 150)) AndAlso
+						fnUout(Vact, LastGear + 1) > Math.Min(700, iRatio * (FLD(LastGear).N80h - 150)) AndAlso
 						FLD(LastGear + 1).Pfull(nU * iRatio) > 0.7 * FLD(LastGear).Pfull(nU) Then
 							Return LastGear + 1
 						End If
@@ -2036,7 +2042,8 @@ lb_nOK:
 		Dim LastPeNorm As Single
 
 		Dim tx As Int16
-		Dim OutOfRpmRange As Boolean
+		Dim RpmTooHigh As Boolean
+		Dim RpmTooLow As Boolean
 
 		'First time step OR first time step after stand still
 		If t = 0 OrElse MODdata.VehState(t - 1) = tVehState.Stopped Then Return fStartGear(t, Grad)
@@ -2058,47 +2065,40 @@ lb_nOK:
 		'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 = fnUout(Vact, LastGear)
 
-		OutOfRpmRange = ((nU - ENG.Nidle) / (ENG.Nrated - ENG.Nidle) >= 1.2 Or nU < ENG.Nidle)
+		RpmTooLow = (nU < ENG.Nidle)
+		RpmTooHigh = ((nU - ENG.Nidle) / (ENG.Nrated - ENG.Nidle) >= 1.2)
 
 		'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
+		If Not (RpmTooHigh Or RpmTooLow) AndAlso t - LastGearChange <= GBX.gs_ShiftTime And t > GBX.gs_ShiftTime - 1 Then Return LastGear
 
 		'During start (clutch slipping) no gear shift
 		If LastClutch = tEngClutch.Slipping And VehState0 = tVehState.Acc Then Return LastGear
 
-		''Search for last Gear-change
-		'itgangw = 0
-		'For i = t - 1 To 1 Step -1
-		'    If MODdata.Gear(i) <> MODdata.Gear(i - 1) Then
-		'        itgangw = i
-		'        Exit For
-		'    End If
-		'Next
+		
+		If Not (RpmTooHigh Or RpmTooLow) Then
 
-		''Maximum permissible Gear-shifts every 3 seconds:
-		'If t - itgangw <= 3 And t > 2 Then
-		'    Return LastGear    '<<< no further checks!!!
-		'End If
+			'Current rpm with previous gear
+			nU = fnU(Vact, LastGear, Clutch = tEngClutch.Slipping)
 
-		'Current rpm with previous gear
-		nU = fnU(Vact, LastGear, Clutch = tEngClutch.Slipping)
+			'Current power demand with previous gear
+			Pe = Math.Min(fPeGearMod(LastGear, t, Grad), FLD(LastGear).Pfull(nU))
+			Pe = Math.Max(Pe, FLD(LastGear).Pdrag(nU))
 
-		'Current power demand with previous gear
-		Pe = Math.Min(fPeGearMod(LastGear, t, Grad), FLD(LastGear).Pfull(nU))
-		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)
 
-		'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)
+			'Up/Downshift rpms
+			nnUp = GBX.Shiftpolygons(LastGear).fGSnUup(Tq)
+			nnDown = GBX.Shiftpolygons(LastGear).fGSnUdown(Tq)
+
+		End If
 
-		'Up/Downshift rpms
-		nnUp = GBX.Shiftpolygons(LastGear).fGSnUup(Tq)
-		nnDown = GBX.Shiftpolygons(LastGear).fGSnUdown(Tq)
 
 		'Compare rpm with Up/Downshift rpms 
-		If nU <= nnDown And LastGear > 1 Then
+		If (RpmTooLow OrElse nU <= nnDown) And LastGear > 1 Then
 
 			'Shift DOWN
 			Gear = LastGear - 1
@@ -2144,7 +2144,7 @@ lb_nOK:
 
 			End If
 
-		ElseIf LastGear < GBX.GearCount And nU > nnUp Then
+		ElseIf (RpmTooHigh OrElse nU > nnUp) And LastGear < GBX.GearCount Then
 
 			'Shift UP
 			Gear = LastGear + 1
@@ -2206,10 +2206,11 @@ lb_nOK:
 			If GBX.gs_ShiftInside And LastGear < GBX.GearCount Then
 
 				'Calculate Shift-rpm for higher gear
-				nU = fnU(Vact, Gear + 1, False)
+				'old: nU = fnU(Vact, Gear + 1, False)
+				nU = fnUout(Vact, Gear + 1)
 
 				'Continue only if rpm (for higher gear) is below rated rpm
-				If nU <= ENG.Nrated Then
+				If nU > ENG.Nidle AndAlso 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)
diff --git a/VECTO/My Project/AssemblyInfo.vb b/VECTO/My Project/AssemblyInfo.vb
index 7b4deb2110c83d14408e09984c09818dcbd39e92..b2512db355386236a41c15cdf0acb190929ed92b 100644
--- a/VECTO/My Project/AssemblyInfo.vb	
+++ b/VECTO/My Project/AssemblyInfo.vb	
@@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
 ' by entering "*" in them:
 ' <Assembly: AssemblyVersion("1.0.*")> 
 
-<Assembly: AssemblyVersion("2.1.2.0")> 
-<Assembly: AssemblyFileVersion("2.1.2.0")> 
+<Assembly: AssemblyVersion("2.1.4.0")> 
+<Assembly: AssemblyFileVersion("2.1.4.0")> 
diff --git a/VECTO/VECTO_Global.vb b/VECTO/VECTO_Global.vb
index 6b269d500c40f335f0498cb99840d5ca80ecadf7..3f6b1ef950c2c868dd479f4859249ea63b682f4e 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.1.2"
+	Public Const VECTOvers As String = "2.1.4"
 	Public Const LicSigAppCode As String = "VECTO-Release-0093C61E0A2E4BFA9A7ED7E729C56AE4"
 	Public MyAppPath As String
 	Public MyConfPath As String
diff --git a/VECTO/cDeclaration.vb b/VECTO/cDeclaration.vb
index 28b561b1acd3fa6ba42a751c4b85e4dc70dde43e..a70d8f378f20f6c6168f3e1df176211781bb7bba 100644
--- a/VECTO/cDeclaration.vb
+++ b/VECTO/cDeclaration.vb
@@ -38,6 +38,7 @@ Public Class cDeclaration
 
 	Public Const RRCTr As Single = 0.00555
 	Public Const FzISOTr As Single = 37500
+	Public Const TyreTr As String = "385/65 R22.5"
 
 	Public Const AirDensity As Single = 1.188
 	Public Const FuelDens As Single = 0.832
@@ -98,7 +99,6 @@ Public Class cDeclaration
 		Dim i As Integer
 		Dim a As Integer
 		Dim s0 As String
-		Dim s As String()
 		Dim TrS As Single
 		Dim TrA As Single
 		Dim stl As String()
@@ -109,8 +109,6 @@ Public Class cDeclaration
 		Dim AxleShares As List(Of String)
 		Dim AxleSharesTr As List(Of String)
 		Dim l0 As List(Of Single)
-		Dim WHTCWF As List(Of String)
-		Dim dWHTCWF As Dictionary(Of tWHTCpart, Single)
 
 		Dim at0 As List(Of String)
 		Dim AuxPower0 As Dictionary(Of tMission, Single)
@@ -230,7 +228,45 @@ Public Class cDeclaration
 
 		file.Close()
 
+		'WHTC-Weighting-Factors.csv
+		If Not file.OpenRead(MyDeclPath & "WHTC-Weighting-Factors.csv") Then
+			GUImsg(tMsgID.Err, "Failed to load Declaration Config (WHTC-Weighting-Factors.csv)!")
+			Return False
+		End If
+
+		'Skip Header
+		file.ReadLine()
+
+		Try
 
+			For i = 0 To 2
+				If file.EndOfFile Then Throw New Exception("Unexpected end of file.")
+				line = file.ReadLine
+
+				a = 0
+				For Each mt0 In Missions.Keys
+					a += 1
+					mc0 = Missions(mt0)
+					Select Case i
+						Case 0
+							mc0.WHTCWF = New Dictionary(Of tWHTCpart, Single)
+							mc0.WHTCWF.Add(tWHTCpart.Urban, line(a) / 100)
+						Case 1
+							mc0.WHTCWF.Add(tWHTCpart.Rural, line(a) / 100)
+						Case Else '2
+							mc0.WHTCWF.Add(tWHTCpart.Motorway, line(a) / 100)
+					End Select
+				Next
+			Next
+
+
+		Catch ex As Exception
+			file.Close()
+			GUImsg(tMsgID.Err, "Error in WHTC-Weighting-Factors! " & ex.Message)
+			Return False
+		End Try
+
+		file.Close()
 
 		'Segment Table
 		If Not file.OpenRead(MyDeclPath & "SegmentTable.csv") Then
@@ -252,7 +288,6 @@ Public Class cDeclaration
 					LoadingList = New List(Of String)
 					AxleShares = New List(Of String)
 					AxleSharesTr = New List(Of String)
-					WHTCWF = New List(Of String)
 
 					ste0.VehCat = ConvVehCat(line(1))
 
@@ -294,7 +329,7 @@ Public Class cDeclaration
 						If mt0 <> tMission.LongHaul Then AxleSharesTr.Add(line(12))
 					Next
 
-					ste0.TrailerOnlyInLongHaul = (Trim(line(11)) <> "0/0" And Trim(line(12)) = "0/0" And ste0.VehCat = tVehCat.RigidTruck)
+					ste0.TrailerOnlyInLongHaul = (Trim(line(11)) <> "-" And Trim(line(12)) = "-" And ste0.VehCat = tVehCat.RigidTruck)
 
 					i = 12
 					For Each mt0 In SegmentTable.MissionList
@@ -310,11 +345,6 @@ Public Class cDeclaration
 						LoadingList.Add(line(i))
 					Next
 
-					For Each mt0 In SegmentTable.MissionList
-						i += 1
-						WHTCWF.Add(line(i))
-					Next
-
 					For i = 0 To SegmentTable.MissionList.Count - 1
 						If ste0.UseMission(i) Then
 							ste0.Missions.Add(SegmentTable.MissionList(i))
@@ -329,8 +359,14 @@ Public Class cDeclaration
 
 							l0 = New List(Of Single)
 
-							TrS = AxleSharesTr(i).Split("/")(0)
-							TrA = AxleSharesTr(i).Split("/")(1)
+							If AxleSharesTr(i) = "-" Then
+								TrS = 0
+								TrA = 0
+							Else
+								TrS = AxleSharesTr(i).Split("/")(0)
+								TrA = AxleSharesTr(i).Split("/")(1)
+							End If
+
 
 							For a = 1 To TrA
 								l0.Add(TrS / TrA)
@@ -338,14 +374,6 @@ Public Class cDeclaration
 
 							ste0.AxleSharesTr.Add(SegmentTable.MissionList(i), l0)
 
-							s = WHTCWF(i).Split("/")
-							dWHTCWF = New Dictionary(Of tWHTCpart, Single)
-							dWHTCWF.Add(tWHTCpart.Urban, CSng(s(0)) / 100)
-							dWHTCWF.Add(tWHTCpart.Rural, CSng(s(1)) / 100)
-							dWHTCWF.Add(tWHTCpart.Motorway, CSng(s(2)) / 100)
-
-							ste0.WHTCWF.Add(SegmentTable.MissionList(i), dWHTCWF)
-
 						End If
 					Next
 
@@ -668,7 +696,7 @@ Public Class cDeclaration
 				w0 = New cWheel
 				w0.Inertia = CSng(line(1))
 				w0.Diam = CSng(line(2))
-				w0.SizeA = (CInt(line(3)) = 1)
+				w0.SizeA = (line(3) = "a")
 
 				Wheels.Add(line(0), w0)
 
@@ -869,9 +897,9 @@ Public Class cDeclaration
 
 		CurrentMission = Missions(SegRef.Missions(CycleIndex))
 
-		WHTCcorrFactor = Declaration.SegRef.WHTCWF(Declaration.CurrentMission.MissionID)(tWHTCpart.Urban) * ENG.WHTCurban / Declaration.WHTCresults(tWHTCpart.Urban) _
-			+ Declaration.SegRef.WHTCWF(Declaration.CurrentMission.MissionID)(tWHTCpart.Rural) * ENG.WHTCrural / Declaration.WHTCresults(tWHTCpart.Rural) _
-			+ Declaration.SegRef.WHTCWF(Declaration.CurrentMission.MissionID)(tWHTCpart.Motorway) * ENG.WHTCmw / Declaration.WHTCresults(tWHTCpart.Motorway)
+		WHTCcorrFactor = CurrentMission.WHTCWF(tWHTCpart.Urban) * ENG.WHTCurban / Declaration.WHTCresults(tWHTCpart.Urban) _
+			+ CurrentMission.WHTCWF(tWHTCpart.Rural) * ENG.WHTCrural / Declaration.WHTCresults(tWHTCpart.Rural) _
+			+ CurrentMission.WHTCWF(tWHTCpart.Motorway) * ENG.WHTCmw / Declaration.WHTCresults(tWHTCpart.Motorway)
 
 
 		If Not VEH.DeclInitCycle Then Return False
@@ -1207,6 +1235,7 @@ Public Class cMission
 	Public MissionID As tMission
 	Public NameStr As String
 	Public CyclePath As String
+	Public WHTCWF As New Dictionary(Of tWHTCpart, Single)
 End Class
 
 Public Class cSegmentTable
@@ -1244,7 +1273,6 @@ Public Class cSegmentTableEntry
 	Public Loading As New Dictionary(Of tMission, String)
 	Public AxleShares As New Dictionary(Of tMission, List(Of Single))
 	Public AxleSharesTr As New Dictionary(Of tMission, List(Of Single))
-	Public WHTCWF As New Dictionary(Of tMission, Dictionary(Of tWHTCpart, Single))
 	Public TrailerOnlyInLongHaul As Boolean
 
 	Public Function GetCycles() As List(Of String)
diff --git a/VECTO/cVSUM.vb b/VECTO/cVSUM.vb
index 70f522d149589c8487b104927652c66da0ad66a4..bf00a90827d8ff9417617ef4a23b686d0ccd21cf 100644
--- a/VECTO/cVSUM.vb
+++ b/VECTO/cVSUM.vb
@@ -186,104 +186,111 @@ Class cVSUM
 
 
         'Only Entire-vehicle (not EngOnly)
-        If Not VEC.EngOnly Then
-
-            'Pbrake-norm
-            sum = 0
-            For t = 0 To t1
-                sum += MODdata.Pbrake(t)
-            Next
-            VSUMentries("\\Pbrake").ValueString = (sum / (t1 + 1))
-
-            'Eair
-            sum = 0
-            For t = 0 To t1
-                sum += MODdata.Pair(t)
-            Next
-            VSUMentries("\\Eair").ValueString = (-sum / 3600)
-
-            'Eroll
-            sum = 0
-            For t = 0 To t1
-                sum += MODdata.Proll(t)
-            Next
-            VSUMentries("\\Eroll").ValueString = (-sum / 3600)
-
-            'Egrad
-            sum = 0
-            For t = 0 To t1
-                sum += MODdata.Pstg(t)
-            Next
-            VSUMentries("\\Egrad").ValueString = (-sum / 3600)
-
-            'Eacc
-            sum = 0
-            For t = 0 To t1
-                sum += MODdata.Pa(t) + MODdata.PaGB(t) + MODdata.PaEng(t)
-            Next
-            VSUMentries("\\Eacc").ValueString = (-sum / 3600)
-
-            'Eaux
-            sum = 0
-            For t = 0 To t1
-                sum += MODdata.PauxSum(t)
-            Next
-            VSUMentries("\\Eaux").ValueString = (-sum / 3600)
-
-            'Ebrake
-            sum = 0
-            For t = 0 To t1
-                sum += MODdata.Pbrake(t)
-            Next
-            VSUMentries("\\Ebrake").ValueString = (sum / 3600)
-
-            'Etransm
-            sum = 0
-            For t = 0 To t1
-                sum += MODdata.PlossDiff(t) + MODdata.PlossGB(t)
-            Next
-            VSUMentries("\\Etransm").ValueString = (-sum / 3600)
-
-            'Retarder
-            sum = 0
-            For t = 0 To t1
-                sum += MODdata.PlossRt(t)
-            Next
-            VSUMentries("\\Eretarder").ValueString = (-sum / 3600)
-
-            'TC Losses
-            sum = 0
-            For t = 0 To t1
-                sum += MODdata.PlossTC(t)
-            Next
-            VSUMentries("\\Etorqueconv").ValueString = (-sum / 3600)
-
-
-
-            'Masse, Loading
-            VSUMentries("\\Mass").ValueString = (VEH.Mass + VEH.MassExtra)
-            VSUMentries("\\Loading").ValueString = VEH.Loading
-
-            'CylceKin
-            For Each VSUMentry In MODdata.CylceKin.VSUMentries
-                VSUMentries("\\" & VSUMentry.Head).ValueString = MODdata.CylceKin.GetValueString(VSUMentry.Head)
-            Next
-
-            'EposICE
-            sum = 0
-            For t = 0 To t1
-                sum += Math.Max(0, MODdata.Pe(t))
-            Next
-            VSUMentries("\\EposICE").ValueString = (sum / 3600)
-
-            'EnegICE
-            sum = 0
-            For t = 0 To t1
-                sum += Math.Min(0, MODdata.Pe(t))
-            Next
-            VSUMentries("\\EnegICE").ValueString = (sum / 3600)
-
-        End If
+		If Not VEC.EngOnly Then
+
+			'PwheelPos
+			sum = 0
+			For t = 0 To t1
+				sum += Math.Max(0, MODdata.Psum(t))
+			Next
+			VSUMentries("\\PwheelPos").ValueString = (sum / (t1 + 1))
+
+			'Pbrake-norm
+			sum = 0
+			For t = 0 To t1
+				sum += MODdata.Pbrake(t)
+			Next
+			VSUMentries("\\Pbrake").ValueString = (sum / (t1 + 1))
+
+			'Eair
+			sum = 0
+			For t = 0 To t1
+				sum += MODdata.Pair(t)
+			Next
+			VSUMentries("\\Eair").ValueString = (-sum / 3600)
+
+			'Eroll
+			sum = 0
+			For t = 0 To t1
+				sum += MODdata.Proll(t)
+			Next
+			VSUMentries("\\Eroll").ValueString = (-sum / 3600)
+
+			'Egrad
+			sum = 0
+			For t = 0 To t1
+				sum += MODdata.Pstg(t)
+			Next
+			VSUMentries("\\Egrad").ValueString = (-sum / 3600)
+
+			'Eacc
+			sum = 0
+			For t = 0 To t1
+				sum += MODdata.Pa(t) + MODdata.PaGB(t) + MODdata.PaEng(t)
+			Next
+			VSUMentries("\\Eacc").ValueString = (-sum / 3600)
+
+			'Eaux
+			sum = 0
+			For t = 0 To t1
+				sum += MODdata.PauxSum(t)
+			Next
+			VSUMentries("\\Eaux").ValueString = (-sum / 3600)
+
+			'Ebrake
+			sum = 0
+			For t = 0 To t1
+				sum += MODdata.Pbrake(t)
+			Next
+			VSUMentries("\\Ebrake").ValueString = (sum / 3600)
+
+			'Etransm
+			sum = 0
+			For t = 0 To t1
+				sum += MODdata.PlossDiff(t) + MODdata.PlossGB(t)
+			Next
+			VSUMentries("\\Etransm").ValueString = (-sum / 3600)
+
+			'Retarder
+			sum = 0
+			For t = 0 To t1
+				sum += MODdata.PlossRt(t)
+			Next
+			VSUMentries("\\Eretarder").ValueString = (-sum / 3600)
+
+			'TC Losses
+			sum = 0
+			For t = 0 To t1
+				sum += MODdata.PlossTC(t)
+			Next
+			VSUMentries("\\Etorqueconv").ValueString = (-sum / 3600)
+
+
+
+			'Masse, Loading
+			VSUMentries("\\Mass").ValueString = (VEH.Mass + VEH.MassExtra)
+			VSUMentries("\\Loading").ValueString = VEH.Loading
+
+			'CylceKin
+			For Each VSUMentry In MODdata.CylceKin.VSUMentries
+				VSUMentries("\\" & VSUMentry.Head).ValueString = MODdata.CylceKin.GetValueString(VSUMentry.Head)
+			Next
+
+			'EposICE
+			sum = 0
+			For t = 0 To t1
+				sum += Math.Max(0, MODdata.Pe(t))
+			Next
+			VSUMentries("\\EposICE").ValueString = (sum / 3600)
+
+			'EnegICE
+			sum = 0
+			For t = 0 To t1
+				sum += Math.Min(0, MODdata.Pe(t))
+			Next
+			VSUMentries("\\EnegICE").ValueString = (sum / 3600)
+
+		End If
 
         'Create Output-string:
         First = True
@@ -386,18 +393,18 @@ Class cVSUM
 
                 If VSUMentries(key).Multi Then
 
-                    If dic1.ContainsKey(VSUMentries(key).Head) Then
-                        ls0 = dic1(VSUMentries(key).Head)
-                    Else
-                        ls0 = New List(Of Dictionary(Of String, Object))
-                        dic1.Add(VSUMentries(key).Head, ls0)
-                    End If
+					If dic1.ContainsKey(VSUMentries(key).Head) Then
+						ls0 = dic1(VSUMentries(key).Head)
+					Else
+						ls0 = New List(Of Dictionary(Of String, Object))
+						dic1.Add(VSUMentries(key).Head, ls0)
+					End If
 
                     ls0.Add(dic0)
 
                 Else
 
-                    dic1.Add(VSUMentries(key).Head, dic0)
+					dic1.Add(VSUMentries(key).Head, dic0)
 
                 End If
 
@@ -429,13 +436,13 @@ Class cVSUM
 
     End Function
 
-    Private Sub AddToVSUM(ByVal IDstring As String, ByVal Head As String, ByVal Unit As String, Optional Multi As Boolean = False)
-        If Not VSUMentries.ContainsKey(IDstring) Then
-            VSUMentries.Add(IDstring, New cVSUMentry(Head, Unit))
-            VSUMentryList.Add(IDstring)
-            If Multi Then VSUMentries(IDstring).Multi = True
-        End If
-    End Sub
+	Private Sub AddToVSUM(ByVal IDstring As String, ByVal Head As String, ByVal Unit As String, Optional Multi As Boolean = False)
+		If Not VSUMentries.ContainsKey(IDstring) Then
+			VSUMentries.Add(IDstring, New cVSUMentry(Head, Unit))
+			VSUMentryList.Add(IDstring)
+			If Multi Then VSUMentries(IDstring).Multi = True
+		End If
+	End Sub
 
 
     Public Function Init(ByVal JobFile As String) As Boolean
@@ -621,15 +628,15 @@ Class cVSUM
                 Return False
             End Try
 
-            AddToVSUM("FC_h", "FCh", "[g/h]")
-            AddToVSUM("FC-AUXc_h", "FCh-AUXc", "[g/h]")
-            AddToVSUM("FC-WHTCc_h", "FCh-WHTCc", "[g/h]")
+			AddToVSUM("FC_h", "FC-Map", "[g/h]", True)
+			AddToVSUM("FC-AUXc_h", "FC-AUXc", "[g/h]", True)
+			AddToVSUM("FC-WHTCc_h", "FC-WHTCc", "[g/h]", True)
 
             If Not VEC0.EngOnly Then
 
-                AddToVSUM("FC_km", "FC", "[g/km]")
-                AddToVSUM("FC-AUXc_km", "FC-AUXc", "[g/km]")
-                AddToVSUM("FC-WHTCc_km", "FC-WHTCc", "[g/km]")
+				AddToVSUM("FC_km", "FC-Map", "[g/km]", True)
+				AddToVSUM("FC-AUXc_km", "FC-AUXc", "[g/km]", True)
+				AddToVSUM("FC-WHTCc_km", "FC-WHTCc", "[g/km]", True)
 
                 AddToVSUM("CO2_km", "CO2", "[g/km]", True)
                 AddToVSUM("CO2_tkm", "CO2", "[g/tkm]", True)
@@ -651,7 +658,8 @@ Class cVSUM
 
         If NonEngOnly Then
 
-            'Vehicle-related fields
+			'Vehicle-related fields
+			AddToVSUM("\\PwheelPos", "PwheelPos", "[kW]")
             AddToVSUM("\\Pbrake", "Pbrake", "[kW]")
             AddToVSUM("\\EposICE", "EposICE", "[kWh]")
             AddToVSUM("\\EnegICE", "EnegICE", "[kWh]")
@@ -670,7 +678,7 @@ Class cVSUM
             'CylceKin
             CylceKin = New cCycleKin
             For Each VSUMentry In CylceKin.VSUMentries
-                AddToVSUM("\\" & VSUMentry.Head, VSUMentry.Head, VSUMentry.Unit)
+				AddToVSUM("\\" & VSUMentry.Head, VSUMentry.Head, VSUMentry.Unit)
             Next
 
         End If
@@ -714,8 +722,8 @@ Class cVSUM
 End Class
 
 Public Class cVSUMentry
-    Public Head As String
-    Public Unit As String
+	Public Head As String
+	Public Unit As String
     Public MyVal As Object
     Public Multi As Boolean
 
@@ -723,8 +731,8 @@ Public Class cVSUMentry
         Head = HeadStr
         Unit = UnitStr
         MyVal = Nothing
-        Multi = False
-    End Sub
+		Multi = False
+	End Sub
 
     Public Property ValueString As Object
         Get