diff --git a/Declaration/MissionCycles/LOT2_rural Engine Only.vdri b/Declaration/MissionCycles/LOT2_rural Engine Only.vdri
deleted file mode 100644
index a39159866257a9a11bd66de05214e0d68b4b5da0..0000000000000000000000000000000000000000
--- a/Declaration/MissionCycles/LOT2_rural Engine Only.vdri	
+++ /dev/null
@@ -1,3953 +0,0 @@
-<n>,<Pe>
-c [rpm],[kW]
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,-2.38E-07
-600,-2.38E-07
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,-2.38E-07
-600,2.38E-07
-600,0
-644.4445,2.329973
-644.4445,0.5693641
-644.4445,4.264177
-869.7512,7.98456
-644.4445,1.351656
-1015.31,-0.2716608
-948.6478,-0.4653716
-872.4501,-0.5719776
-644.4445,1.012361
-816.044,0.1606398
-644.4445,3.967641
-644.4445,4.3916
-645.3466,1.254886
-602.9238,0.36098
-644.4445,1.097353
-644.4445,1.476951
-645.6951,2.961375
-656.8193,3.33839
-688.8293,2.509675
-715.7259,3.104633
-743.2361,2.779576
-759.3434,2.025352
-763.0762,1.467997
-761.0308,1.383811
-757.7582,1.320618
-755.406,1.475238
-756.3265,1.681716
-753.872,1.098228
-749.1166,1.411724
-747.787,1.465289
-743.7986,1.110595
-691.6417,-3.012229
-627.2637,-0.1685431
-1049.495,-0.09707546
-644.4445,1.615664
-1026.825,0.4667768
-977.9754,-0.4151859
-906.5457,-0.4785028
-764.8557,-2.495939
-615.8789,-0.5095253
-600,-0.2679868
-644.4445,0.5701756
-644.4445,1.185031
-600,0.2967396
-646.6069,3.811063
-895.4804,7.923037
-653.8535,6.359474
-791.9158,11.55912
-900.8318,4.931076
-1007.856,14.46236
-1156.708,13.49057
-1345.086,27.20026
-1602.138,35.01208
-1888.49,46.58702
-2103.714,24.29906
-2146.359,-1.109985
-1286.033,8.800848
-1351.937,37.56419
-1494.108,56.84015
-1650.18,55.71647
-1797.949,62.99876
-1974.041,90.22348
-2191.804,115.1789
-2403.877,105.9852
-2503.301,18.33513
-1611.144,-1.709167
-1619.774,43.61679
-1655.685,42.16265
-1690.462,44.19933
-1723.907,42.2117
-1766.618,62.7349
-1823.327,70.33007
-1898.131,102.0343
-1980.033,91.64824
-2027.516,42.57878
-2040.799,27.31307
-1396.846,69.06043
-1435.803,91.8233
-1479.637,89.72998
-1511.026,58.87632
-1535.129,70.88527
-1563.544,76.08076
-1591.288,72.46291
-1615.981,69.52535
-1637.034,63.16708
-1654.957,61.31534
-1674.975,72.86595
-1695.262,64.75288
-1709.799,54.75394
-1712.769,24.54955
-1702.061,5.766651
-1685.925,4.414207
-1669.991,5.575367
-1656.502,12.07608
-1644.88,11.30247
-1634.482,15.56817
-1624.607,12.47053
-1610.151,-0.5362444
-1594.136,6.376687
-1580.163,5.485111
-1564.78,1.025784
-1550.539,8.4501
-1539.777,11.6633
-1532.066,17.71403
-1521.599,2.418658
-1504.309,-4.049212
-1481.361,-14.07779
-1453.792,-17.15281
-1423.724,-18.15207
-1385.246,-16.81612
-1337.242,-15.72801
-1293.188,-15.42869
-1281.755,38.3059
-1286.484,11.6914
-1283.596,17.9171
-1285.597,24.78118
-1291.778,29.405
-1303.359,40.06316
-1321.147,47.6144
-1343.046,53.40984
-1367.31,56.75732
-1398.372,76.35516
-1441.017,95.91759
-1491.115,106.3325
-1533.099,77.92695
-1561.824,69.6596
-1584.033,60.08042
-1597.119,41.62484
-1603.93,40.29163
-1607.558,31.45644
-1604.965,19.52167
-1600.142,23.70411
-1596.299,22.48869
-1589.192,12.48158
-1578.793,11.02395
-1566.889,6.910674
-1551.426,-1.123854
-1528.707,-15.20682
-1502.589,-11.37927
-1476.041,-16.47795
-1439.148,-17.79036
-1386.845,-16.22873
-1331.801,-15.54598
-1276.609,-14.19835
-1222.116,-13.53877
-1183.826,-13.63705
-1165.594,4.323093
-1154.524,-0.2198782
-1145.307,8.251244
-1136.212,-0.1459947
-1127.318,8.395197
-1127.425,20.90548
-1132.316,19.78157
-1134.976,15.85121
-1140.847,27.66578
-1153.503,32.64259
-1173.508,46.8272
-1195.77,39.98267
-1214.31,39.54551
-1235.31,48.15401
-1262.019,56.77373
-1290.77,56.59818
-1317.063,53.30949
-1343.879,61.21212
-1364.448,38.20493
-1372.416,26.90753
-1376.097,26.42333
-1374.269,11.18833
-1368.546,15.03598
-1362.863,11.02519
-1356.038,11.46854
-1346.136,1.988382
-1325.11,-16.2194
-1284.63,-14.65078
-1238.373,-14.2102
-1193.929,-12.98282
-1155.988,-13.10039
-1137.273,2.958799
-1132.786,15.8914
-1141.075,33.33242
-1156.7,34.19608
-1179.433,52.38899
-1213.827,66.11726
-1258.176,83.05579
-1305.898,81.63163
-1353.754,91.2124
-1396.935,75.19558
-1438.893,94.76639
-1487.004,100.8023
-1529.298,83.95088
-1563.974,82.77102
-1596.393,81.57443
-1624.446,72.54066
-1640.138,42.54347
-1643,29.84203
-1638.257,16.47232
-1629.605,16.00256
-1630.478,48.60144
-1642.785,55.60721
-1656.623,55.29026
-1669.48,53.73763
-1680.188,49.11893
-1689.163,48.75134
-1695.907,42.08216
-1700.851,42.99605
-1706.79,46.16529
-1713.763,47.34768
-1720.427,45.77478
-1727.319,48.89489
-1725.733,15.54477
-1714.932,15.2667
-1703.74,13.40421
-1690.842,8.433504
-1676.749,8.346373
-1663.421,10.28855
-1648.951,3.619027
-1633.192,5.002003
-1617.433,2.826547
-1602.775,7.905733
-1589.501,6.74611
-1576.428,7.864722
-1567.118,18.46364
-1564.686,30.00007
-1567.427,35.38074
-1572.196,36.95614
-1576.469,34.14531
-1576.307,22.5677
-1570.826,16.47429
-1563.423,15.84486
-1553.562,7.964062
-1536.916,-5.952643
-1517.233,-2.275624
-1497.389,-6.935693
-1471.863,-18.41763
-1442.372,-18.13165
-1414.871,-13.40553
-1387.812,-17.13374
-1362.057,-10.3961
-1346.257,8.515593
-1345.787,31.16553
-1358.712,46.74545
-1379.066,53.84549
-1401.382,54.66264
-1424.557,58.96523
-1447.437,56.39186
-1469.605,59.47992
-1493.117,63.22589
-1515.124,57.4621
-1535.841,61.76757
-1557.969,64.56117
-1578.323,58.54613
-1596.594,60.07353
-1611.991,50.88236
-1621.194,40.61778
-1619.421,14.21795
-1605.113,-1.868717
-1588.762,6.50421
-1576.67,11.31663
-1569.348,21.61535
-1567.91,30.3064
-1571.135,36.95245
-1576.267,36.91877
-1582.797,42.09142
-1590.294,40.76203
-1597.817,42.91198
-1605.462,41.89369
-1612.273,40.82465
-1619.582,44.26139
-1628.167,45.92483
-1637.464,47.59579
-1648.723,53.73099
-1661.419,53.84293
-1676.91,65.1045
-1695.235,65.79607
-1711.21,58.91008
-1724.968,59.73791
-1739.437,63.20061
-1753.772,61.00745
-1768,64.61153
-1781.368,59.52817
-1794.521,65.5128
-1809.072,66.50668
-1818.449,47.4547
-1817.24,26.92148
-1805.995,8.979017
-1786.662,-4.010155
-1765.233,-0.05493259
-1742.89,-7.886769
-1721.609,2.619378
-1703.539,1.704347
-1687.591,9.187813
-1675.688,15.12251
-1669.373,28.10153
-1666.148,25.54206
-1659.176,14.7161
-1647.474,8.565833
-1631.875,0.5784202
-1615.068,3.583271
-1599,2.292942
-1587.324,17.45128
-1584.315,30.57986
-1586.8,35.61685
-1593.088,43.5732
-1602.506,46.77898
-1611.978,44.69442
-1618.292,36.94254
-1621.436,34.45127
-1619.475,19.75505
-1612.367,16.75193
-1602.009,8.288825
-1592.927,20.35848
-1589.178,25.61557
-1589.299,33.05613
-1592.766,36.86369
-1600.84,48.93576
-1611.79,47.39437
-1614.947,23.44294
-1610.836,22.92943
-1603.433,12.01165
-1586.975,-7.003079
-1563.772,-9.861372
-1540.355,-8.272071
-1519.907,-2.04369
-1503.677,3.384114
-1487.904,-1.296515
-1471.513,0.8036427
-1454.625,-3.150111
-1435.789,-5.048037
-1415.583,-7.256803
-1396.787,-1.866434
-1379.012,-5.011639
-1361.345,-2.060575
-1341.192,-11.55893
-1317.613,-10.92163
-1291.294,-15.20063
-1254.361,-14.80647
-1210.226,-14.88861
-1174.65,-14.81055
-1147.215,-14.28176
-1119.552,-13.7853
-1087.993,-13.05181
-1052.511,-12.44097
-1031.579,5.715624
-1037.853,32.76339
-1064.428,51.27643
-1098.567,52.62703
-1138.801,70.14542
-1186.926,77.43063
-1233.348,72.79241
-1273.076,66.44997
-1304.85,56.3991
-1335.952,68.81242
-1369.93,68.46135
-1401.744,66.97513
-1432.914,70.78075
-1462.162,65.10287
-1490.927,73.24111
-1519.369,67.75407
-1544.292,65.61349
-1569.657,72.50694
-1591.342,56.41633
-1604.709,47.0724
-1608.203,24.27454
-1601.539,12.98722
-1592.376,15.38727
-1589.407,33.14979
-1593.76,39.76634
-1602.748,49.21623
-1614.531,50.16054
-1628.221,57.05817
-1646.023,65.98457
-1665.665,65.65594
-1683.789,63.0876
-1698.339,55.09802
-1707.865,46.70007
-1711.465,34.71091
-1712.298,37.05171
-1713.763,37.07273
-1717.041,43.76989
-1723.678,49.61529
-1733.472,56.02866
-1744.677,55.90408
-1750.736,38.25808
-1755.6,52.16808
-1767.544,65.1767
-1784.929,74.09778
-1810.361,98.34163
-1843.734,108.7761
-1876.234,100.4823
-1900.229,80.1554
-1920.624,89.84477
-1923.486,11.55359
-1384.726,-6.716908
-1365.214,-9.758064
-1335.167,-15.65223
-1305.561,-9.438278
-1293.54,25.59272
-1293.716,51.81037
-1298.87,51.8591
-1307.468,70.9785
-1321.719,83.69244
-1340.242,97.09694
-1361.364,102.0721
-1381.797,98.08289
-1396.943,76.64746
-1408.093,78.5398
-1421.649,92.87965
-1436.79,90.6324
-1452.067,97.12432
-1465.261,81.55907
-1474.817,78.22183
-1481.586,66.6988
-1486.936,71.00793
-1494.076,78.64029
-1504.805,94.48131
-1519.545,105.7961
-1533.59,93.55258
-1544.594,90.03146
-1553.279,81.37687
-1560.448,82.33672
-1566.855,78.04972
-1572.087,76.19854
-1574.895,63.56385
-1574.396,55.5367
-1573.515,61.01888
-1573.036,57.94503
-1570.845,49.96451
-1566.747,45.35576
-1559.803,31.16218
-1548.662,17.72969
-1536.094,20.5824
-1523.252,14.39674
-1509.539,13.54565
-1497.577,23.35009
-1487.474,23.31975
-1479.131,32.58831
-1472.793,34.21489
-1471.189,59.98996
-1474.25,61.94712
-1479.943,76.42569
-1487.386,73.62328
-1493.87,72.10479
-1498.252,62.06528
-1504.355,83.55563
-1514.009,85.13411
-1522.518,78.52847
-1528.054,68.42541
-1531.879,68.98322
-1535.693,69.12019
-1539.86,71.95422
-1543.156,64.46819
-1544.232,58.62698
-1542.999,50.14769
-1540.877,52.80785
-1538.393,47.5109
-1535.83,51.87814
-1534.607,55.44809
-1535.527,65.06208
-1540.046,78.20454
-1545.102,69.33004
-1542.54,31.26162
-1534.764,36.16859
-1527.125,30.95866
-1517.892,25.15287
-1508.043,25.83571
-1498.927,28.26935
-1490.525,28.91031
-1483.571,35.82453
-1480.344,50.35513
-1480.471,55.54207
-1481.576,56.2795
-1481.869,50.83329
-1480.745,47.77131
-1478.28,42.57355
-1476.333,50.48153
-1475.023,46.08316
-1474.094,52.55144
-1473.565,48.33829
-1472.754,50.75901
-1472.802,53.36675
-1472.646,49.53503
-1472.675,54.45502
-1472.744,49.77462
-1473.644,59.45992
-1476.216,59.98241
-1477.918,54.67937
-1478.984,56.45734
-1479.639,52.3883
-1481.234,62.24279
-1484.403,62.18639
-1488.227,66.80893
-1491.239,57.95909
-1493.107,60.41497
-1495.973,64.38061
-1498.477,58.73077
-1499.935,58.45076
-1498.233,39.69763
-1490.447,21.17598
-1479.659,20.41969
-1469.35,22.65018
-1458.865,18.07665
-1449.143,25.79696
-1440.174,21.3046
-1431.009,23.49089
-1422.334,22.9997
-1411.819,11.86371
-1402.048,25.93449
-1394.321,22.3779
-1386.849,26.39423
-1381.039,30.80274
-1374.056,19.11548
-1365.478,21.04128
-1357.8,23.10369
-1351.413,27.2389
-1348.342,40.50266
-1348.86,46.52771
-1354.67,69.74982
-1364.49,69.70929
-1375.415,77.81886
-1386.575,73.11307
-1395.456,67.07029
-1403.241,68.56764
-1410.313,64.41555
-1416.035,62.10302
-1420.035,55.49044
-1423.057,57.14668
-1424.515,46.92026
-1424.466,48.65111
-1424.349,46.51535
-1420.514,27.12698
-1412.171,19.98239
-1399.202,-0.2213111
-1381.088,-8.825974
-1360.959,-10.97501
-1339.52,-15.13851
-1315.038,-15.79168
-1271.67,-13.71585
-1205.943,-12.13631
-1122.19,-10.03683
-1048.169,-10.36391
-990.1788,-9.246284
-928.2859,-9.212884
-867.8992,-9.020022
-804.412,-8.525709
-729.0021,-8.260065
-887.2314,-7.793596
-782.4908,-7.821894
-665.2287,-6.784316
-772.3559,-4.63562
-600,-6.277975
-614.9388,-5.288214
-696.7551,-3.49948
-600,-1.283326
-664.3683,-1.597912
-600,-1.778763
-600,-0.7596555
-600,-0.1736608
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,-2.38E-07
-600,-2.38E-07
-600,0
-600,0
-600,0
-600,2.38E-07
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,2.38E-07
-600,0
-600,0
-600,-2.38E-07
-600,0
-644.4445,1.612164
-644.4445,6.538949
-785.0072,0.8882241
-841.1434,3.194654
-644.4445,4.281434
-1009.552,-0.1017489
-970.5985,0.5266633
-942.8003,0.3860083
-644.4445,2.60547
-644.4445,3.600683
-614.3267,0.6870103
-645.5776,1.867147
-654.6205,4.423994
-692.8177,1.993502
-708.7716,2.477404
-728.2538,2.476002
-755.4572,3.501919
-778.621,2.18979
-785.3195,1.743106
-784.5526,1.346341
-785.7797,1.974449
-787.5695,1.416916
-784.4503,1.4051
-782.5583,1.548533
-779.4391,1.255069
-775.604,1.452504
-776.0643,1.739155
-781.2288,2.003658
-791.558,2.376166
-794.8305,1.215703
-790.2285,1.457595
-788.5922,1.549223
-777.0869,0.305099
-717.4133,-3.12269
-620.5139,-2.686603
-644.4445,1.54447
-1016.479,0.8481472
-962.2321,-0.9291403
-847.3507,-1.475364
-747.673,-0.2668786
-676.963,-0.3898878
-602.3846,-0.3104959
-600,-0.1901872
-600,0.1421087
-644.4445,0.9691319
-658.5208,5.586625
-644.4445,10.10435
-770.7463,12.22105
-927.217,10.38821
-1058.376,12.88986
-1195.672,14.52883
-1370.653,24.36733
-1588.996,29.57337
-1850.804,44.95491
-2070.22,25.92677
-2149.734,8.226243
-1319.83,16.38028
-1416.364,49.23381
-1559.182,49.06653
-1710.518,65.96037
-1919.854,106.5468
-2084.814,43.9015
-2166.125,47.40614
-1477.623,84.04178
-1568.573,75.32056
-1632.52,51.08742
-1672.844,42.69801
-1694.081,22.06184
-1716.868,46.75986
-1754.409,48.50185
-1799.228,62.44069
-1858.482,78.40761
-1900.06,34.26859
-1927.36,55.25987
-1337.101,81.45631
-1385.247,97.38922
-1429.335,76.56412
-1463.264,73.28956
-1495.965,77.56803
-1528.196,76.33263
-1558.654,76.35077
-1587.647,75.73126
-1612.448,66.08598
-1634.75,70.53711
-1654.379,59.56525
-1669.87,58.48478
-1687.604,69.47137
-1707.072,66.88885
-1722.079,55.75189
-1724.041,21.08878
-1712.486,6.930377
-1696.472,4.276927
-1677.568,-3.706191
-1660.694,10.34586
-1651.074,20.23409
-1643.645,17.34347
-1632.816,8.011366
-1618.776,5.67132
-1603.688,3.707242
-1588.144,3.373533
-1571.404,-0.8783412
-1555.752,6.147068
-1543.593,9.695271
-1532.576,9.228716
-1522.379,11.73368
-1509.777,1.065055
-1489.946,-10.28071
-1465.427,-12.51891
-1440.021,-12.71381
-1402.846,-16.25399
-1355.514,-15.46913
-1313.435,-14.94506
-1291.697,11.92974
-1290.622,22.9257
-1291.334,16.68974
-1292.651,24.62087
-1298.683,29.66311
-1308.639,35.86757
-1329.033,59.74829
-1361.923,73.65525
-1400.414,80.50338
-1437.67,75.37047
-1474.187,83.83059
-1510.207,79.0104
-1541.698,74.4771
-1566.836,62.39557
-1586.464,59.38128
-1599.685,43.04843
-1606.496,39.10833
-1607.544,24.1147
-1602.614,18.94668
-1599.308,29.22934
-1598.395,26.77416
-1592.524,12.49185
-1582.703,13.13161
-1570.221,3.125345
-1548.953,-14.38402
-1520.766,-17.64579
-1492.177,-15.95768
-1453.188,-19.0262
-1405.211,-17.32
-1359.907,-15.5539
-1311.877,-14.40117
-1259.963,-13.38175
-1212.524,-12.87038
-1177.001,-12.74935
-1155.424,-1.723226
-1141.801,-0.260747
-1134.492,12.46988
-1133.995,15.73124
-1130.65,5.669389
-1126.767,14.28826
-1128.648,19.20252
-1133.216,20.79155
-1142.795,31.54515
-1160.919,42.30621
-1179.715,34.65625
-1197.906,42.59779
-1221.082,49.09034
-1245.937,49.3044
-1271.692,54.20898
-1300.591,60.77997
-1329.168,56.62835
-1354.789,55.80923
-1375.788,46.10873
-1385.73,25.64256
-1386.025,18.74092
-1383.688,17.9726
-1379.388,12.89893
-1372.698,10.80366
-1364.207,7.388607
-1349.334,-6.829912
-1327.031,-12.3538
-1289.95,-14.04064
-1243.626,-13.43234
-1200.889,-12.65873
-1162.021,-12.30316
-1138.523,0.8973355
-1130.394,9.3073
-1135.07,31.08614
-1156.795,50.95563
-1189.187,59.67162
-1226.563,67.66388
-1268.951,78.01559
-1312.414,76.58404
-1356.025,85.13309
-1401.126,87.58305
-1444.898,88.26737
-1487.286,90.28471
-1527.847,89.14961
-1565.344,86.64429
-1597.481,76.86526
-1626.864,82.09353
-1642.073,31.50566
-1639.99,23.92768
-1637.76,30.81757
-1638.123,32.71453
-1642.126,43.46971
-1650.376,47.85925
-1656.905,38.26996
-1663.717,49.5445
-1672.006,44.13668
-1679.073,46.09537
-1685.71,43.32407
-1691.084,42.26889
-1696.646,44.54321
-1703.364,46.98836
-1710.511,46.79175
-1716.906,45.01366
-1717.444,26.1797
-1711.129,20.26562
-1704.439,24.31491
-1696.458,15.16069
-1684.38,9.138308
-1669.212,3.496205
-1653.412,6.050759
-1636.148,-2.083723
-1620.402,10.29929
-1606.523,3.2822
-1590.468,2.226402
-1576.711,10.1251
-1568.824,20.93763
-1567.413,31.03271
-1569.711,33.10635
-1572.452,32.69432
-1574.655,31.5523
-1572.747,19.22354
-1565.035,12.21235
-1556.195,15.0088
-1543.351,-1.151437
-1523.306,-7.844097
-1498.451,-15.2105
-1471.473,-14.222
-1443.514,-17.75576
-1418.028,-8.075694
-1395.819,-9.842525
-1378.085,3.328753
-1367.149,8.02681
-1360.404,14.89146
-1361.842,31.14586
-1371.771,39.49014
-1387.436,48.75327
-1406.608,51.37
-1428.548,59.16101
-1453.08,61.76308
-1479.238,67.222
-1503.811,59.92773
-1525.214,60.14183
-1544.184,54.53143
-1562.268,59.49051
-1582.313,63.16959
-1599.873,53.45661
-1613.429,51.63828
-1621.181,35.03048
-1616.371,9.457516
-1600.061,-3.788047
-1581.856,2.248221
-1572.667,24.77247
-1572.022,30.03358
-1574.01,33.46582
-1578.242,37.671
-1584.06,39.13469
-1589.837,38.06779
-1595.385,38.90419
-1601.216,39.5349
-1606.859,38.81017
-1614.638,47.36164
-1624.701,47.38615
-1636,52.69853
-1647.057,47.73088
-1657.59,52.09483
-1669.158,52.50356
-1683.198,62.20206
-1702.491,73.03305
-1723.463,70.75262
-1743.683,73.13956
-1762.667,68.86513
-1777.58,60.39309
-1789.188,58.30213
-1797.921,50.87263
-1806.855,60.13579
-1817.388,58.0382
-1823.299,43.58347
-1816.582,10.14859
-1802.529,14.92394
-1786.299,1.025387
-1768.927,9.511108
-1751.623,0.3174438
-1732.894,3.221305
-1714.636,1.037209
-1696.606,3.044764
-1683.345,16.9832
-1676.05,23.35215
-1669.494,19.07921
-1660.667,14.90462
-1649.65,10.84701
-1637.733,11.08645
-1623.559,2.431441
-1610.325,13.43634
-1600.115,11.95773
-1593.007,23.21765
-1593.733,37.80044
-1600.921,45.08272
-1610.755,47.47602
-1621.087,47.78857
-1627.616,35.45415
-1628.436,28.78426
-1624.513,19.24914
-1617.298,17.2322
-1609.13,15.51832
-1601.445,18.32353
-1596.178,23.1551
-1595.479,33.32108
-1600.276,41.6428
-1609.909,50.18336
-1618.373,38.57851
-1622.498,36.17999
-1621.987,23.06949
-1614.45,12.16186
-1598.261,-5.880579
-1576.576,-6.21808
-1557.216,0.2066689
-1540.557,1.06763
-1523.776,-0.7704601
-1505.168,-4.783222
-1484.424,-7.280366
-1461.786,-10.48103
-1437.992,-10.87021
-1412.439,-15.4868
-1386.16,-13.11512
-1361.533,-11.51401
-1337.054,-12.97312
-1311.675,-13.94429
-1284.644,-14.70514
-1260.877,-6.438118
-1239.233,-12.14887
-1213.585,-13.36887
-1189.711,-8.318381
-1167.449,-12.13369
-1133.834,-11.54234
-1098.11,-11.47418
-1073.161,-9.736206
-1051.866,-8.969399
-1043.845,17.9187
-1059.793,42.8426
-1091.15,54.27356
-1132.423,69.97617
-1179.849,74.85709
-1224.723,70.31767
-1266.425,73.1416
-1304.474,66.09874
-1339.956,71.33346
-1376.07,72.68569
-1408.422,65.08088
-1436.595,64.42775
-1462.377,61.2652
-1487.568,65.8431
-1513.982,68.2971
-1540.825,70.66122
-1565.277,63.87906
-1586.142,61.8507
-1603.258,53.73509
-1610.003,28.49205
-1602.412,5.785827
-1591.718,17.46236
-1587.728,27.60659
-1590.347,39.33879
-1599.711,50.57925
-1614.356,58.24709
-1631.714,61.5585
-1649.959,63.41554
-1667.223,60.33664
-1682.902,59.92071
-1697.641,58.86283
-1708.402,47.30275
-1712.889,37.3675
-1714.622,37.78582
-1716.933,39.62757
-1720.386,42.15772
-1725.639,46.5316
-1733.472,52.14337
-1742.568,52.02161
-1752.026,54.51895
-1760.92,50.98923
-1773.2,68.27187
-1792.224,77.96797
-1821.486,110.3905
-1859.212,115.6734
-1886.512,75.2928
-1904.73,83.84886
-1920.543,68.10039
-1923.083,32.01192
-1906.866,-6.502386
-1369.067,-8.091158
-1347.198,-16.18642
-1322.599,-15.63903
-1300.348,-10.72464
-1291.3,42.13477
-1295.232,54.72806
-1305.844,78.21381
-1323.205,92.89117
-1342.943,94.77242
-1363.46,101.6814
-1385.072,105.6614
-1401.614,77.6887
-1414.802,90.22686
-1429.796,90.92907
-1445.416,97.26785
-1460.968,94.02265
-1474.025,85.8418
-1482.309,68.04903
-1486.554,63.08653
-1491.151,71.01434
-1497.039,71.83271
-1507.27,98.90955
-1520.142,90.28288
-1531.712,93.81809
-1542.735,89.45779
-1550.501,75.71756
-1555.763,75.2889
-1560.967,76.44486
-1565.573,72.56293
-1568.879,69.08176
-1571.598,69.47919
-1572.166,55.82536
-1571.677,62.81889
-1571.921,60.4342
-1570.689,53.40608
-1566.415,40.77371
-1555.499,10.54896
-1539.664,8.183149
-1524.034,9.895695
-1510.967,22.06216
-1500.463,23.95686
-1491.063,27.36668
-1482.349,26.82351
-1476.999,46.35995
-1477.996,64.20844
-1481.899,64.05076
-1485.909,65.5948
-1490.075,65.75693
-1495.259,72.5956
-1502.116,77.00091
-1508.6,71.68607
-1514.263,73.26437
-1521.178,80.59914
-1529.15,81.26859
-1536.368,77.57661
-1542.686,77.1497
-1547,66.23773
-1548.115,57.8325
-1546.481,49.11549
-1544.408,54.76034
-1543.166,53.98143
-1541.073,49.1928
-1539.361,55.99929
-1538.862,56.49809
-1538.393,56.0927
-1540.417,72.0712
-1545.18,73.70837
-1546.256,49.76416
-1542.735,44.97318
-1535.145,23.71458
-1523.252,17.02971
-1509.617,11.41548
-1496.003,15.4281
-1487.171,38.66481
-1482.3,38.17532
-1480.637,57.24352
-1481.762,54.72427
-1482.73,56.49815
-1483.307,52.52861
-1482.72,49.56577
-1481.508,48.64921
-1480.187,48.71376
-1478.955,48.95982
-1477.576,47.62597
-1477.849,58.67931
-1479.013,53.03189
-1479.307,53.63831
-1480.021,55.61882
-1480.793,54.11613
-1481.361,54.51465
-1483.004,60.71709
-1484.578,54.38765
-1485.42,56.56187
-1485.889,52.28399
-1486.613,58.18631
-1488.002,56.44076
-1489.87,61.34771
-1490.917,51.78019
-1491.102,56.30661
-1492.227,57.52043
-1493.675,58.47193
-1495.113,57.72102
-1495.445,51.99366
-1494.271,48.60529
-1489.625,30.71955
-1480.001,17.82528
-1467.472,12.0361
-1457.623,32.14432
-1450.424,26.50847
-1441.191,19.21676
-1431.459,22.39477
-1422.754,23.97624
-1414.069,21.42962
-1406.89,31.4945
-1401.579,31.19041
-1395.554,26.72908
-1387.563,19.29863
-1377.782,15.70328
-1368.803,22.63366
-1361.243,22.56006
-1353.398,20.18481
-1347.96,34.80918
-1349.799,59.43176
-1356.929,64.2579
-1365.889,70.86021
-1376.755,76.60091
-1387.504,72.27655
-1395.348,62.18171
-1402.557,70.15619
-1408.826,58.08114
-1414.47,67.74133
-1420.152,59.29419
-1424.652,61.93027
-1429.249,60.66118
-1431.322,48.02657
-1430.774,45.73412
-1426.217,24.6445
-1410.704,-15.22193
-1391.456,1.596369
-1375.386,-1.242421
-1360.089,4.432325
-1342.327,-12.48885
-1315.958,-15.63675
-1278.253,-14.49595
-1226.61,-12.92336
-1157.421,-11.01548
-1084.691,-10.37803
-1016.333,-9.222387
-953.2953,-8.877071
-891.1482,-8.744204
-1132.584,-10.29824
-1027.589,-7.797905
-906.3764,-7.333625
-778.9708,-6.812672
-640.4005,-6.574084
-725.2108,-4.330684
-600,-6.607558
-974.2606,0.2646341
-678.2445,-2.214189
-600,-2.06674
-600,-2.121689
-600,-1.457825
-600,-0.0909586
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,2.38E-07
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,-2.38E-07
-600,0
-600,0
-600,0
-600,2.38E-07
-600,0
-600,-2.38E-07
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,-2.38E-07
-600,0
-600,0
-600,2.38E-07
-600,0
-600,0
-600,0
-600,0
-600,-2.38E-07
-600,0
-600,0
-600,0
-600,-2.38E-07
-600,-2.38E-07
-600,0
-600,0
-600,2.38E-07
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,2.38E-07
-600,0
-600,2.38E-07
-600,2.38E-07
-600,0
-600,0
-600,0
-600,2.38E-07
-600,0
-600,0
-600,0
-600,0
-600,0
-600,-2.38E-07
-600,0
-600,0
-600,0
-600,0
-600,-2.38E-07
-600,-2.38E-07
-600,0
-600,2.38E-07
-600,2.38E-07
-600,0
-600,2.38E-07
-600,0
-600,2.38E-07
-600,0
-600,-2.38E-07
-600,2.38E-07
-600,-2.38E-07
-600,2.38E-07
-600,0
-600,-2.38E-07
-600,-2.38E-07
-600,-2.38E-07
-600,-2.38E-07
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,2.38E-07
-600,0
-600,0
-600,0
-600,0
-600,-2.38E-07
-600,2.38E-07
-600,0
-600,0
-600,0
-600,0
-600,-2.38E-07
-600,0
-600,0
-600,-2.38E-07
-600,-2.38E-07
-600,0
-600,0
-600,0
-600,-2.38E-07
-600,0
-600,0
-600,0
-600,-2.38E-07
-600,2.38E-07
-600,0
-600,0
-600,0
-600,2.38E-07
-600,0
-600,2.38E-07
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,2.38E-07
-600,0
-600,0
-600,0
-600,0
-600,2.38E-07
-600,-2.38E-07
-600,2.38E-07
-600,0
-600,0
-600,0
-600,-2.38E-07
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,4.77E-07
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,-2.38E-07
-600,2.38E-07
-644.4445,0.07269168
-644.4445,0.5636628
-644.4445,6.32637
-909.8743,8.952326
-612.8438,0.4596145
-1049.945,0.5363288
-644.4445,1.307286
-644.4445,1.506667
-644.4445,1.191484
-644.4445,1.223324
-644.5549,1.372464
-645.5549,2.282104
-647.3238,2.434664
-660.2452,2.209997
-681.7216,2.61131
-706.7773,2.741129
-730.1458,2.619758
-748.145,2.314906
-760.0593,2.050172
-764.6102,1.540037
-765.2238,1.621832
-763.9455,1.326239
-764.4057,1.815315
-767.3715,1.615054
-764.6102,1.172328
-763.6898,1.813547
-765.7863,1.513745
-764.7125,1.459806
-763.4852,1.49177
-760.6218,1.268719
-717.6179,-2.408862
-665.5632,0.2176919
-624.9115,-1.213306
-1023.406,-0.02850914
-644.4445,2.188613
-998.4866,-0.7567296
-913.1129,-0.6905825
-792.6539,-1.726186
-682.2707,-0.2418582
-619.2075,-0.1684604
-644.4445,0.6611562
-646.427,1.844816
-674.444,1.06398
-698.6438,1.278553
-843.8422,6.181966
-645.6003,6.826957
-727.7936,6.854918
-867.4923,13.15338
-1035.213,14.05835
-1166.934,11.57775
-1302.747,18.54018
-1484.631,24.88181
-1734.831,42.28856
-2034.273,49.13046
-2212.783,14.95125
-1365.991,14.98481
-1435.985,36.59709
-1555.953,48.97858
-1705.628,64.5892
-1887.01,84.50237
-2010.176,29.41932
-1359.912,69.16082
-1460.599,91.42927
-1564.59,85.87419
-1639.38,57.33976
-1678.83,35.33801
-1693.723,19.23966
-1709.133,37.07459
-1753.812,70.30568
-1809.11,58.7817
-1828.497,10.1565
-1245.703,51.546
-1279.657,74.22597
-1325.282,88.26819
-1368.083,72.68974
-1405.977,80.60335
-1446.416,85.91576
-1481.576,70.02934
-1508.876,66.10561
-1538.958,82.82529
-1572.196,80.56322
-1601.915,75.8309
-1627.751,71.48734
-1648.79,62.65011
-1666.484,62.48646
-1683.574,62.6969
-1701.953,69.27721
-1717.592,55.01025
-1723.154,34.47604
-1716.396,10.84506
-1701.523,4.702551
-1681.102,-8.599273
-1661.836,7.633382
-1652.243,23.09983
-1646.547,20.57926
-1637.236,10.19999
-1622.242,0.4904656
-1602.922,-4.652774
-1584.731,3.380548
-1570.49,7.09161
-1557.458,6.66973
-1543.848,4.555008
-1531.689,10.66433
-1519.437,3.691454
-1503.61,-1.150481
-1485.728,-3.026744
-1464.379,-11.14701
-1436.985,-17.6633
-1401.435,-16.52778
-1357.637,-15.3913
-1312.307,-14.65012
-1287.908,11.86469
-1286,20.54327
-1286.619,18.54342
-1288.244,23.31835
-1295.069,32.82963
-1308.289,41.42417
-1326.36,47.51019
-1350.341,60.05747
-1386.146,84.80302
-1424.275,71.51812
-1459.61,82.11712
-1496.731,82.10949
-1531.165,78.98655
-1560.709,71.02921
-1584.879,65.1485
-1601.875,49.84313
-1609.842,36.42356
-1612.555,32.75125
-1610.258,19.61487
-1605.542,24.35468
-1602.197,23.91504
-1596.433,15.96346
-1585.846,7.36155
-1572.707,6.84079
-1554.569,-8.548178
-1529.58,-14.25133
-1502.374,-15.33138
-1473.287,-18.2294
-1433.115,-16.61605
-1379.361,-15.28753
-1322.517,-14.32261
-1269.65,-13.59477
-1223.823,-13.03917
-1191.054,-10.34762
-1167.623,-10.96569
-1146.087,-7.865382
-1138.617,20.75992
-1139.92,11.95193
-1135.07,6.090739
-1128.836,8.454925
-1127.815,18.23122
-1133.229,23.74462
-1145.025,33.94183
-1162.007,37.24741
-1180.266,38.54793
-1199.371,41.02165
-1220.437,45.36328
-1244.338,50.5095
-1270.631,54.25564
-1298.159,56.81184
-1326.924,60.92234
-1355.084,58.48366
-1378.461,50.37475
-1393.267,35.86261
-1398.198,22.63688
-1395.484,13.71113
-1386.67,4.619095
-1373.732,1.322395
-1360.028,1.926163
-1347.05,2.909883
-1327.864,-13.99705
-1303.439,-10.30259
-1270.98,-13.94411
-1227.45,-13.10693
-1189.361,-12.86395
-1163.257,-9.064267
-1149.096,6.519079
-1145.415,14.67137
-1153.382,34.60891
-1178.546,57.754
-1216.998,71.03598
-1263.134,83.27469
-1314.765,93.22186
-1365.711,89.68562
-1406.138,70.3726
-1441.432,80.56233
-1480.152,86.0248
-1517.623,82.35265
-1553.777,87.54527
-1590.871,91.02081
-1619.381,63.71481
-1634.092,47.46525
-1638.526,29.794
-1635.489,22.06191
-1635.758,40.95305
-1643.712,48.7066
-1653.788,49.15121
-1663.139,47.23022
-1672.597,50.53967
-1682.109,48.42113
-1690.426,47.30361
-1696.001,39.47346
-1699.468,40.3076
-1704.479,45.37587
-1710.861,45.75566
-1718.881,52.00259
-1722.791,31.61168
-1716.893,16.77742
-1706.844,16.1372
-1696.579,15.30738
-1686.61,16.48245
-1676.655,14.68511
-1666.323,14.48469
-1653.439,5.125021
-1638.015,4.899573
-1622.054,2.485665
-1605.65,2.586072
-1589.635,3.008597
-1576.482,11.31122
-1568.972,20.98672
-1568.045,32.59629
-1571.82,36.49885
-1575.689,33.22871
-1577.006,28.33649
-1576.509,27.30095
-1573.043,18.44022
-1566.083,15.48969
-1553.253,-1.0913
-1533.543,-6.647263
-1512.571,-5.314623
-1489.597,-12.72277
-1465.037,-10.23271
-1440.626,-12.70623
-1416.577,-9.706091
-1395.107,-6.353202
-1377.024,-1.41299
-1362.729,3.233414
-1354.829,16.14577
-1363.078,49.1428
-1386.616,61.25877
-1414.32,64.14809
-1440.303,59.41497
-1460.953,50.86452
-1479.574,55.51258
-1498.37,53.43364
-1516.938,56.92963
-1538.501,65.29128
-1562.402,67.20255
-1585.376,65.22421
-1607.168,66.15616
-1622.363,45.26455
-1626.448,29.70588
-1619.663,8.417274
-1605.892,5.471342
-1590.294,1.554001
-1574.104,2.731438
-1564.27,21.70022
-1562.819,29.79327
-1568.34,44.64818
-1577.866,43.57754
-1587.66,46.50829
-1597.844,45.86784
-1605.354,38.47025
-1610.205,37.56776
-1614.96,38.60074
-1622.027,45.92914
-1631.029,45.93453
-1640.622,48.91043
-1652.001,53.17495
-1664.657,54.63203
-1677.662,55.84564
-1692.656,63.26057
-1711.21,70.51211
-1732.478,75.57997
-1753.544,72.63683
-1769.828,60.5629
-1783.451,64.80178
-1796.429,59.79764
-1807.943,60.86138
-1820.33,64.59172
-1828.176,44.81462
-1821.163,8.214087
-1804.249,6.292377
-1787.871,9.134424
-1770.714,2.376011
-1754.109,10.06567
-1738.806,6.212786
-1721.286,1.067402
-1704.721,8.612881
-1690.95,10.14219
-1679.624,16.43083
-1669.144,12.42631
-1658.987,16.84797
-1647.85,8.391995
-1632.507,1.645216
-1616.008,3.606684
-1600.128,2.947272
-1589.487,20.32802
-1587.647,31.78459
-1590.159,34.78584
-1594.271,37.37839
-1600.692,42.96344
-1610.513,49.539
-1619.219,40.11499
-1623.559,35.45469
-1622.551,22.18125
-1616.573,18.38556
-1609.412,17.73681
-1601.727,16.13419
-1594.458,18.62502
-1590.616,27.14091
-1592.551,37.74634
-1599.214,43.24936
-1607.383,43.47301
-1616.519,47.3689
-1620.966,28.29967
-1614.678,11.12828
-1600.491,1.117563
-1577.759,-15.98362
-1550.498,-12.94688
-1526.638,-6.817096
-1505.168,-6.72456
-1484.263,-5.809709
-1462.727,-8.948511
-1443.058,-1.342418
-1426.667,-0.6651244
-1410.316,-1.713572
-1393.038,-3.54139
-1376.876,0.7599344
-1361.493,-1.957383
-1339.513,-15.69704
-1313.126,-13.22394
-1287.062,-14.71945
-1250.061,-13.29444
-1211.717,-13.18758
-1184.632,-12.68648
-1156.754,-13.87198
-1125.974,-13.35509
-1094.321,-12.72246
-1054.539,-11.65611
-1026.366,1.78571
-1031.707,34.37691
-1059.625,52.05185
-1095.194,54.60882
-1132.853,61.3746
-1177.447,76.69508
-1222.979,69.77629
-1261.898,65.92332
-1296.198,62.50776
-1331.935,74.62606
-1370.172,74.38905
-1403.021,64.03122
-1430.133,61.57874
-1454.451,58.83109
-1481.079,71.86363
-1508.285,63.87067
-1533.275,68.35617
-1556.074,59.77805
-1575.649,60.55231
-1590.562,46.38965
-1598.476,38.60023
-1600.316,26.62489
-1595.412,16.02007
-1589.635,23.31708
-1594.485,51.32585
-1609.062,56.67459
-1626.676,63.39441
-1644.746,60.32769
-1660.559,57.70242
-1675.096,57.71563
-1688.518,55.43426
-1701.389,57.32327
-1710.565,43.53574
-1713.427,35.47276
-1715.402,40.61037
-1719.432,43.12147
-1724.444,44.58424
-1731.376,50.66751
-1740.593,53.71496
-1749.258,49.65441
-1754.552,42.17929
-1757.723,42.34054
-1768.121,69.52338
-1794.468,103.9193
-1825.61,91.68179
-1855.813,105.6374
-1881.836,79.81264
-1897.179,67.01525
-1905.496,53.63717
-1906.692,39.33886
-1889.011,-19.16266
-1849.122,-24.79765
-1807.889,-24.43617
-1779.689,-0.7561536
-1284.092,17.17696
-1284.102,58.07148
-1292.093,58.99236
-1304.082,80.69597
-1321.862,92.27543
-1340.809,90.74892
-1359.844,96.99959
-1378.966,95.45564
-1393.216,73.59466
-1402.928,72.61659
-1413.785,82.11748
-1426.51,85.63467
-1440.927,94.76996
-1455.95,92.36811
-1470.416,94.86768
-1480.725,70.45586
-1486.985,72.58999
-1494.017,76.40392
-1505.187,99.43295
-1520.278,103.0791
-1537.327,115.3624
-1552.584,95.87924
-1562.453,84.82603
-1568.948,76.54655
-1573.946,76.64169
-1578.063,71.93213
-1579.726,61.67735
-1579.57,60.54532
-1578.23,54.0312
-1574.601,45.59658
-1570.894,52.8693
-1567.725,48.39549
-1563.177,43.51645
-1555.069,25.0616
-1541.767,9.581061
-1527.692,18.39748
-1515.007,16.44184
-1501.92,14.32027
-1490.76,26.46716
-1483.728,37.81801
-1478.436,35.96482
-1475.345,50.22443
-1478.28,71.72651
-1485.41,76.1095
-1492.481,72.78746
-1498.937,73.78825
-1505.128,72.46352
-1511.525,76.31317
-1517.471,70.96622
-1522.88,74.19914
-1528.641,74.2482
-1535.39,81.57578
-1541.278,70.22089
-1544.848,68.2123
-1547.264,63.6499
-1547.371,54.11656
-1545.171,49.12331
-1542.52,50.89368
-1539.84,48.48135
-1537.816,54.52997
-1536.886,54.98994
-1537.346,63.06376
-1541.503,78.29755
-1548.662,82.82697
-1550.482,45.99143
-1544.809,35.92283
-1533.756,11.44688
-1518.009,5.243145
-1503.915,19.64205
-1492.609,20.55502
-1483.464,31.21258
-1479.277,49.16108
-1478.886,53.42761
-1479.62,55.8742
-1479.786,50.1337
-1479.678,54.25177
-1479.933,52.29718
-1480.578,56.65665
-1480.842,50.10637
-1480.598,53.63382
-1479.004,41.93355
-1476.324,46.8269
-1474.172,44.68207
-1472.274,48.00023
-1472.079,54.57672
-1472.597,52.24992
-1474.455,62.71901
-1477.018,56.80586
-1479.698,63.90294
-1482.955,60.77087
-1485.019,57.28467
-1487.298,62.45473
-1490.075,60.72274
-1492.403,60.23314
-1493.763,55.25238
-1493.205,48.80926
-1492.892,56.64178
-1493.557,54.70619
-1494.144,56.28391
-1494.682,54.51154
-1494.007,48.99399
-1492.853,51.47742
-1488.951,32.13356
-1476.187,-2.118674
-1457.887,-2.126604
-1443.636,19.47982
-1434.912,28.30535
-1428.173,29.93163
-1421.649,28.65341
-1414.167,23.54668
-1406.841,28.56202
-1399.642,23.36224
-1392.786,29.56185
-1386.477,25.6082
-1378.163,17.51092
-1369.077,20.2835
-1360.695,20.3895
-1353.369,25.12762
-1349.398,37.92805
-1351.149,56.04457
-1358.328,68.17207
-1369.312,78.50098
-1382.037,80.05802
-1392.443,67.88512
-1400.953,71.3244
-1408.376,63.24284
-1413.912,61.8568
-1417.932,55.47812
-1421.189,58.15731
-1423.85,52.57276
-1425.894,55.04035
-1428.72,57.47088
-1430.657,50.33347
-1427.302,27.01298
-1417.443,12.22586
-1403.036,-0.1684303
-1384.237,-11.87013
-1363.287,-11.63743
-1342.004,-13.53146
-1318.618,-16.01462
-1282.605,-14.39375
-1220.908,-12.12208
-1141.722,-10.68284
-1074.528,-10.48296
-1022.054,-9.141874
-960.7875,-8.731186
-1216.514,-10.74907
-1109.274,-9.523954
-1005.743,-8.101731
-906.0809,-7.618393
-784.7748,-6.123598
-636.8536,-6.884468
-741.9532,-5.764419
-836.1458,-0.8582449
-600,-4.675195
-952.2463,0.009875298
-664.0984,-1.178708
-600,-1.123972
-600,-0.2031865
-600,-0.6548967
-600,-0.000296116
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,2.38E-07
-600,0
-600,0
-600,-2.38E-07
-600,0
-600,0
-600,0
-600,-2.38E-07
-600,0
-600,0
-600,2.38E-07
-600,0
-600,0
-600,0
-600,0
-600,0
-600,2.38E-07
-600,2.38E-07
-600,-2.38E-07
-600,0
-600,0
-600,0
-600,2.38E-07
-644.4445,0.2542183
-644.4445,3.043099
-644.4944,3.76886
-862.1945,7.244804
-644.4445,2.008217
-644.4445,1.282092
-644.4445,1.102336
-644.4445,1.300048
-644.4445,1.259131
-644.4445,1.073095
-645.6724,3.006216
-618.264,-0.3244839
-647.7556,5.489882
-701.8685,2.742796
-722.4244,2.271123
-743.2361,2.935951
-762.5648,2.234797
-772.9451,2.039693
-780.2573,1.936579
-786.3934,1.940598
-781.9448,0.7246585
-771.7178,1.247691
-769.2634,1.590314
-768.7009,1.456245
-766.1954,1.364901
-764.2012,1.504721
-766.3488,1.831629
-768.0362,1.460694
-768.0362,1.645372
-773.3542,2.075679
-774.5814,1.194392
-764.559,0.7873244
-745.3326,0.1385179
-715.4191,-0.332602
-677.2729,-0.594053
-635.803,-0.5641029
-981.9337,-3.01793
-839.9738,-0.6091862
-727.9713,-1.361682
-620.287,-0.3443129
-600,-0.198132
-600,-0.2130547
-644.4445,1.156704
-644.4445,2.928335
-840.5137,7.855536
-645.6799,4.915875
-718.7428,7.940886
-919.598,20.71529
-1104.653,9.702165
-1177.315,7.127035
-1343.756,30.38393
-1513.062,9.906143
-1007.81,36.38819
-1161.267,39.11203
-1278.037,27.3871
-1383.305,40.41537
-1511.207,46.64371
-1596.608,19.454
-1075.369,38.91386
-1144.645,51.12838
-1236.03,71.91323
-1345.194,84.24624
-1462.489,97.86935
-1569.923,84.68086
-1640.951,52.99866
-1686.982,50.89439
-1708.258,14.60182
-1146.06,-3.260405
-1143.091,26.43259
-1164.452,55.55766
-1202.272,69.78938
-1248.732,83.18002
-1301.019,92.7276
-1354.342,94.76001
-1401.919,84.77892
-1438.704,69.75992
-1467.953,66.90834
-1497.591,74.95674
-1527.323,71.09368
-1554.516,70.7477
-1580.204,69.72466
-1607.732,80.51578
-1633.071,65.80466
-1652.807,64.51868
-1671.334,64.05013
-1689.244,64.65747
-1706.105,62.52456
-1720.534,57.92768
-1723.772,23.39667
-1706.911,-12.77224
-1685.898,7.341925
-1671.979,9.75246
-1662.279,21.29147
-1658.504,29.84188
-1653.587,17.03524
-1638.794,-4.186825
-1617.648,-4.962307
-1597.884,-0.8135309
-1580.257,0.750226
-1562.563,-1.659951
-1548.537,11.91162
-1540.033,15.42424
-1535.115,23.01572
-1531.448,19.15309
-1516.118,-12.86069
-1492.284,-7.591835
-1467.55,-15.70515
-1435.373,-17.46522
-1392.904,-16.13951
-1347.977,-15.4994
-1312.535,-15.2666
-1292.543,4.540256
-1286.511,16.9544
-1287.236,22.45613
-1293.9,33.18174
-1303.345,30.53206
-1313.502,35.92642
-1331.949,54.6626
-1359.692,64.28005
-1396.867,85.87479
-1437.925,80.98814
-1474.281,77.60077
-1509.642,83.28379
-1543.23,76.9175
-1570.127,65.98427
-1588.654,52.43436
-1600.84,46.78295
-1606.805,32.59529
-1605.65,23.18912
-1600.504,19.00929
-1594.781,20.86993
-1590.656,23.9784
-1587.486,23.77216
-1582.017,16.08064
-1572.358,9.474892
-1555.805,-6.293793
-1535.33,-3.614192
-1510.986,-17.70457
-1482.517,-15.38637
-1448.754,-17.3886
-1398.587,-15.64723
-1329.799,-13.74466
-1273.492,-14.25001
-1241.248,-13.40315
-1205.269,-12.6376
-1165.85,-12.21276
-1135.151,-12.03583
-1120.372,9.679996
-1120.828,20.11432
-1124.12,16.3987
-1126.471,18.06844
-1130.287,20.00859
-1140.336,33.27053
-1156.029,34.36275
-1172.272,35.92491
-1186.231,29.97521
-1199.088,34.3232
-1218.381,47.54738
-1244.808,54.75484
-1274.137,58.20295
-1304.004,59.67457
-1330.377,51.92756
-1355.218,58.4916
-1371.65,30.14645
-1375.962,24.95364
-1378.676,25.82015
-1379.214,18.80646
-1374.31,10.07271
-1365.201,6.415627
-1355.783,8.765409
-1346.029,5.078839
-1331.237,-5.104489
-1306.892,-15.03027
-1262.704,-13.15916
-1218.341,-13.36216
-1187.789,-12.82549
-1158.756,-12.40262
-1140.404,3.783212
-1146.194,39.93061
-1168.859,45.34202
-1196.469,54.62985
-1230.943,66.16975
-1267.379,64.01351
-1307.698,81.99072
-1350.247,75.75098
-1391.923,86.11143
-1438.113,95.74863
-1481.187,83.65627
-1522.688,98.04447
-1564.162,89.97185
-1600.074,86.14787
-1628.449,69.52667
-1645.015,49.09846
-1644.383,11.60987
-1636.161,22.72835
-1636.631,41.04108
-1644.504,48.4262
-1655.387,52.34411
-1667.573,54.19073
-1678.724,50.02793
-1685.71,40.58485
-1688.384,35.37016
-1693.812,50.70958
-1703.243,50.27459
-1708.913,38.13729
-1712.647,43.88169
-1719.594,50.16351
-1728.071,50.19448
-1728.891,23.06607
-1720.413,16.42023
-1711.479,20.75814
-1701.872,13.39018
-1689.687,10.86072
-1670.811,-9.679937
-1650.241,3.8373
-1635.127,7.068507
-1619.717,2.065735
-1602.99,1.803795
-1589.608,12.44946
-1580.634,15.81511
-1574.991,22.96172
-1575.542,36.00331
-1579.236,33.46876
-1581.762,32.42493
-1582.434,27.48787
-1578.618,17.52039
-1570.772,13.83211
-1562.375,15.1992
-1551.869,6.441697
-1534.793,-5.906759
-1512.289,-10.30744
-1486.695,-15.03363
-1458.857,-16.87653
-1432.135,-12.41042
-1407.629,-11.31777
-1384.171,-10.03571
-1369.003,10.59928
-1365.08,20.52546
-1370.091,36.15165
-1380.638,36.95204
-1393.63,44.27267
-1412.734,56.37016
-1440.572,72.8304
-1467.684,57.35134
-1491.37,65.70872
-1518.066,69.83893
-1541.604,58.79247
-1561.153,59.73059
-1579.048,55.58046
-1595.762,57.87779
-1611.924,55.62059
-1625.601,51.2132
-1629.645,23.90257
-1619.246,2.099785
-1602.936,3.149794
-1587.781,5.188667
-1575.542,12.07873
-1570.329,27.7652
-1573.903,40.86924
-1581.722,42.21673
-1589.689,42.11393
-1595.95,37.23134
-1600.491,36.9001
-1604.898,37.1901
-1610.715,42.10384
-1618.87,45.72244
-1628.409,47.67087
-1640.151,54.35364
-1653.022,52.86154
-1665.678,55.06348
-1679.879,59.78596
-1695.907,63.27319
-1713.198,66.3249
-1731.269,68.31712
-1748.775,66.57999
-1763.997,62.08349
-1779.34,69.02579
-1793.984,61.35672
-1805.202,57.85924
-1812.82,48.92445
-1819.578,55.46923
-1825.906,48.01827
-1821.056,13.10841
-1805.565,6.840103
-1788.691,6.806072
-1772.488,8.286536
-1756.487,6.550629
-1737.798,-2.249373
-1717.807,0.735312
-1700.731,6.919925
-1685.226,5.433849
-1672.436,15.57636
-1664.362,21.22834
-1658.961,24.37656
-1650.268,9.386177
-1634.71,0.04979086
-1614.544,-6.336586
-1598.381,12.57801
-1590.025,18.29753
-1584.288,20.81376
-1584.234,36.87918
-1596.608,62.62403
-1613.859,54.64594
-1622.457,34.95087
-1624.271,32.25559
-1624.661,30.22398
-1624.849,31.59747
-1621.624,18.55824
-1611.064,6.372733
-1598.986,12.73059
-1591.785,22.058
-1592.013,37.18653
-1598.704,43.85127
-1607.947,46.47419
-1618.319,48.64143
-1621.906,24.24795
-1615.068,13.35699
-1603.111,6.432739
-1588.722,4.500189
-1572.573,-0.115675
-1553.629,-4.783992
-1532.751,-6.315992
-1514.761,3.077488
-1500.399,3.732917
-1482.651,-7.154562
-1463.519,-1.135713
-1440.935,-16.81416
-1414.158,-12.81345
-1390.943,-7.845296
-1368.922,-10.04424
-1346.889,-8.254794
-1323.471,-13.71456
-1296.762,-14.93286
-1265.673,-14.07961
-1236.546,-11.97013
-1207.23,-12.98112
-1174.139,-12.54039
-1146.973,-10.93499
-1124.362,-10.41155
-1093.918,-11.0197
-1057.509,-10.56761
-1037.759,6.854196
-1046.344,37.0987
-1073.335,48.63685
-1107.407,56.2469
-1148.129,68.77713
-1192.304,70.15498
-1231.884,63.05749
-1264.786,57.78709
-1296.44,63.90317
-1332.419,73.914
-1371.166,76.68737
-1406.42,69.01247
-1434.862,60.98241
-1458.468,57.80101
-1482.987,66.75755
-1509.669,67.63638
-1535.465,67.33713
-1560.091,67.14167
-1583.253,65.62291
-1599.443,46.44219
-1606.684,37.13651
-1604.884,16.46138
-1593.343,4.168659
-1584.033,23.15694
-1588.211,48.71681
-1600.585,51.11957
-1617.836,66.74638
-1638.794,65.8931
-1658.92,66.52989
-1676.91,60.87619
-1691.756,57.56428
-1704.331,54.48838
-1710.861,37.12782
-1711.546,34.04327
-1710.229,29.95877
-1712.661,47.48108
-1721.461,53.3045
-1730.906,50.78699
-1740.176,53.73991
-1751.045,57.7492
-1757.951,40.23434
-1759.778,39.63506
-1772.192,80.07209
-1797.208,88.74728
-1826.631,100.872
-1858.271,102.1546
-1885.397,88.15533
-1904.448,74.06339
-1916.432,62.34672
-1919.401,39.03856
-1902.46,-15.46535
-1863.511,-25.07789
-1823.273,-21.13098
-1791.996,-14.05958
-1770.969,13.06777
-1286.498,48.0114
-1294.058,67.24074
-1306.597,75.67068
-1322.628,88.41093
-1342.258,98.59779
-1363.062,99.24053
-1378.535,73.31172
-1388.825,73.33134
-1401.598,89.55661
-1416.387,87.50754
-1432.163,98.61768
-1449.387,99.54861
-1465.027,93.16014
-1475.385,71.32512
-1479.141,55.54146
-1483.825,77.69683
-1492.922,83.2123
-1504.218,93.1139
-1517.188,96.03044
-1530.509,98.30925
-1543.136,94.77704
-1552.281,79.19598
-1557.964,74.84485
-1563.461,79.22526
-1569.339,78.43729
-1574.591,76.46247
-1577.222,62.67551
-1577.242,60.19896
-1575.687,52.56088
-1572.498,49.43146
-1569.329,52.1115
-1564.947,41.14471
-1554.462,12.68271
-1539.967,14.31148
-1525.981,14.02893
-1511.818,11.48827
-1497.929,13.95845
-1487.532,30.92048
-1481.38,38.22163
-1478.329,48.67535
-1478.162,55.10718
-1479.678,58.7858
-1483.914,71.81812
-1490.819,75.78394
-1498.35,77.02534
-1505.099,72.51969
-1511.202,74.43957
-1517.911,77.50984
-1525.814,83.25037
-1532.593,72.12448
-1537.16,70.83592
-1542.236,76.25439
-1544.985,57.17952
-1544.32,55.29839
-1544.476,62.22943
-1544.496,54.4649
-1542.745,51.09521
-1539.38,44.02723
-1535.742,48.7935
-1534.999,61.51359
-1537.258,67.46387
-1540.965,71.03705
-1547.939,88.8294
-1549.738,39.71848
-1538.647,8.12237
-1524.67,20.05622
-1512.2,15.72904
-1500.873,25.39976
-1490.78,21.78333
-1482.358,34.10342
-1478.485,47.99138
-1477.977,53.7555
-1477.801,49.90863
-1479.15,62.92201
-1481.243,54.62078
-1481.116,49.8967
-1480.324,50.58609
-1479.63,50.35303
-1477.321,40.75677
-1473.565,41.27589
-1470.426,43.86224
-1468.401,47.451
-1466.954,46.9868
-1467.658,60.07456
-1470.602,60.51458
-1475.668,73.382
-1481.801,67.88359
-1484.911,56.28338
-1485.674,54.24988
-1486.251,55.29283
-1486.691,53.52103
-1486.77,53.17738
-1486.721,52.76431
-1487.024,55.30242
-1487.669,54.89172
-1489.019,59.68992
-1490.731,57.32771
-1492.951,63.0985
-1495.279,58.38214
-1494.584,45.10869
-1487.405,18.9328
-1470.866,-10.28922
-1452.928,8.639071
-1440.017,15.75091
-1429.552,21.4329
-1422.607,34.86482
-1417.512,31.21866
-1412.484,34.53926
-1407.31,29.69863
-1401.344,29.30284
-1395.877,31.73983
-1390.937,31.57141
-1385.724,29.53498
-1378.741,20.95574
-1371.111,25.03376
-1363.707,21.31329
-1355.785,21.27985
-1349.271,28.11312
-1347.491,46.42329
-1354.044,73.73386
-1364.627,69.82935
-1374.183,70.02986
-1382.281,63.41209
-1390.106,70.01546
-1398.41,67.56463
-1404.523,59.0325
-1409.433,61.78816
-1413.688,56.11639
-1417.443,59.66835
-1421.248,57.04577
-1423.116,49.10121
-1423.185,46.9263
-1420.573,33.6044
-1411.956,11.98207
-1397.891,1.452831
-1383.142,6.65378
-1367.718,-3.068421
-1348.968,-9.861969
-1325.562,-16.11518
-1284.092,-14.13637
-1214.697,-11.85796
-1141.781,-11.37294
-1079.028,-10.51758
-1008.215,-8.903414
-930.7995,-8.72839
-857.0523,-8.130159
-789.291,-8.076338
-726.7427,-8.857965
-898.0064,-7.569747
-769.9961,-6.515765
-649.1603,-7.147186
-784.9226,-4.621058
-892.3317,-0.6631382
-608.6652,-4.717086
-600,-6.420379
-606.6129,-1.587289
-600,-0.7637906
-600,-0.8728795
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,2.38E-07
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,-2.38E-07
-600,0
-600,0
-600,0
-600,-2.38E-07
-600,0
-600,0
-600,2.38E-07
-600,0
-600,0
-600,0
-600,0
-600,2.38E-07
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,2.38E-07
-600,0
-600,2.38E-07
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,2.38E-07
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,-2.38E-07
-600,-2.38E-07
-600,0
-600,0
-600,0
-600,0
-600,2.38E-07
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,2.38E-07
-600,0
-600,2.38E-07
-600,0
-600,0
-600,0
-600,-2.38E-07
-600,0
-600,2.38E-07
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,-2.38E-07
-600,0
-600,-2.38E-07
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,2.38E-07
-600,0
-600,0
-600,0
-600,-2.38E-07
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,2.38E-07
-600,0
-600,-2.38E-07
-600,0
-600,2.38E-07
-600,0
-600,0
-600,0
-600,0
-600,2.38E-07
-600,0
-600,-2.38E-07
-600,0
-600,-2.38E-07
-600,-2.38E-07
-600,0
-600,-2.38E-07
-600,0
-600,2.38E-07
-600,0
-600,0
-600,0
-600,2.38E-07
-600,0
-600,0
-600,0
-600,0
-600,0
-600,2.38E-07
-600,0
-600,2.38E-07
-600,0
-600,0
-600,0
-600,-2.38E-07
-600,0
-600,2.38E-07
-600,0
-600,2.38E-07
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,2.38E-07
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-644.4445,0.1401868
-644.4445,4.115141
-723.5632,6.148651
-878.7474,0.996314
-644.4445,5.992946
-614.2244,0.8715067
-1054.623,0.2505918
-1032.132,1.002764
-644.4445,1.849404
-644.4445,1.160477
-644.4445,1.181648
-646.017,3.313942
-655.8477,2.47095
-673.5912,1.926634
-697.6755,3.281785
-729.89,2.964346
-753.4118,2.586441
-769.7236,2.314295
-781.3311,2.144838
-788.3876,1.845007
-788.5922,1.371453
-785.2173,1.424252
-785.7797,1.820931
-787.4161,1.552712
-785.6775,1.431036
-786.0355,1.792017
-787.007,1.504555
-785.3195,1.483458
-784.6548,1.617746
-783.939,1.474823
-778.5699,1.072223
-772.178,1.335513
-761.5421,0.5722067
-687.8577,-4.410039
-1043.288,-1.19836
-644.4445,2.357286
-1002.265,-0.5849216
-866.3327,-2.573789
-732.1096,-0.3810852
-661.4896,-0.2707293
-600,-0.2227266
-644.5211,1.784207
-615.0692,-0.02452826
-600,-0.1297612
-644.4445,0.6420181
-666.7973,4.922177
-644.4445,8.587686
-693.5847,6.82707
-836.9651,12.78135
-995.8392,12.11045
-1190.252,24.46093
-1341.456,7.883049
-1453.439,21.57428
-1009.962,38.10797
-1173.415,42.39235
-1323.306,42.99743
-1399.727,9.089857
-937.9701,32.31821
-1005.795,44.4572
-1088.015,53.16226
-1172.164,54.589
-1265.583,73.96272
-1376.655,88.71164
-1496.45,101.4458
-1616.172,105.6161
-1668.748,5.478724
-1119.606,4.928539
-1124.671,35.79109
-1140.175,30.06963
-1160.328,48.58438
-1189.106,53.33678
-1224.844,69.88008
-1267.755,76.89536
-1310.533,75.63843
-1352.249,80.32765
-1392.649,77.89688
-1429.045,74.28435
-1463.412,76.94868
-1497.873,79.46665
-1531.421,78.96201
-1561.273,72.11664
-1587.056,69.5541
-1609.479,64.13884
-1630.585,67.9769
-1650.429,62.38124
-1668.137,63.00897
-1684.42,59.49305
-1702.746,72.43027
-1718.317,51.68219
-1722.2,31.7786
-1710.807,-2.869109
-1690.453,-1.062667
-1673.296,7.073107
-1662.924,21.68794
-1658.853,28.46225
-1655.051,22.32484
-1643,-0.4019394
-1623.586,-3.330098
-1604.414,-0.449111
-1587.123,1.748246
-1569.496,-2.081304
-1552.944,4.46729
-1542.894,18.06239
-1538.031,20.74931
-1530.547,9.303829
-1514.237,-7.018807
-1492.526,-7.514885
-1469.149,-12.08818
-1442.722,-15.80163
-1404.525,-18.5696
-1361.667,-17.84917
-1327.529,-17.22158
-1306.449,4.262201
-1300.712,18.62459
-1305.858,33.81105
-1310.184,16.66183
-1310.09,21.90794
-1317.331,37.01147
-1331.747,42.52515
-1353.015,57.90654
-1383.016,70.18417
-1420.392,83.79029
-1463.21,92.30715
-1502.401,78.82739
-1533.557,72.45618
-1561.099,71.36134
-1584.785,63.23337
-1600.343,46.89187
-1607.934,37.95928
-1609.116,25.84165
-1606.496,25.15568
-1602.882,22.27899
-1597.401,18.59029
-1590.777,18.05532
-1581.158,8.168066
-1565.438,-2.385445
-1544.224,-9.294456
-1521.841,-6.390518
-1499.485,-9.735824
-1475.06,-12.31793
-1438.369,-16.93306
-1388.027,-15.79407
-1334.837,-14.71431
-1282.574,-13.81453
-1232.73,-12.99281
-1186.607,-12.35547
-1153.933,-9.757157
-1138.281,3.688477
-1130.166,6.484842
-1124.469,9.161757
-1119.579,8.190273
-1116.717,13.7386
-1121.178,25.33872
-1131.012,26.74716
-1139.974,23.89797
-1153.758,39.14996
-1173.145,38.69012
-1197.14,52.6565
-1222.573,44.61408
-1247.831,55.10344
-1274.231,50.24755
-1302.956,64.64877
-1334.958,62.68685
-1361.681,53.49527
-1382.828,49.63818
-1393.616,25.17934
-1392.595,15.85793
-1388.47,16.01408
-1382.331,9.760792
-1375.264,12.98514
-1368.573,10.51227
-1357.852,1.127345
-1330.887,-15.09141
-1287.693,-14.09798
-1235.995,-12.79959
-1189.24,-12.6493
-1159.75,-9.993802
-1143.158,2.208033
-1140.753,21.87768
-1152.361,35.92246
-1169.356,35.89918
-1193.446,55.35715
-1227.665,64.36838
-1263.591,64.05273
-1304.172,82.13965
-1350.765,86.74195
-1399.89,97.1329
-1448.015,91.67886
-1490.363,87.14861
-1527.78,82.59544
-1565.411,93.79819
-1601.888,84.35611
-1629.712,69.70103
-1643.765,40.32787
-1644.598,25.34709
-1642.677,30.8411
-1647.957,50.22522
-1657.926,47.7007
-1664.052,37.76743
-1668.701,43.12788
-1677.555,53.11346
-1688.478,51.41099
-1698.5,51.11005
-1706.414,44.9026
-1708.993,32.6828
-1711.102,43.46721
-1718.371,51.58891
-1728.098,53.19771
-1735.42,43.84155
-1735.339,26.82102
-1726.916,13.36045
-1716.691,19.60794
-1707.085,14.90211
-1695.128,10.50889
-1682.271,10.91309
-1663.878,-8.54956
-1641.629,-3.117419
-1624.07,5.537962
-1609.197,4.835527
-1592.752,-0.4371243
-1577.893,9.274105
-1570.101,22.16969
-1571.847,40.37538
-1576.751,32.78808
-1579.035,32.08871
-1581.749,34.41856
-1583.133,27.87005
-1576.012,6.219936
-1561.421,2.702191
-1547.059,6.234878
-1534.363,7.427535
-1520.672,2.441157
-1500.385,-12.44278
-1474.039,-15.19112
-1448.391,-10.99723
-1411.539,-16.18276
-1375.237,-10.13539
-1357.798,3.94146
-1352.424,22.40654
-1358.053,35.1076
-1371.085,44.18404
-1390.486,54.94989
-1412.506,53.94309
-1436.112,62.30517
-1459.811,56.89755
-1483.336,64.70206
-1510.018,69.77424
-1535.801,65.16431
-1559.043,64.80313
-1580.728,62.89471
-1598.556,54.45824
-1613.254,54.38581
-1626.582,51.40335
-1634.75,38.01902
-1625.87,-5.708029
-1605.435,-1.783062
-1588.211,3.508634
-1575.972,13.76913
-1574.601,38.87314
-1576.764,25.41134
-1576.509,31.0111
-1580.378,39.14088
-1587.109,40.92192
-1594.552,42.17134
-1602.21,42.3647
-1609.64,42.14173
-1617.876,45.85305
-1627.146,46.51075
-1637.773,51.51218
-1651.907,59.8804
-1668.016,60.05737
-1682.956,57.66072
-1698.594,64.39252
-1714.26,59.62116
-1729.025,63.08392
-1743.723,61.17331
-1759.321,68.29936
-1774.275,60.68742
-1787.293,62.94482
-1799.157,57.8984
-1810.375,61.97612
-1821.647,59.47066
-1829.144,48.76117
-1827.075,23.35892
-1814.029,6.402053
-1794.32,-2.592016
-1771.735,-4.909734
-1752.711,9.03825
-1737.462,7.341007
-1721.273,4.683862
-1704.694,4.982325
-1688.128,3.812349
-1674.545,14.56831
-1666.793,23.51281
-1662.064,24.63626
-1654.984,14.94999
-1635.731,-15.84564
-1610.997,-4.315684
-1594.74,9.832749
-1588.036,26.32848
-1590.885,41.41418
-1599,44.31393
-1604.347,32.80503
-1609.748,45.03335
-1620.321,50.97161
-1629.86,42.54122
-1630.612,21.65488
-1626.286,25.14294
-1622.995,24.88023
-1619.287,23.46855
-1613.268,16.73643
-1607.706,24.57117
-1610.003,43.01642
-1616.519,39.12624
-1621.208,37.39355
-1624.634,35.22969
-1627.952,37.3392
-1624.594,12.60667
-1610.554,0.67381
-1592.725,-0.8326931
-1573.647,-3.764307
-1556.383,4.200647
-1540.61,-0.05308342
-1524.676,2.95549
-1506.149,-7.869933
-1484.451,-6.838203
-1463.063,-7.529763
-1441.418,-8.017014
-1419.842,-7.811407
-1398.13,-8.783758
-1377.628,-5.129324
-1358.174,-6.480177
-1330.162,-16.99247
-1294.518,-16.31282
-1264.088,-13.97139
-1238.279,-14.27002
-1205.672,-13.58043
-1175.577,-8.778869
-1153.073,-12.24656
-1128.594,-11.99461
-1095.57,-10.9451
-1059.322,-10.66192
-1040.862,6.466439
-1046.922,32.05039
-1070.836,46.81862
-1105.593,59.44982
-1144.421,60.56117
-1185.277,69.68872
-1225.22,63.52172
-1258.217,56.72657
-1292.812,72.29202
-1331.452,72.35333
-1366.88,68.45086
-1393.737,51.85317
-1417.343,62.23331
-1449.023,79.29785
-1486.588,84.81449
-1520.337,72.50204
-1545.353,61.22117
-1565.129,58.47639
-1583.576,59.16581
-1597.441,45.13127
-1602.506,30.88554
-1600.343,21.15592
-1593.612,15.33718
-1586.666,19.96346
-1587.996,42.56586
-1600.719,58.4817
-1618.574,61.39739
-1637.37,63.87596
-1655.736,62.19775
-1672.167,59.32374
-1687.886,61.68731
-1702.047,55.59766
-1710.914,44.22459
-1715.953,42.70472
-1719.231,38.34271
-1721.891,40.7861
-1725.048,40.4108
-1728.743,43.06327
-1735.541,52.16247
-1744.341,51.14399
-1753.557,54.70576
-1763.137,53.5337
-1773.912,60.3172
-1790.531,76.9442
-1814.647,91.22339
-1844.93,104.5918
-1876.086,99.57632
-1900.511,82.78519
-1919.052,79.66685
-1921.161,18.51604
-1896.575,-24.33028
-1849.753,-24.22952
-1809.65,-2.914296
-1783.061,-16.90625
-1283.055,17.62789
-1281.148,47.45848
-1288.122,63.8209
-1299.731,73.06547
-1314.197,81.21303
-1332.148,94.84081
-1352.77,99.70914
-1374.041,103.1989
-1391.799,84.65783
-1404.758,79.80271
-1417.834,88.10941
-1433.956,100.3611
-1452.571,106.4864
-1469.02,91.7476
-1477.869,64.48682
-1482.045,65.40362
-1486.32,65.86734
-1494.467,89.83578
-1506.898,93.77473
-1519.525,93.85491
-1531.702,93.87712
-1542.725,89.39608
-1552.242,86.8752
-1559.959,80.07738
-1564.449,67.961
-1567.041,68.89693
-1570.2,72.11388
-1572.977,67.08501
-1574.21,62.75511
-1574.21,59.41563
-1573.936,60.99732
-1572.4,51.27596
-1568.263,44.06831
-1559.519,21.27699
-1545.63,10.24199
-1530.617,12.39669
-1515.183,5.857883
-1498.36,2.09445
-1486.505,33.94199
-1482.349,47.08876
-1480.05,44.51606
-1479.463,57.02282
-1482.084,63.77707
-1487.796,76.23621
-1495.289,75.71186
-1501.538,70.15787
-1507.818,77.17599
-1514.703,75.15352
-1520.865,74.11327
-1527.096,76.84986
-1532.231,68.53654
-1536.417,71.96849
-1540.564,69.12055
-1543.713,66.52328
-1546.735,68.94624
-1547.489,52.78967
-1545.386,51.08469
-1542.256,45.96298
-1539.361,52.00807
-1537.405,51.35246
-1535.859,54.2338
-1536.554,65.10095
-1540.671,75.84949
-1547.195,81.08743
-1550.257,55.29021
-1545.806,34.30048
-1535.243,16.24277
-1523.33,24.33566
-1512.464,21.15258
-1502.918,30.91319
-1494.076,24.17211
-1485.987,34.19572
-1480.725,40.09128
-1478.27,50.29652
-1478.016,52.946
-1478.182,52.7861
-1478.378,53.15138
-1480.079,61.90357
-1482.192,55.92644
-1482.075,48.81292
-1479.982,43.98728
-1478.104,49.7599
-1476.93,47.92091
-1476.646,54.91663
-1477.908,57.17506
-1478.681,52.18999
-1479.786,59.31868
-1481.165,54.03209
-1482.339,58.32693
-1484.236,58.61423
-1487.024,64.06499
-1489.743,58.70241
-1491.484,58.62561
-1492.824,56.57703
-1493.381,54.10405
-1492.256,46.44337
-1490.926,52.65959
-1491.445,57.45026
-1492.804,57.86545
-1494.702,60.97232
-1495.856,53.67446
-1488.354,8.644087
-1473.771,9.854107
-1459.911,11.31598
-1449.71,29.82105
-1444.35,38.53183
-1441.259,42.37823
-1436.486,28.24177
-1429.513,28.8433
-1421.864,23.41715
-1414.392,28.83934
-1409.071,34.798
-1403.584,27.19031
-1396.982,27.69853
-1388.531,15.91847
-1377.224,10.64097
-1366.25,16.52416
-1358.612,27.90209
-1355.629,41.29479
-1355.726,44.49744
-1358.876,58.18682
-1366.27,68.5884
-1376.618,76.04653
-1388.952,81.80117
-1400.522,74.14407
-1408.504,63.53102
-1415.252,68.5932
-1420.651,56.93834
-1423.263,53.41837
-1425.219,53.58304
-1426.207,48.11959
-1426.852,51.75898
-1427.38,47.54124
-1423.742,27.67442
-1415.125,18.26986
-1402.381,3.03742
-1388.482,10.29751
-1373.977,-1.384802
-1355.462,-10.03899
-1330.062,-15.91993
-1282.331,-13.68837
-1209.601,-11.78776
-1130.279,-10.6761
-1056.59,-9.85384
-995.0887,-9.493731
-932.1101,-8.854118
-860.5636,-8.522646
-799.4923,-8.632871
-742.3431,-8.777902
-916.95,-7.472395
-784.6405,-6.526037
-659.1023,-7.239723
-802.2018,-4.796231
-600,-4.862612
-980.1921,3.036931
-655.1318,-1.243356
-600,-3.643281
-600,-2.117112
-600,-0.4603643
-600,-2.24E-05
-600,0
-600,0
-600,0
-600,0
-600,-2.38E-07
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,-2.38E-07
-600,0
-600,0
-600,0
-600,0
-600,0
-600,2.38E-07
-600,0
-600,2.38E-07
-600,0
-600,0
-600,-2.38E-07
-600,-2.38E-07
-644.4445,1.714838
-644.4445,1.621784
-644.4445,3.298661
-755.8596,3.870013
-644.4445,3.134853
-644.4445,1.420932
-644.4445,1.825752
-644.4445,1.360866
-991.1098,0.8516321
-644.4445,2.159252
-644.4445,1.824742
-644.4445,1.209069
-645.8011,2.986922
-651.5524,2.650311
-659.7339,0.760689
-685.8124,4.595871
-737.2534,3.604281
-762.7693,2.212489
-770.3373,1.737349
-772.536,1.632224
-772.3826,1.47518
-768.9055,1.248654
-770.1327,2.003068
-775.6552,1.749856
-776.7802,1.519026
-774.1212,1.315794
-769.7236,1.307899
-770.2861,1.870355
-770.2861,1.245239
-768.343,1.646059
-768.3942,1.467183
-762.5137,0.9683771
-717.0042,-2.388535
-628.3375,-2.716046
-644.4445,1.232642
-1006.313,0.3278913
-950.627,-0.5628872
-846.9909,-1.407126
-722.4837,-1.039502
-621.8163,-0.4376612
-600,0.0385704
-644.4445,1.879608
-602.8344,0.04388237
-600,-0.00674057
-644.4445,1.93153
-794.813,7.284958
-644.8845,6.377717
-738.2761,9.556376
-924.2001,17.0417
-1082.921,9.743132
-1157.014,6.99104
-775.9276,22.85481
-919.729,33.17456
-1086.138,42.19983
-1261.492,50.43425
-1375.494,19.51903
-1401.449,6.091826
-926.2782,23.43933
-980.7605,39.51251
-1054.848,47.15857
-1133.927,51.68547
-1226.62,71.72372
-1337.942,86.13082
-1457.344,97.89137
-1580.828,109.5713
-1657.092,36.67658
-1123.368,1.461304
-1122.441,25.1924
-1136.454,37.02988
-1161.309,52.76898
-1193.459,57.73195
-1230.285,68.77976
-1273.533,79.75322
-1318.352,79.31004
-1356.562,67.54053
-1392.273,77.71348
-1426.908,69.05838
-1460.725,80.27706
-1498.424,86.01363
-1534.793,81.56979
-1565.21,71.81206
-1590.119,67.43898
-1612.582,66.8174
-1634.24,67.57295
-1656.032,70.10327
-1677.488,69.22984
-1696.042,62.52128
-1711.774,61.43768
-1725.102,55.68619
-1731.578,37.91976
-1722.254,-1.090255
-1702.517,-0.3800182
-1681.747,-5.168064
-1664.59,11.20999
-1654.514,18.04026
-1645.996,15.99401
-1635.436,10.42183
-1621.665,4.338938
-1605.22,0.5969486
-1587.795,0.2512197
-1570.517,0.3162355
-1554.072,2.230137
-1541.806,13.14601
-1533.597,14.75539
-1525.832,14.09572
-1514.506,2.944591
-1496.1,-7.84253
-1471.352,-15.42717
-1440.169,-20.01007
-1400.468,-18.50732
-1353.19,-17.0692
-1315.531,-12.80798
-1294.491,-3.285613
-1284.173,13.58008
-1289.225,37.47305
-1302.015,35.04106
-1311.339,28.96468
-1316.942,25.44615
-1328.926,47.30635
-1352.921,60.59223
-1385.233,74.25334
-1422.945,80.9559
-1461.329,81.75445
-1495.643,73.77378
-1525.133,71.24657
-1553.333,73.6284
-1578.726,65.64669
-1596.568,51.4837
-1607.732,45.11185
-1612.851,32.04094
-1610.876,21.44158
-1605.126,19.07754
-1598.368,17.63783
-1591.677,18.84343
-1582.676,9.494823
-1569.455,4.294639
-1552.541,-2.913902
-1532.455,-5.940009
-1507.855,-16.18926
-1475.826,-18.23104
-1433.29,-16.7917
-1382.384,-15.64154
-1326.494,-14.32655
-1274.366,-13.89831
-1227.275,-12.87859
-1182.348,-12.34522
-1151.286,-9.173134
-1131.402,-6.310503
-1119.781,8.727276
-1118.289,16.43811
-1118.921,13.66425
-1120.828,19.48628
-1124.819,18.68554
-1130.757,24.36229
-1141.048,29.49514
-1158.46,42.48001
-1180.763,43.03611
-1203.146,44.87235
-1225.918,46.25666
-1248.597,46.92699
-1272.592,52.15644
-1299.516,57.51007
-1329.074,62.6179
-1359.343,63.1154
-1380.947,40.95043
-1388.403,23.98634
-1388.417,19.74684
-1385.165,14.44612
-1379.603,12.82719
-1372.187,8.792199
-1363.065,7.554926
-1349.723,-3.177336
-1329.396,-11.0907
-1300.833,-14.74182
-1261.575,-13.61232
-1217.468,-12.85518
-1175.268,-12.22688
-1141.546,-12.1833
-1126.955,11.26167
-1134.532,35.89684
-1157.695,49.54621
-1189.052,58.5972
-1222.466,58.37698
-1257.343,66.71474
-1300.538,85.77503
-1352.393,97.63816
-1402.304,88.47597
-1444.938,84.01994
-1484.008,84.11902
-1521.116,83.72038
-1557.216,86.50259
-1591.624,83.49979
-1623.855,84.3294
-1647.595,58.56056
-1655.346,31.51854
-1647.595,5.291959
-1637.236,21.8509
-1638.069,43.26761
-1647.353,51.25405
-1657.993,48.95843
-1668.862,53.2352
-1680.014,51.13348
-1689.217,47.52374
-1696.109,43.85042
-1700.18,38.1036
-1701.886,35.75303
-1704.895,42.96144
-1713.521,56.36014
-1723.759,49.71629
-1725.169,25.28842
-1717.766,17.81898
-1708.886,19.36817
-1699.602,15.74377
-1685.428,1.331335
-1668.258,4.265698
-1651.088,0.4824829
-1632.682,-0.7735591
-1616.546,7.333869
-1601.297,1.405253
-1587.109,10.06296
-1578.108,17.9458
-1571.148,16.3085
-1567.669,28.97894
-1571.471,40.18153
-1577.49,36.66446
-1581.507,34.05357
-1584.664,34.14597
-1581.897,14.52561
-1573.567,15.4157
-1560.951,-0.06234074
-1539.428,-12.5987
-1514.842,-9.453217
-1487.81,-18.44072
-1460.886,-9.728415
-1437.804,-9.730576
-1416.16,-6.372715
-1395.067,-8.671995
-1373.544,-7.898953
-1360.901,15.09554
-1358.859,20.97911
-1363.857,35.19839
-1379.617,52.60059
-1405.99,68.11739
-1434.069,60.73365
-1456.748,55.0891
-1477.304,56.83291
-1499.552,62.82561
-1522.835,62.77331
-1543.606,57.48309
-1563.611,62.81192
-1585.403,65.84775
-1604.911,57.73931
-1619.407,51.10355
-1625.279,29.70323
-1619.824,12.86922
-1606.134,1.337738
-1587.701,-3.369208
-1572.465,11.06384
-1564.538,19.60567
-1563.638,33.72519
-1569.052,40.41961
-1578.041,46.10619
-1586.653,40.0111
-1594.445,44.22099
-1602.896,42.9819
-1610.231,41.26826
-1616.559,40.2604
-1624.123,46.1275
-1634.065,49.20351
-1644.907,50.29093
-1656.059,51.45343
-1668.943,57.63499
-1688.625,77.20282
-1711.116,70.17025
-1728.34,61.05583
-1744.61,68.95058
-1762.868,70.50829
-1779.366,64.74032
-1794.387,67.11285
-1807.486,59.31385
-1818.275,59.92589
-1828.835,59.76006
-1834.155,40.87052
-1824.254,1.570856
-1803.939,0.1671991
-1785.896,8.91948
-1769.089,3.76696
-1750.548,1.465682
-1734.198,10.69146
-1720.507,10.2054
-1707.327,11.65767
-1695.45,14.03399
-1684.931,15.71651
-1675.325,16.56543
-1665.933,15.82545
-1654.339,8.25458
-1639.587,4.160066
-1622.202,-1.38369
-1608.431,15.49589
-1602.748,25.05814
-1601.189,29.03644
-1603.151,36.84112
-1608.673,41.2834
-1614.087,36.97735
-1619.031,40.19678
-1622.941,33.88109
-1623.505,29.08438
-1621.114,23.80924
-1615.149,16.70804
-1607.464,17.53648
-1602.546,25.54437
-1600.706,27.58181
-1600.195,29.89292
-1602.318,36.44426
-1608.995,45.53632
-1616.116,38.564
-1619.327,32.86123
-1617.164,20.48985
-1607.571,7.451408
-1591.973,-0.2941513
-1573.177,-3.498985
-1552.541,-6.302647
-1531.81,-4.429373
-1511.698,-5.13943
-1493.265,-0.3575616
-1477.143,0.7890692
-1461.141,-0.5568328
-1445.449,1.121991
-1430.375,0.6806421
-1410.706,-11.54041
-1385.824,-13.42626
-1360.619,-12.66673
-1335.24,-14.07331
-1309.62,-13.46232
-1274.366,-13.88826
-1237.862,-13.81937
-1212.241,-11.44095
-1184.081,-12.65552
-1148.102,-11.87495
-1115.508,-11.77358
-1087.442,-11.19799
-1054.593,-10.48865
-1033.607,5.6588
-1040.043,33.29015
-1064.535,46.21249
-1097.908,56.06443
-1138.16,66.53667
-1181.515,68.95843
-1223.258,68.46669
-1261.723,66.08852
-1300.779,75.51466
-1341.756,76.87059
-1377.36,65.75189
-1406.339,62.23019
-1433.908,65.22336
-1459.475,59.45428
-1483.82,64.64926
-1510.354,69.41556
-1536.862,67.94376
-1560.467,63.31855
-1581.225,61.46338
-1596.42,47.04777
-1600.343,25.01183
-1593.115,9.831497
-1584.181,18.76838
-1581.493,30.10958
-1586.962,45.85008
-1600.37,57.38508
-1617.769,60.89524
-1636.443,63.86408
-1655.078,63.03837
-1671.496,58.34701
-1686.221,59.03419
-1700.287,57.73484
-1710.955,48.39701
-1717.229,43.00974
-1721.3,41.04623
-1725.115,42.49238
-1729.374,43.04696
-1732.33,38.14999
-1734.453,40.29311
-1737.193,40.62325
-1742.259,49.12432
-1749.527,49.27705
-1758.905,57.77568
-1780.186,95.1664
-1817.066,120.4318
-1863.283,138.34
-1894.667,69.34295
-1907.269,68.27747
-1919.079,67.84028
-1917.762,16.49406
-1889.951,-25.8662
-1839.596,-23.89131
-1797.746,-6.402427
-1288.914,-15.27851
-1277.128,32.77653
-1281.275,63.12198
-1290.283,58.78977
-1302.49,81.71949
-1320.926,94.45592
-1342.199,101.122
-1364.574,105.4511
-1384.497,92.51437
-1399.036,79.38459
-1412.044,86.92896
-1425.375,83.94568
-1438.726,89.94231
-1452.996,92.26556
-1465.477,82.38766
-1473.311,67.06986
-1478.475,67.91246
-1485.547,79.625
-1497.763,100.7359
-1512.278,96.41169
-1525.707,97.44376
-1538.334,94.52263
-1549.249,89.58551
-1557.71,81.4274
-1564.057,77.99872
-1569.036,74.02861
-1572.312,68.13066
-1575.041,71.18874
-1576.86,62.82628
-1576.352,56.58434
-1574.357,53.18288
-1571.52,50.82687
-1567.755,46.73517
-1562.385,39.9514
-1553.406,22.98973
-1541.513,20.22375
-1527.653,9.152882
-1512.63,11.24
-1497.871,9.012047
-1484.578,18.34523
-1477.82,46.65918
-1476.558,50.44249
-1476.832,55.68708
-1479.131,62.68777
-1483.698,69.81506
-1490.535,77.33602
-1498.018,75.10793
-1505.011,75.88093
-1512.151,77.44696
-1520.327,83.79372
-1527.986,75.92196
-1532.671,66.83388
-1536.348,70.5734
-1539.762,65.89542
-1543.273,71.87601
-1547.303,69.85374
-1549.034,58.16096
-1547.87,51.91158
-1546.364,55.78762
-1544.672,50.47578
-1541.356,45.2815
-1538.324,51.6749
-1537.356,57.68959
-1538.872,67.07841
-1544.251,82.28827
-1545.288,40.75605
-1538.011,30.25864
-1530.314,36.96606
-1522.196,26.52944
-1511.906,22.36277
-1500.12,15.97792
-1489.616,28.55366
-1482.329,34.04303
-1478.945,50.99249
-1479.502,57.25879
-1480.607,54.3908
-1481.048,53.44007
-1481.713,55.82595
-1482.329,53.25982
-1482.818,55.16615
-1481.811,44.30854
-1479.307,45.96726
-1476.646,42.96669
-1473.575,43.07121
-1471.717,49.74657
-1470.788,48.34003
-1472.177,63.49163
-1475.942,62.85665
-1479.972,65.78904
-1484.334,65.62042
-1488.217,63.7094
-1490.124,54.34649
-1490.183,52.82955
-1489.342,48.89529
-1488.755,54.22676
-1487.777,46.42638
-1486.192,50.38337
-1485.576,52.02367
-1487.601,66.28146
-1491.67,64.79538
-1494.985,62.46672
-1496.091,51.93176
-1492.462,33.85468
-1486.104,34.78819
-1476.089,10.9714
-1464.117,21.67854
-1454.757,25.02648
-1445.866,23.2522
-1436.829,23.01534
-1428.603,26.81799
-1421.473,28.30663
-1413.345,20.16391
-1404.963,25.78935
-1396.278,17.4505
-1387.201,22.49283
-1379.914,26.44587
-1372.432,20.53219
-1364.392,22.42527
-1357.027,23.32439
-1350.679,27.14028
-1350.269,55.12245
-1357.262,67.91344
-1367.101,72.15673
-1377.987,75.64056
-1389.636,78.59641
-1399.104,65.48586
-1405.217,61.24613
-1409.795,57.77759
-1413.922,59.46923
-1417.404,54.76487
-1420.857,59.91445
-1423.595,51.20931
-1424.886,51.9877
-1425.776,49.09315
-1423.556,34.09339
-1418.059,29.80763
-1405.119,-7.826694
-1385.391,-8.599997
-1365.175,-11.35708
-1344.4,-11.20156
-1318.843,-15.60458
-1278.125,-14.10385
-1212.223,-11.80592
-1143.825,-11.62002
-1080.622,-10.19347
-1005.036,-8.704713
-942.2039,-9.229837
-877.6898,-7.629379
-796.7341,-8.281475
-1005.85,-9.090136
-922.6464,-8.02299
-814.1037,-6.777267
-680.4239,-6.171268
-600,-6.54746
-881.2298,-1.826855
-625.3334,-5.014571
-600,-5.152775
-600,-4.932726
-600,-1.280655
-600,-0.4310925
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
-600,0
diff --git a/Declaration/SegmentTable.csv b/Declaration/SegmentTable.csv
index 14f6a58f61c9dccf5736da38fc29eed49e41e503..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.vcdv,???,???,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.vcdv,-,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.vcdv,RigidSolo.vcdv,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.vcdv,-,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.vcdv,RigidSolo.vcdv,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.vcdv,TractorSemitrailer.vcdv,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.vcdv,???,???,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.vcdv,???,???,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.vcdv,???,???,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.vcdv,RigidSolo.vcdv,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.vcdv,TractorSemitrailer.vcdv,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.vcdv,???,???,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.vcdv,???,???,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.vcdv,???,???,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.vcdv,???,???,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.vcdv,???,???,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.vcdv,???,???,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.vcdv,???,???,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.vcdv,???,???,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.vcdv,???,???,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.vcdv,???,???,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.vcdv,???,???,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.vcdv,???,???,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.vcdv,???,???,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
new file mode 100644
index 0000000000000000000000000000000000000000..7a6e9b270ebc04b4494ded8c808d2c6369cb4fca
--- /dev/null
+++ b/Declaration/VCDV/paramerters.csv
@@ -0,0 +1,6 @@
+Parameters,a1,a2,a3
+RigidSolo,0.013526,0.017746,-0.000666
+RigidTrailer,0.017125,0.072275,-0.004148
+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/VECTO.sln b/VECTO.sln
index 1ba7acc4363b63000361fd823168694232b079e2..3e14e7442e5fe31d35c8ba39ff7f1a0a0c546423 100644
--- a/VECTO.sln
+++ b/VECTO.sln
@@ -59,7 +59,4 @@ Global
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
 	EndGlobalSection
-	GlobalSection(Performance) = preSolution
-		HasPerformanceSessions = true
-	EndGlobalSection
 EndGlobal
diff --git a/VECTO.sln.DotSettings b/VECTO.sln.DotSettings
index 20c32e9f89eb92546fd549e46252160406dfe6ea..519ebe2c3f9db225ac68a45e912e6e7854fe41ad 100644
--- a/VECTO.sln.DotSettings
+++ b/VECTO.sln.DotSettings
@@ -1,4 +1,6 @@
 <wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
+	<s:String x:Key="/Default/CodeStyle/CodeCleanup/SilentCleanupProfile/@EntryValue">Default: Reformat Code</s:String>
+	<s:String x:Key="/Default/CodeStyle/CodeFormatting/CommonFormatter/ALIGNMENT_TAB_FILL_STYLE/@EntryValue">USE_TABS_ONLY</s:String>
 	<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/ANONYMOUS_METHOD_DECLARATION_BRACES/@EntryValue">END_OF_LINE</s:String>
 	<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/CASE_BLOCK_BRACES/@EntryValue">END_OF_LINE</s:String>
 	<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/EMPTY_BLOCK_STYLE/@EntryValue">TOGETHER_SAME_LINE</s:String>
@@ -14,15 +16,65 @@
 	<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/PLACE_ELSE_ON_NEW_LINE/@EntryValue">False</s:Boolean>
 	<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/PLACE_FINALLY_ON_NEW_LINE/@EntryValue">False</s:Boolean>
 	<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/SIMPLE_EMBEDDED_STATEMENT_STYLE/@EntryValue">LINE_BREAK</s:String>
+	<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/SPACE_AFTER_TYPECAST_PARENTHESES/@EntryValue">False</s:Boolean>
 	<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/SPACE_AROUND_MULTIPLICATIVE_OP/@EntryValue">True</s:Boolean>
+	<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/SPACE_BEFORE_TYPEOF_PARENTHESES/@EntryValue">False</s:Boolean>
 	<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/SPACE_WITHIN_SINGLE_LINE_ARRAY_INITIALIZER_BRACES/@EntryValue">True</s:Boolean>
 	<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=CSV/@EntryIndexedValue">CSV</s:String>
 	<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=PT/@EntryIndexedValue">PT</s:String>
 	<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=RP/@EntryIndexedValue">RP</s:String>
 	<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=SI/@EntryIndexedValue">SI</s:String>
-	<s:Boolean x:Key="/Default/Environment/InjectedLayers/FileInjectedLayer/=2BF7A1E51991F2458D2D1F0B29CF888B/@KeyIndexDefined">True</s:Boolean>
-	<s:String x:Key="/Default/Environment/InjectedLayers/FileInjectedLayer/=2BF7A1E51991F2458D2D1F0B29CF888B/AbsolutePath/@EntryValue">C:\Workspaces\VisualStudio\VECTO_quam\VECTO.sln.DotSettings</s:String>
-	<s:Boolean x:Key="/Default/Environment/InjectedLayers/InjectedLayerCustomization/=File2BF7A1E51991F2458D2D1F0B29CF888B/@KeyIndexDefined">True</s:Boolean>
-	<s:Double x:Key="/Default/Environment/InjectedLayers/InjectedLayerCustomization/=File2BF7A1E51991F2458D2D1F0B29CF888B/RelativePriority/@EntryValue">1</s:Double>
+	<s:String x:Key="/Default/CodeStyle/Naming/JavaScriptNaming/UserRules/=JS_005FBLOCK_005FSCOPE_005FCONSTANT/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /&gt;</s:String>
+	<s:String x:Key="/Default/CodeStyle/Naming/JavaScriptNaming/UserRules/=JS_005FBLOCK_005FSCOPE_005FVARIABLE/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /&gt;</s:String>
+	<s:String x:Key="/Default/CodeStyle/Naming/JavaScriptNaming/UserRules/=JS_005FCONSTRUCTOR/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /&gt;</s:String>
+	<s:String x:Key="/Default/CodeStyle/Naming/JavaScriptNaming/UserRules/=JS_005FFUNCTION/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /&gt;</s:String>
+	<s:String x:Key="/Default/CodeStyle/Naming/JavaScriptNaming/UserRules/=JS_005FGLOBAL_005FVARIABLE/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /&gt;</s:String>
+	<s:String x:Key="/Default/CodeStyle/Naming/JavaScriptNaming/UserRules/=JS_005FLABEL/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /&gt;</s:String>
+	<s:String x:Key="/Default/CodeStyle/Naming/JavaScriptNaming/UserRules/=JS_005FLOCAL_005FVARIABLE/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /&gt;</s:String>
+	<s:String x:Key="/Default/CodeStyle/Naming/JavaScriptNaming/UserRules/=JS_005FOBJECT_005FPROPERTY_005FOF_005FFUNCTION/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /&gt;</s:String>
+	<s:String x:Key="/Default/CodeStyle/Naming/JavaScriptNaming/UserRules/=JS_005FPARAMETER/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /&gt;</s:String>
+	<s:String x:Key="/Default/CodeStyle/Naming/JavaScriptNaming/UserRules/=TS_005FCLASS/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /&gt;</s:String>
+	<s:String x:Key="/Default/CodeStyle/Naming/JavaScriptNaming/UserRules/=TS_005FENUM/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /&gt;</s:String>
+	<s:String x:Key="/Default/CodeStyle/Naming/JavaScriptNaming/UserRules/=TS_005FENUM_005FMEMBER/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /&gt;</s:String>
+	<s:String x:Key="/Default/CodeStyle/Naming/JavaScriptNaming/UserRules/=TS_005FINTERFACE/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="I" Suffix="" Style="AaBb" /&gt;</s:String>
+	<s:String x:Key="/Default/CodeStyle/Naming/JavaScriptNaming/UserRules/=TS_005FINTERFACE_005FFOR_005FJS_005FGLOBAL_005FVARIABLE/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /&gt;</s:String>
+	<s:String x:Key="/Default/CodeStyle/Naming/JavaScriptNaming/UserRules/=TS_005FMODULE/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /&gt;</s:String>
+	<s:String x:Key="/Default/CodeStyle/Naming/JavaScriptNaming/UserRules/=TS_005FMODULE_005FEXPORTED/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /&gt;</s:String>
+	<s:String x:Key="/Default/CodeStyle/Naming/JavaScriptNaming/UserRules/=TS_005FMODULE_005FLOCAL/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /&gt;</s:String>
+	<s:String x:Key="/Default/CodeStyle/Naming/JavaScriptNaming/UserRules/=TS_005FPRIVATE_005FMEMBER_005FACCESSOR/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /&gt;</s:String>
+	<s:String x:Key="/Default/CodeStyle/Naming/JavaScriptNaming/UserRules/=TS_005FPRIVATE_005FSTATIC_005FTYPE_005FFIELD/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /&gt;</s:String>
+	<s:String x:Key="/Default/CodeStyle/Naming/JavaScriptNaming/UserRules/=TS_005FPRIVATE_005FTYPE_005FFIELD/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /&gt;</s:String>
+	<s:String x:Key="/Default/CodeStyle/Naming/JavaScriptNaming/UserRules/=TS_005FPRIVATE_005FTYPE_005FMETHOD/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /&gt;</s:String>
+	<s:String x:Key="/Default/CodeStyle/Naming/JavaScriptNaming/UserRules/=TS_005FPROTECTED_005FMEMBER_005FACCESSOR/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /&gt;</s:String>
+	<s:String x:Key="/Default/CodeStyle/Naming/JavaScriptNaming/UserRules/=TS_005FPROTECTED_005FSTATIC_005FTYPE_005FFIELD/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /&gt;</s:String>
+	<s:String x:Key="/Default/CodeStyle/Naming/JavaScriptNaming/UserRules/=TS_005FPROTECTED_005FTYPE_005FFIELD/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /&gt;</s:String>
+	<s:String x:Key="/Default/CodeStyle/Naming/JavaScriptNaming/UserRules/=TS_005FPROTECTED_005FTYPE_005FMETHOD/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /&gt;</s:String>
+	<s:String x:Key="/Default/CodeStyle/Naming/JavaScriptNaming/UserRules/=TS_005FPUBLIC_005FMEMBER_005FACCESSOR/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /&gt;</s:String>
+	<s:String x:Key="/Default/CodeStyle/Naming/JavaScriptNaming/UserRules/=TS_005FPUBLIC_005FSTATIC_005FTYPE_005FFIELD/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /&gt;</s:String>
+	<s:String x:Key="/Default/CodeStyle/Naming/JavaScriptNaming/UserRules/=TS_005FPUBLIC_005FTYPE_005FFIELD/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /&gt;</s:String>
+	<s:String x:Key="/Default/CodeStyle/Naming/JavaScriptNaming/UserRules/=TS_005FPUBLIC_005FTYPE_005FMETHOD/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /&gt;</s:String>
+	<s:String x:Key="/Default/CodeStyle/Naming/JavaScriptNaming/UserRules/=TS_005FTYPE_005FPARAMETER/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="T" Suffix="" Style="AaBb" /&gt;</s:String>
+	<s:String x:Key="/Default/CodeStyle/Naming/WebNaming/UserRules/=ASP_005FFIELD/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /&gt;</s:String>
+	<s:String x:Key="/Default/CodeStyle/Naming/WebNaming/UserRules/=ASP_005FHTML_005FCONTROL/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /&gt;</s:String>
+	<s:String x:Key="/Default/CodeStyle/Naming/WebNaming/UserRules/=ASP_005FTAG_005FNAME/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /&gt;</s:String>
+	<s:String x:Key="/Default/CodeStyle/Naming/WebNaming/UserRules/=ASP_005FTAG_005FPREFIX/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /&gt;</s:String>
+	<s:String x:Key="/Default/CodeStyle/Naming/XamlNaming/UserRules/=NAMESPACE_005FALIAS/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /&gt;</s:String>
+	<s:String x:Key="/Default/CodeStyle/Naming/XamlNaming/UserRules/=XAML_005FFIELD/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /&gt;</s:String>
+	<s:String x:Key="/Default/CodeStyle/Naming/XamlNaming/UserRules/=XAML_005FRESOURCE/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="" Suffix="" Style="AaBb" /&gt;</s:String>
+	
+	
+	
+	<s:Boolean x:Key="/Default/Environment/InjectedLayers/FileInjectedLayer/=9B8C70A674F95241B1558475C07A6344/@KeyIndexDefined">True</s:Boolean>
+	<s:String x:Key="/Default/Environment/InjectedLayers/FileInjectedLayer/=9B8C70A674F95241B1558475C07A6344/AbsolutePath/@EntryValue">E:\vecto-sim\VECTO.sln.DotSettings</s:String>
+	<s:String x:Key="/Default/Environment/InjectedLayers/FileInjectedLayer/=9B8C70A674F95241B1558475C07A6344/RelativePath/@EntryValue"></s:String>
+	
+	
+	<s:Boolean x:Key="/Default/Environment/InjectedLayers/InjectedLayerCustomization/=File9B8C70A674F95241B1558475C07A6344/@KeyIndexDefined">True</s:Boolean>
+	<s:Double x:Key="/Default/Environment/InjectedLayers/InjectedLayerCustomization/=File9B8C70A674F95241B1558475C07A6344/RelativePriority/@EntryValue">2</s:Double>
+	
+	
+	
+	
+	<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EAddAccessorOwnerDeclarationBracesMigration/@EntryIndexedValue">True</s:Boolean>
 	<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EMigrateBlankLinesAroundFieldToBlankLinesAroundProperty/@EntryIndexedValue">True</s:Boolean>
 	<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EMigrateThisQualifierSettings/@EntryIndexedValue">True</s:Boolean></wpf:ResourceDictionary>
diff --git a/VectoCore/Models/Connector/Ports/IFvPort.cs b/VectoCore/Models/Connector/Ports/IFvPort.cs
index 1155a32776c60af99d2f9fa88aadf004dd71e425..ac85d7d342244d4323b53d534f88cede4c20acf3 100644
--- a/VectoCore/Models/Connector/Ports/IFvPort.cs
+++ b/VectoCore/Models/Connector/Ports/IFvPort.cs
@@ -3,29 +3,29 @@ using TUGraz.VectoCore.Utils;
 
 namespace TUGraz.VectoCore.Models.Connector.Ports
 {
-    /// <summary>
-    /// Defines a connect method to connect the inport to an outport.
-    /// </summary>
-    public interface IFvInPort
-    {
-        /// <summary>
-        /// Connects the inport to another outport.
-        /// </summary>
-        void Connect(IFvOutPort other);
-    }
+	/// <summary>
+	/// Defines a connect method to connect the inport to an outport.
+	/// </summary>
+	public interface IFvInPort
+	{
+		/// <summary>
+		/// Connects the inport to another outport.
+		/// </summary>
+		void Connect(IFvOutPort other);
+	}
 
-    /// <summary>
-    /// Defines a request method for a Fv-Out-Port.
-    /// </summary>
-    public interface IFvOutPort
-    {
-        /// <summary>
-        /// Requests the Outport with the given force [N] and vehicle velocity [m/s].
-        /// </summary>
-        /// <param name="absTime">[s]</param>
-        /// <param name="dt">[s]</param>
-        /// <param name="force">[N]</param>
-        /// <param name="velocity">[m/s]</param>
-        IResponse Request(TimeSpan absTime, TimeSpan dt, Newton force, MeterPerSecond velocity);
-    }
+	/// <summary>
+	/// Defines a request method for a Fv-Out-Port.
+	/// </summary>
+	public interface IFvOutPort
+	{
+		/// <summary>
+		/// Requests the Outport with the given force [N] and vehicle velocity [m/s].
+		/// </summary>
+		/// <param name="absTime">[s]</param>
+		/// <param name="dt">[s]</param>
+		/// <param name="force">[N]</param>
+		/// <param name="velocity">[m/s]</param>
+		IResponse Request(TimeSpan absTime, TimeSpan dt, Newton force, MeterPerSecond velocity);
+	}
 }
\ No newline at end of file
diff --git a/VectoCore/Models/Connector/Ports/ITnPort.cs b/VectoCore/Models/Connector/Ports/ITnPort.cs
index 0d6ddba5b82b143d8d717d83c0dac6d754e51f96..9c8d4d8e1a5ff1f8ede02549ba285b0c440ad328 100644
--- a/VectoCore/Models/Connector/Ports/ITnPort.cs
+++ b/VectoCore/Models/Connector/Ports/ITnPort.cs
@@ -3,29 +3,29 @@ using TUGraz.VectoCore.Utils;
 
 namespace TUGraz.VectoCore.Models.Connector.Ports
 {
-    /// <summary>
-    /// Defines a connect method to connect the inport to an outport.
-    /// </summary>
-    public interface ITnInPort
-    {
-        /// <summary>
-        /// Connects the inport to another outport.
-        /// </summary>
-        void Connect(ITnOutPort other);
-    }
+	/// <summary>
+	/// Defines a connect method to connect the inport to an outport.
+	/// </summary>
+	public interface ITnInPort
+	{
+		/// <summary>
+		/// Connects the inport to another outport.
+		/// </summary>
+		void Connect(ITnOutPort other);
+	}
 
-    /// <summary>
-    /// Defines a request method for a Tn-Out-Port.
-    /// </summary>
-    public interface ITnOutPort
-    {
-        /// <summary>
-        /// Requests the Outport with the given torque [Nm] and angularVelocity [rad/s].
-        /// </summary>
-        /// <param name="absTime">[s]</param>
-        /// <param name="dt">[s]</param>
-        /// <param name="torque">[Nm]</param>
-        /// <param name="angularVelocity">[rad/s]</param>
-        IResponse Request(TimeSpan absTime, TimeSpan dt, NewtonMeter torque, PerSecond angularVelocity);
-    }
+	/// <summary>
+	/// Defines a request method for a Tn-Out-Port.
+	/// </summary>
+	public interface ITnOutPort
+	{
+		/// <summary>
+		/// Requests the Outport with the given torque [Nm] and angularVelocity [rad/s].
+		/// </summary>
+		/// <param name="absTime">[s]</param>
+		/// <param name="dt">[s]</param>
+		/// <param name="torque">[Nm]</param>
+		/// <param name="angularVelocity">[rad/s]</param>
+		IResponse Request(TimeSpan absTime, TimeSpan dt, NewtonMeter torque, PerSecond angularVelocity);
+	}
 }
\ No newline at end of file
diff --git a/VectoCore/Models/Connector/Ports/Impl/Response.cs b/VectoCore/Models/Connector/Ports/Impl/Response.cs
index 1e6c0cc929c34ca3ae6c675ca932d997b11c5ecb..4931c543c7bb2ddd2235b29988e8729092ed082e 100644
--- a/VectoCore/Models/Connector/Ports/Impl/Response.cs
+++ b/VectoCore/Models/Connector/Ports/Impl/Response.cs
@@ -2,30 +2,30 @@ using System;
 
 namespace TUGraz.VectoCore.Models.Connector.Ports.Impl
 {
-    /// <summary>
-    /// Response when the Cycle is finished.
-    /// </summary>
-    public class ResponseCycleFinished : IResponse {}
+	/// <summary>
+	/// Response when the Cycle is finished.
+	/// </summary>
+	public class ResponseCycleFinished : IResponse {}
 
-    /// <summary>
-    /// Response when a request was successful.
-    /// </summary>
-    public class ResponseSuccess : IResponse {}
+	/// <summary>
+	/// Response when a request was successful.
+	/// </summary>
+	public class ResponseSuccess : IResponse {}
 
-    /// <summary>
-    /// Response when the request resulted in an engine overload. 
-    /// </summary>
-    public class ResponseFailOverload : IResponse
-    {
-        public double Delta { get; set; }
-        public double Gradient { get; set; }
-    }
+	/// <summary>
+	/// Response when the request resulted in an engine overload. 
+	/// </summary>
+	public class ResponseFailOverload : IResponse
+	{
+		public double Delta { get; set; }
+		public double Gradient { get; set; }
+	}
 
-    /// <summary>
-    /// Response when the request should have another time interval.
-    /// </summary>
-    public class ResponseFailTimeInterval : IResponse
-    {
-        public TimeSpan DeltaT { get; set; }
-    }
+	/// <summary>
+	/// Response when the request should have another time interval.
+	/// </summary>
+	public class ResponseFailTimeInterval : IResponse
+	{
+		public TimeSpan DeltaT { get; set; }
+	}
 }
\ No newline at end of file
diff --git a/VectoCore/Models/Declaration/Axle.cs b/VectoCore/Models/Declaration/Axle.cs
index 2a9706ade6e91b6d8ad82559ca97b7ec0e1e60c7..6e06fdb374367a12aa4d47a9baf3a0933f5fca8f 100644
--- a/VectoCore/Models/Declaration/Axle.cs
+++ b/VectoCore/Models/Declaration/Axle.cs
@@ -1,6 +1,6 @@
 using TUGraz.VectoCore.Utils;
 
-namespace TUGraz.VectoCore.Models.SimulationComponent.Data
+namespace TUGraz.VectoCore.Models.Declaration
 {
 	public class Axle
 	{
diff --git a/VectoCore/Models/Declaration/DeclarationData.cs b/VectoCore/Models/Declaration/DeclarationData.cs
index ece0c51df39d816ae226573f8f0f35a4d54728d5..0b35894963d588cd0e3cac781aa91e756abd5379 100644
--- a/VectoCore/Models/Declaration/DeclarationData.cs
+++ b/VectoCore/Models/Declaration/DeclarationData.cs
@@ -1,47 +1,51 @@
 using System;
 using System.Collections.Generic;
-using System.Linq;
 using TUGraz.VectoCore.Models.SimulationComponent.Data;
 using TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox;
 using TUGraz.VectoCore.Utils;
-
 namespace TUGraz.VectoCore.Models.Declaration
 {
 	public class DeclarationData
 	{
 		private static DeclarationData _instance;
-		private readonly DeclarationSegments _segments;
-		private readonly DeclarationRims _rims;
-		private readonly DeclarationWheels _wheels;
-		private readonly DeclarationPT1 _pt1;
-		private readonly ElectricSystem _electricSystem;
-
-		public static DeclarationWheels Wheels
+		private Segments _segments;
+		private Rims _rims;
+		private Wheels _wheels;
+		private PT1 _pt1;
+		private ElectricSystem _electricSystem;
+		private Fan _fan;
+		private HeatingVentilationAirConditioning _heatingVentilationAirConditioning;
+		private PneumaticSystem _pneumaticSystem;
+		private SteeringPump _steeringPump;
+		private WHTCCorrection _whtcCorrection;
+
+		public static Wheels Wheels
 		{
-			get { return Instance()._wheels; }
+			get { return Instance()._wheels ?? (Instance()._wheels = new Wheels()); }
 		}
 
-		public static DeclarationRims Rims
+		public static Rims Rims
 		{
-			get { return Instance()._rims; }
+			get { return Instance()._rims ?? (Instance()._rims = new Rims()); }
 		}
 
-		public static DeclarationSegments Segments
+		public static Segments Segments
 		{
-			get { return Instance()._segments; }
+			get { return Instance()._segments ?? (Instance()._segments = new Segments()); }
 		}
 
-		public static DeclarationPT1 PT1
+		public static PT1 PT1
 		{
-			get { return Instance()._pt1; }
+			get { return Instance()._pt1 ?? (Instance()._pt1 = new PT1()); }
 		}
 
 		public static ElectricSystem ElectricSystem
 		{
-			get { return Instance()._electricSystem; }
+			get { return Instance()._electricSystem ?? (Instance()._electricSystem = new ElectricSystem()); }
 		}
 
 		public static Meter DynamicTyreRadius(string wheels, string rims)
+		public static Fan Fan
 		{
 			var wheelsEntry = Wheels.Lookup(wheels);
 			var rimsEntry = Rims.Lookup(rims);
@@ -51,13 +55,32 @@ namespace TUGraz.VectoCore.Models.Declaration
 			return wheelsEntry.TyreRadius * correction / (2 * Math.PI);
 		}
 
-		private DeclarationData()
 		{
-			_wheels = new DeclarationWheels();
-			_rims = new DeclarationRims();
-			_segments = new DeclarationSegments();
-			_pt1 = new DeclarationPT1();
-			_electricSystem = new ElectricSystem();
+			get { return Instance()._fan ?? (Instance()._fan = new Fan()); }
+		}
+
+		public static HeatingVentilationAirConditioning HeatingVentilationAirConditioning
+		{
+			get
+			{
+				return Instance()._heatingVentilationAirConditioning ??
+						(Instance()._heatingVentilationAirConditioning = new HeatingVentilationAirConditioning());
+			}
+		}
+
+		public static PneumaticSystem PneumaticSystem
+		{
+			get { return Instance()._pneumaticSystem ?? (Instance()._pneumaticSystem = new PneumaticSystem()); }
+		}
+
+		public static SteeringPump SteeringPump
+		{
+			get { return Instance()._steeringPump ?? (Instance()._steeringPump = new SteeringPump()); }
+		}
+
+		public static WHTCCorrection WHTCCorrection
+		{
+			get { return Instance()._whtcCorrection ?? (Instance()._whtcCorrection = new WHTCCorrection()); }
 		}
 
 		public static int PoweredAxle()
diff --git a/VectoCore/Models/Declaration/ElectricSystem.cs b/VectoCore/Models/Declaration/ElectricSystem.cs
index d52b5512c417d550fef2dba45b2b74319ade9193..2f25bf0eb09b281fb7c8e26fd6ba583883b683de 100644
--- a/VectoCore/Models/Declaration/ElectricSystem.cs
+++ b/VectoCore/Models/Declaration/ElectricSystem.cs
@@ -22,9 +22,7 @@ namespace TUGraz.VectoCore.Models.Declaration
 
 		protected override void ParseData(DataTable table)
 		{
-			foreach (DataColumn col in table.Columns) {
-				table.Columns[col.ColumnName].ColumnName = col.ColumnName.ToLower().Replace(" ", "");
-			}
+			NormalizeTable(table);
 
 			foreach (DataRow row in table.Rows) {
 				var name = row.Field<string>("Technology");
@@ -39,11 +37,11 @@ namespace TUGraz.VectoCore.Models.Declaration
 			var sum = _data[Tuple.Create(missionType, BaseLine)];
 
 			foreach (var s in technologies) {
-				if (_data.ContainsKey(Tuple.Create(missionType, s))) {
-					// todo: ask raphael why these technologies have to be subtracted?
-					sum -= _data[Tuple.Create(missionType, s)];
+				Watt w;
+				if (_data.TryGetValue(Tuple.Create(missionType, s), out w)) {
+					sum += w;
 				} else {
-					Log.Warn("electric system technology not found.");
+					Log.Error(string.Format("electric system technology not found: {0}", s));
 				}
 			}
 			return sum;
diff --git a/VectoCore/Models/Declaration/Fan.cs b/VectoCore/Models/Declaration/Fan.cs
new file mode 100644
index 0000000000000000000000000000000000000000..9bc356c81f12a676040c9f574c46c94e07472930
--- /dev/null
+++ b/VectoCore/Models/Declaration/Fan.cs
@@ -0,0 +1,41 @@
+using System;
+using System.Collections.Generic;
+using System.Data;
+using TUGraz.VectoCore.Utils;
+
+namespace TUGraz.VectoCore.Models.Declaration
+{
+	public class Fan : LookupData<MissionType, string, Watt>
+	{
+		private readonly Dictionary<Tuple<MissionType, string>, Watt> _data =
+			new Dictionary<Tuple<MissionType, string>, Watt>();
+
+		private const string DefaultTechnology = "Crankshaft mounted - Electronically controlled visco clutch (Default)";
+
+		protected override string ResourceId
+		{
+			get { return "TUGraz.VectoCore.Resources.Declaration.VAUX.Fan-Tech.csv"; }
+		}
+
+		protected override void ParseData(DataTable table)
+		{
+			NormalizeTable(table);
+
+			_data.Clear();
+			foreach (DataRow row in table.Rows) {
+				foreach (MissionType mission in Enum.GetValues(typeof(MissionType))) {
+					_data[Tuple.Create(mission, row.Field<string>("Technology"))] =
+						row.ParseDouble(mission.ToString().ToLower()).SI<Watt>();
+				}
+			}
+		}
+
+		public override Watt Lookup(MissionType mission, string technology)
+		{
+			if (string.IsNullOrWhiteSpace(technology.Trim())) {
+				technology = DefaultTechnology;
+			}
+			return _data[Tuple.Create(mission, technology)];
+		}
+	}
+}
\ No newline at end of file
diff --git a/VectoCore/Models/Declaration/HVAC.cs b/VectoCore/Models/Declaration/HVAC.cs
new file mode 100644
index 0000000000000000000000000000000000000000..16859b6635ddeef130e9637e6f26ba59c0d74271
--- /dev/null
+++ b/VectoCore/Models/Declaration/HVAC.cs
@@ -0,0 +1,36 @@
+using System;
+using System.Collections.Generic;
+using System.Data;
+using TUGraz.VectoCore.Utils;
+
+namespace TUGraz.VectoCore.Models.Declaration
+{
+	public class HeatingVentilationAirConditioning : LookupData<MissionType, string, Watt>
+	{
+		private readonly Dictionary<Tuple<MissionType, string>, Watt> _data =
+			new Dictionary<Tuple<MissionType, string>, Watt>();
+
+		public override Watt Lookup(MissionType mission, string hdvClass)
+		{
+			return _data[Tuple.Create(mission, hdvClass)];
+		}
+
+		protected override string ResourceId
+		{
+			get { return "TUGraz.VectoCore.Resources.Declaration.VAUX.HVAC-Table.csv"; }
+		}
+
+		protected override void ParseData(DataTable table)
+		{
+			_data.Clear();
+			NormalizeTable(table);
+
+			foreach (DataRow row in table.Rows) {
+				var hdvClass = row.Field<string>("hdvclass/power");
+				foreach (MissionType mission in Enum.GetValues(typeof(MissionType))) {
+					_data[Tuple.Create(mission, hdvClass)] = row.ParseDouble(mission.ToString().ToLower()).SI<Watt>();
+				}
+			}
+		}
+	}
+}
\ No newline at end of file
diff --git a/VectoCore/Models/Declaration/Mission.cs b/VectoCore/Models/Declaration/Mission.cs
index 148934e551710211cce6d6e044957bb7706ac700..a335fb0c57dedda5077b5c911efa6718ea412783 100644
--- a/VectoCore/Models/Declaration/Mission.cs
+++ b/VectoCore/Models/Declaration/Mission.cs
@@ -7,7 +7,7 @@ namespace TUGraz.VectoCore.Models.Declaration
 	public class Mission
 	{
 		public MissionType MissionType { get; set; }
-		public Stream CrossWindCorrectionFile { get; set; }
+		public string CrossWindCorrection { get; set; }
 		public double[] AxleWeightDistribution { get; set; }
 		public double[] TrailerAxleWeightDistribution { get; set; }
 
diff --git a/VectoCore/Models/Declaration/MissionType.cs b/VectoCore/Models/Declaration/MissionType.cs
index 3c53bfa23ded85720db1cccdf81de6f46b71e087..eb1604b9ca26411adde7609f01890e1383c2e91d 100644
--- a/VectoCore/Models/Declaration/MissionType.cs
+++ b/VectoCore/Models/Declaration/MissionType.cs
@@ -1,8 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-
-namespace TUGraz.VectoCore.Models
+namespace TUGraz.VectoCore.Models.Declaration
 {
 	public enum MissionType
 	{
diff --git a/VectoCore/Models/Declaration/DeclarationPT1.cs b/VectoCore/Models/Declaration/PT1.cs
similarity index 95%
rename from VectoCore/Models/Declaration/DeclarationPT1.cs
rename to VectoCore/Models/Declaration/PT1.cs
index e3f78c50ad8f25e5817ff9c0de19ea41b683ce10..a90f9e5781241c2f26f4e81730c9a8da84fdbeef 100644
--- a/VectoCore/Models/Declaration/DeclarationPT1.cs
+++ b/VectoCore/Models/Declaration/PT1.cs
@@ -6,7 +6,7 @@ using TUGraz.VectoCore.Utils;
 
 namespace TUGraz.VectoCore.Models.Declaration
 {
-	public class DeclarationPT1 : LookupData<PerSecond, Second>
+	public class PT1 : LookupData<PerSecond, Second>
 	{
 		private List<KeyValuePair<PerSecond, Second>> _entries;
 
diff --git a/VectoCore/Models/Declaration/PneumaticSystem.cs b/VectoCore/Models/Declaration/PneumaticSystem.cs
new file mode 100644
index 0000000000000000000000000000000000000000..0743f18ef12f6b041a39dc6eb9c6b4024802a141
--- /dev/null
+++ b/VectoCore/Models/Declaration/PneumaticSystem.cs
@@ -0,0 +1,36 @@
+using System;
+using System.Collections.Generic;
+using System.Data;
+using TUGraz.VectoCore.Utils;
+
+namespace TUGraz.VectoCore.Models.Declaration
+{
+	public class PneumaticSystem : LookupData<MissionType, string, Watt>
+	{
+		private readonly Dictionary<Tuple<MissionType, string>, Watt> _data =
+			new Dictionary<Tuple<MissionType, string>, Watt>();
+
+		public override Watt Lookup(MissionType mission, string hdvClass)
+		{
+			return _data[Tuple.Create(mission, hdvClass)];
+		}
+
+		protected override string ResourceId
+		{
+			get { return "TUGraz.VectoCore.Resources.Declaration.VAUX.PS-Table.csv"; }
+		}
+
+		protected override void ParseData(DataTable table)
+		{
+			_data.Clear();
+			NormalizeTable(table);
+
+			foreach (DataRow row in table.Rows) {
+				var hdvClass = row.Field<string>("hdvclass/power");
+				foreach (MissionType mission in Enum.GetValues(typeof(MissionType))) {
+					_data[Tuple.Create(mission, hdvClass)] = row.ParseDouble(mission.ToString().ToLower()).SI<Watt>();
+				}
+			}
+		}
+	}
+}
\ No newline at end of file
diff --git a/VectoCore/Models/Declaration/Rims.cs b/VectoCore/Models/Declaration/Rims.cs
new file mode 100644
index 0000000000000000000000000000000000000000..c544d5366b23dd6921f7eb51cf413f4ed471924d
--- /dev/null
+++ b/VectoCore/Models/Declaration/Rims.cs
@@ -0,0 +1,37 @@
+using System.Data;
+using System.Linq;
+using TUGraz.VectoCore.Utils;
+
+namespace TUGraz.VectoCore.Models.Declaration
+{
+	public class Rims : LookupData<string, Rims.RimsEntry>
+	{
+		internal Rims()
+		{
+			var csvFile = ReadCsvFile(ResourceId);
+			ParseData(csvFile);
+		}
+
+		protected override string ResourceId
+		{
+			get { return "TUGraz.VectoCore.Resources.Declaration.Rims.csv"; }
+		}
+
+		protected override sealed void ParseData(DataTable table)
+		{
+			Data = (from DataRow row in table.Rows
+				select new RimsEntry {
+					RimsType = row[0].ToString(),
+					F_a = row.ParseDouble(1),
+					F_b = row.ParseDouble(2)
+				}).ToDictionary(e => e.RimsType);
+		}
+
+		public class RimsEntry
+		{
+			public string RimsType;
+			public double F_a;
+			public double F_b;
+		}
+	}
+}
\ No newline at end of file
diff --git a/VectoCore/Models/Declaration/Segment.cs b/VectoCore/Models/Declaration/Segment.cs
index 036fea5b200106862e2e0bee2fdccfb1998c82b4..2eddaaab6618fb7fa057b6fe3eb54ef600c5d77e 100644
--- a/VectoCore/Models/Declaration/Segment.cs
+++ b/VectoCore/Models/Declaration/Segment.cs
@@ -1,5 +1,4 @@
 using System.IO;
-using TUGraz.VectoCore.Models.SimulationComponent.Data;
 using TUGraz.VectoCore.Utils;
 
 namespace TUGraz.VectoCore.Models.Declaration
@@ -15,7 +14,7 @@ namespace TUGraz.VectoCore.Models.Declaration
 
 		public Kilogram GrossVehicleWeightMax { get; set; }
 
-		public string HDVClass { get; internal set; }
+		public string VehicleClass { get; internal set; }
 
 		public Stream AccelerationFile { get; internal set; }
 
diff --git a/VectoCore/Models/Declaration/DeclarationSegments.cs b/VectoCore/Models/Declaration/Segments.cs
similarity index 85%
rename from VectoCore/Models/Declaration/DeclarationSegments.cs
rename to VectoCore/Models/Declaration/Segments.cs
index 9defe2489f77f205712d2175e8a6efe2e34e9524..5ff41c30bedcbee21fe9e32d28a1e923c1c8b523 100644
--- a/VectoCore/Models/Declaration/DeclarationSegments.cs
+++ b/VectoCore/Models/Declaration/Segments.cs
@@ -6,7 +6,7 @@ using TUGraz.VectoCore.Utils;
 
 namespace TUGraz.VectoCore.Models.Declaration
 {
-	public class DeclarationSegments : LookupData<VehicleCategory, AxleConfiguration, Kilogram, Kilogram, Segment>
+	public class Segments : LookupData<VehicleCategory, AxleConfiguration, Kilogram, Kilogram, Segment>
 	{
 		private const string ResourceNamespace = "TUGraz.VectoCore.Resources.Declaration.";
 
@@ -42,8 +42,8 @@ namespace TUGraz.VectoCore.Models.Declaration
 				GrossVehicleWeightMax = row.ParseDouble("gvw_max").SI().Ton.Cast<Kilogram>(),
 				VehicleCategory = vehicleCategory,
 				AxleConfiguration = axleConfiguration,
-				HDVClass = row.Field<string>("hdv_class"),
-				AccelerationFile = RessourceHelper.ReadStream(ResourceNamespace + "VACC." + row.Field<string>("vacc")),
+				VehicleClass = row.Field<string>("hdvclass"),
+				AccelerationFile = RessourceHelper.ReadStream(ResourceNamespace + "VACC." + row.Field<string>(".vaccfile")),
 				Missions = CreateMissions(grossVehicleMassRating, curbWeight, row).ToArray()
 			};
 			return segment;
@@ -58,32 +58,37 @@ namespace TUGraz.VectoCore.Models.Declaration
 				string trailerField;
 
 				if (missionType == MissionType.LongHaul) {
-					vcdvField = "vcdv-longhaul";
-					axleField = "rigid/truckaxles-longhaul";
+					vcdvField = "crosswindcorrection-longhaul";
+					axleField = "truckaxles-longhaul";
 					trailerField = "traileraxles-longhaul";
 				} else {
-					vcdvField = "vcdv-other";
-					axleField = "rigid/truckaxles-other";
+					vcdvField = "crosswindcorrection-other";
+					axleField = "truckaxles-other";
 					trailerField = "traileraxles-other";
 				}
 
 				var mission = new Mission {
 					MissionType = missionType,
-					CrossWindCorrectionFile = RessourceHelper.ReadStream(ResourceNamespace + "VCDV." + row.Field<string>(vcdvField)),
+					CrossWindCorrection = row.Field<string>(vcdvField),
 					MassExtra = row.ParseDouble("massextra-" + missionType.ToString().ToLower()).SI<Kilogram>(),
 					CycleFile = RessourceHelper.ReadStream(ResourceNamespace + "MissionCycles." + missionType + ".vdri"),
 					AxleWeightDistribution = row.Field<string>(axleField).Split('/').ToDouble().Select(x => x / 100.0).ToArray()
 				};
 
 				var trailerAxles = row.Field<string>(trailerField).Split('/');
-				var count = int.Parse(trailerAxles[1]);
-				var weightPercent = trailerAxles[0].ToDouble();
+				var count = 0;
+				var weightPercent = 0.0;
+
+				if (trailerAxles[0] != "-") {
+					count = int.Parse(trailerAxles[1]);
+					weightPercent = trailerAxles[0].ToDouble();
+				}
 				mission.TrailerAxleWeightDistribution = Enumerable.Repeat(weightPercent / count / 100.0, count).ToArray();
 
 				mission.MinLoad = 0.SI<Kilogram>();
 				mission.MaxLoad = grossVehicleMassRating - mission.MassExtra - curbWeight;
 
-				var refLoadField = row.Field<string>("refload-" + missionType.ToString().ToLower());
+				var refLoadField = row.Field<string>("payload-" + missionType.ToString().ToLower());
 				mission.RefLoad = CalculateRefLoad(grossVehicleMassRating, refLoadField, missionType);
 
 				yield return mission;
diff --git a/VectoCore/Models/Declaration/SteeringPump.cs b/VectoCore/Models/Declaration/SteeringPump.cs
new file mode 100644
index 0000000000000000000000000000000000000000..50be63f3c8d59364c4f1a835b99549c91cb75028
--- /dev/null
+++ b/VectoCore/Models/Declaration/SteeringPump.cs
@@ -0,0 +1,72 @@
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using TUGraz.VectoCore.Utils;
+
+namespace TUGraz.VectoCore.Models.Declaration
+{
+	public class SteeringPump : LookupData<MissionType, string, string, Watt>
+	{
+		private readonly SteeringPumpTechnologies _technologies = new SteeringPumpTechnologies();
+
+		private readonly Dictionary<Tuple<MissionType, string>, Watt[]> _data =
+			new Dictionary<Tuple<MissionType, string>, Watt[]>();
+
+		public override Watt Lookup(MissionType mission, string hdvClass, string technology)
+		{
+			var shares = _data[Tuple.Create(mission, hdvClass)];
+			var sum = 0.SI<Watt>();
+			var factors = _technologies.Lookup(technology);
+			for (var i = 0; i < 4; i++) {
+				sum += shares[i] * factors[i];
+			}
+			return sum;
+		}
+
+
+		protected override string ResourceId
+		{
+			get { return "TUGraz.VectoCore.Resources.Declaration.VAUX.SP-Table.csv"; }
+		}
+
+		protected override void ParseData(DataTable table)
+		{
+			_data.Clear();
+			NormalizeTable(table);
+
+			foreach (DataRow row in table.Rows) {
+				var hdvClass = row.Field<string>("hdvclass/powerdemandpershare");
+				foreach (MissionType mission in Enum.GetValues(typeof(MissionType))) {
+					var values = row.Field<string>(mission.ToString().ToLower()).Split('/').ToDouble();
+					values = values.Concat(Enumerable.Repeat(0.0, 3));
+
+					_data[Tuple.Create(mission, hdvClass)] = values.Take(4).SI<Watt>().ToArray();
+				}
+			}
+		}
+
+		public class SteeringPumpTechnologies : LookupData<string, double[]>
+		{
+			protected override string ResourceId
+			{
+				get { return "TUGraz.VectoCore.Resources.Declaration.VAUX.SP-Tech.csv"; }
+			}
+
+			protected override void ParseData(DataTable table)
+			{
+				Data.Clear();
+				foreach (DataRow row in table.Rows) {
+					var tech = row.Field<string>("Scaling Factors");
+					var factors = new[] { row.ParseDouble("U"), row.ParseDouble("F"), row.ParseDouble("B"), row.ParseDouble("S") };
+					Data[tech] = factors;
+				}
+			}
+
+			public override double[] Lookup(string tech)
+			{
+				return Data[tech];
+			}
+		}
+	}
+}
\ No newline at end of file
diff --git a/VectoCore/Models/Declaration/WHTCCorrection.cs b/VectoCore/Models/Declaration/WHTCCorrection.cs
new file mode 100644
index 0000000000000000000000000000000000000000..ec7a5e991087425f6d31bb4728e77c57c4094023
--- /dev/null
+++ b/VectoCore/Models/Declaration/WHTCCorrection.cs
@@ -0,0 +1,41 @@
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using TUGraz.VectoCore.Utils;
+
+namespace TUGraz.VectoCore.Models.Declaration
+{
+	public class WHTCCorrection : LookupData<MissionType, double, double, double, double>
+	{
+		private Dictionary<MissionType, WHTCCorrectionEntry> _data = new Dictionary<MissionType, WHTCCorrectionEntry>();
+
+		public override double Lookup(MissionType mission, double rural, double urban, double motorway)
+		{
+			var entry = _data[mission];
+			return rural * entry.Rural + urban * entry.Urban + motorway * entry.Motorway;
+		}
+
+		protected override string ResourceId
+		{
+			get { return "TUGraz.VectoCore.Resources.Declaration.WHTC-Weighting-Factors.csv"; }
+		}
+
+		protected override void ParseData(DataTable table)
+		{
+			_data.Clear();
+			NormalizeTable(table);
+			foreach (MissionType mission in Enum.GetValues(typeof(MissionType))) {
+				var values = table.Columns[mission.ToString().ToLower()].Values<string>().ToDouble().ToArray();
+				_data[mission] = new WHTCCorrectionEntry { Rural = values[0], Urban = values[1], Motorway = values[2] };
+			}
+		}
+
+		private class WHTCCorrectionEntry
+		{
+			public double Rural { get; set; }
+			public double Urban { get; set; }
+			public double Motorway { get; set; }
+		}
+	}
+}
\ No newline at end of file
diff --git a/VectoCore/Models/Declaration/DeclarationWheels.cs b/VectoCore/Models/Declaration/Wheels.cs
similarity index 75%
rename from VectoCore/Models/Declaration/DeclarationWheels.cs
rename to VectoCore/Models/Declaration/Wheels.cs
index 220fc1223432e975d86775fc23a93952996f0631..f3673fda344002303fb661e7f680a662912ef50a 100644
--- a/VectoCore/Models/Declaration/DeclarationWheels.cs
+++ b/VectoCore/Models/Declaration/Wheels.cs
@@ -1,11 +1,10 @@
-using System;
-using System.Data;
+using System.Data;
 using System.Linq;
 using TUGraz.VectoCore.Utils;
 
 namespace TUGraz.VectoCore.Models.Declaration
 {
-	public class DeclarationWheels : LookupData<string, DeclarationWheels.WheelsEntry>
+	public class Wheels : LookupData<string, Wheels.WheelsEntry>
 	{
 		protected const string ResourceId = "TUGraz.VectoCore.Resources.Declaration.Wheels.csv";
 
@@ -18,10 +17,10 @@ namespace TUGraz.VectoCore.Models.Declaration
 		{
 			Data = (from DataRow row in table.Rows
 				select new WheelsEntry {
-					WheelType = row[0].ToString(),
+					WheelType = row.Field<string>(0),
 					Inertia = row.ParseDouble(1).SI<KilogramSquareMeter>(),
 					TyreRadius = row.ParseDouble(2).SI().Milli.Meter.Cast<Meter>(),
-					SizeClass = Int32.Parse(row[3].ToString())
+					SizeClass = row.Field<string>(3)
 				}).ToDictionary(e => e.WheelType);
 		}
 
@@ -30,7 +29,7 @@ namespace TUGraz.VectoCore.Models.Declaration
 			public string WheelType;
 			public KilogramSquareMeter Inertia;
 			public Meter TyreRadius;
-			public int SizeClass;
+			public string SizeClass;
 		}
 	}
 }
\ No newline at end of file
diff --git a/VectoCore/Models/Simulation/Cockpit/IEngineCockpit.cs b/VectoCore/Models/Simulation/Cockpit/IEngineCockpit.cs
index 27c6a586729a40915fcb13822fe9adbe4bf3d477..cbe86bb42600302f1f645fc448914dc1998443a2 100644
--- a/VectoCore/Models/Simulation/Cockpit/IEngineCockpit.cs
+++ b/VectoCore/Models/Simulation/Cockpit/IEngineCockpit.cs
@@ -10,6 +10,6 @@ namespace TUGraz.VectoCore.Models.Simulation.Cockpit
 		/// <summary>
 		/// [rad/s] The current engine speed.
 		/// </summary>
-        PerSecond EngineSpeed();
+		PerSecond EngineSpeed();
 	}
 }
\ No newline at end of file
diff --git a/VectoCore/Models/Simulation/Data/IModalDataWriter.cs b/VectoCore/Models/Simulation/Data/IModalDataWriter.cs
index fa3c9c3a9d945c27cb7dd97f8d36dcf050b72cff..de07839879157cc97db67818e1a1efe638322d3a 100644
--- a/VectoCore/Models/Simulation/Data/IModalDataWriter.cs
+++ b/VectoCore/Models/Simulation/Data/IModalDataWriter.cs
@@ -1,6 +1,4 @@
-using System;
 using System.Collections.Generic;
-using System.Data;
 
 namespace TUGraz.VectoCore.Models.Simulation.Data
 {
@@ -22,7 +20,7 @@ namespace TUGraz.VectoCore.Models.Simulation.Data
 
 		void Finish();
 
-		Object Compute(string expression, string filter);
+		object Compute(string expression, string filter);
 
 		IEnumerable<T> GetValues<T>(ModalResultField key);
 	}
diff --git a/VectoCore/Models/Simulation/Data/ModalDataWriter.cs b/VectoCore/Models/Simulation/Data/ModalDataWriter.cs
index 4e947fed36e13510b4a5bebd3784ccf1c6dff8ae..7bffe3fe1f9fca8364678b2b45f145b5d4430773 100644
--- a/VectoCore/Models/Simulation/Data/ModalDataWriter.cs
+++ b/VectoCore/Models/Simulation/Data/ModalDataWriter.cs
@@ -1,6 +1,6 @@
-using System.Data;
+using System.Collections.Generic;
+using System.Data;
 using System.Linq;
-using System.Collections.Generic;
 using TUGraz.VectoCore.Utils;
 
 namespace TUGraz.VectoCore.Models.Simulation.Data
diff --git a/VectoCore/Models/Simulation/Data/SummaryFileWriter.cs b/VectoCore/Models/Simulation/Data/SummaryFileWriter.cs
index 39099877add4cd85ba23ba3c08daf0141d740fef..1824f2f81075ace3353d60a0bda6fe912a5cc7d2 100644
--- a/VectoCore/Models/Simulation/Data/SummaryFileWriter.cs
+++ b/VectoCore/Models/Simulation/Data/SummaryFileWriter.cs
@@ -1,8 +1,8 @@
 using System.Collections.Generic;
-using TUGraz.VectoCore.Utils;
-using System.Linq;
 using System.Data;
+using System.Linq;
 using TUGraz.VectoCore.Models.Simulation.Data;
+using TUGraz.VectoCore.Utils;
 
 namespace TUGraz.VectoCore.Models.Simulation.Data
 {
diff --git a/VectoCore/Models/Simulation/Data/VectoJobData.cs b/VectoCore/Models/Simulation/Data/VectoJobData.cs
new file mode 100644
index 0000000000000000000000000000000000000000..d36e84b740da2f83a371a61807ca8c8f2513b33c
--- /dev/null
+++ b/VectoCore/Models/Simulation/Data/VectoJobData.cs
@@ -0,0 +1,230 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+using TUGraz.VectoCore.Exceptions;
+using TUGraz.VectoCore.Models.SimulationComponent.Data;
+
+namespace TUGraz.VectoCore.Models.Simulation.Data
+{
+	/// <summary>
+	///     Represents the Vecto Job File. Fileformat: .vecto
+	/// </summary>
+	/// <code>
+	///{
+	///  "Header": {
+	///    "CreatedBy": " ()",
+	///    "Date": "3/4/2015 2:09:13 PM",
+	///    "AppVersion": "2.0.4-beta3",
+	///    "FileVersion": 2
+	///  },
+	///  "Body": {
+	///    "SavedInDeclMode": false,
+	///    "VehicleFile": "24t Coach.vveh",
+	///    "EngineFile": "24t Coach.veng",
+	///    "GearboxFile": "24t Coach.vgbx",
+	///    "Cycles": [
+	///      "W:\\VECTO\\CITnet\\VECTO\\bin\\Debug\\Declaration\\MissionCycles\\LOT2_rural Engine Only.vdri"
+	///    ],
+	///    "Aux": [
+	///      {
+	///        "ID": "ALT1",
+	///        "Type": "Alternator",
+	///        "Path": "24t_Coach_ALT.vaux",
+	///        "Technology": ""
+	///      },
+	///      {
+	///        "ID": "ALT2",
+	///        "Type": "Alternator",
+	///        "Path": "24t_Coach_ALT.vaux",
+	///        "Technology": ""
+	///      },
+	///      {
+	///        "ID": "ALT3",
+	///        "Type": "Alternator",
+	///        "Path": "24t_Coach_ALT.vaux",
+	///        "Technology": ""
+	///      }
+	///    ],
+	///    "AccelerationLimitingFile": "Coach.vacc",
+	///    "IsEngineOnly": true,
+	///    "StartStop": {
+	///      "Enabled": false,
+	///      "MaxSpeed": 5.0,
+	///      "MinTime": 0.0,
+	///      "Delay": 0
+	///    },
+	///    "LookAheadCoasting": {
+	///      "Enabled": true,
+	///      "Dec": -0.5,
+	///      "MinSpeed": 50.0
+	///    },
+	///    "OverSpeedEcoRoll": {
+	///      "Mode": "OverSpeed",
+	///      "MinSpeed": 70.0,
+	///      "OverSpeed": 5.0,
+	///      "UnderSpeed": 5.0
+	///    }
+	///  }
+	///}
+	/// </code>
+	[DataContract]
+	public class VectoJobData : SimulationComponentData
+	{
+		/// <summary>
+		///     A class which represents the json data format for serializing and deserializing the Job Data files.
+		/// </summary>
+		public class Data
+		{
+			[JsonProperty(Required = Required.Always)] public DataHeader Header;
+			[JsonProperty(Required = Required.Always)] public DataBody Body;
+
+			public class DataHeader
+			{
+				[JsonProperty(Required = Required.Always)] public string CreatedBy;
+				[JsonProperty(Required = Required.Always)] public DateTime Date;
+				[JsonProperty(Required = Required.Always)] public string AppVersion;
+				[JsonProperty(Required = Required.Always)] public double FileVersion;
+			}
+
+			public class DataBody
+			{
+				[JsonProperty("SavedInDeclMode")] public bool SavedInDeclarationMode;
+
+				[JsonProperty(Required = Required.Always)] public string VehicleFile;
+				[JsonProperty(Required = Required.Always)] public string EngineFile;
+				[JsonProperty(Required = Required.Always)] public string GearboxFile;
+				[JsonProperty(Required = Required.Always)] public IList<string> Cycles;
+				[JsonProperty] public IList<AuxData> Aux = new List<AuxData>();
+				[JsonProperty(Required = Required.Always)] public string VACC;
+				[JsonProperty(Required = Required.Always)] public bool EngineOnlyMode;
+				[JsonProperty(Required = Required.Always)] public StartStopData StartStop;
+				[JsonProperty(Required = Required.Always)] public LACData LAC;
+				[JsonProperty(Required = Required.Always)] public OverSpeedEcoRollData OverSpeedEcoRoll;
+
+				public class AuxData
+				{
+					[JsonProperty(Required = Required.Always)] public string ID;
+					[JsonProperty(Required = Required.Always)] public string Type;
+					[JsonProperty(Required = Required.Always)] public string Path;
+					[JsonProperty(Required = Required.Always)] public string Technology;
+				}
+
+				public class StartStopData
+				{
+					[JsonProperty(Required = Required.Always)] public bool Enabled;
+					[JsonProperty(Required = Required.Always)] public double MaxSpeed;
+					[JsonProperty(Required = Required.Always)] public double MinTime;
+					[JsonProperty(Required = Required.Always)] public double Delay;
+				}
+
+				public class LACData
+				{
+					[JsonProperty(Required = Required.Always)] public bool Enabled;
+					[JsonProperty(Required = Required.Always)] public double Dec;
+					[JsonProperty(Required = Required.Always)] public double MinSpeed;
+				}
+
+				public class OverSpeedEcoRollData
+				{
+					[JsonProperty(Required = Required.Always)] public string Mode;
+					[JsonProperty(Required = Required.Always)] public double MinSpeed;
+					[JsonProperty(Required = Required.Always)] public double OverSpeed;
+					[JsonProperty(Required = Required.Always)] public double UnderSpeed;
+				}
+			}
+		}
+
+		[DataMember] private Data _data;
+
+
+		public string VehicleFile
+		{
+			get { return _data.Body.VehicleFile; }
+		}
+
+		public string EngineFile
+		{
+			get { return _data.Body.EngineFile; }
+		}
+
+		public string GearboxFile
+		{
+			get { return _data.Body.GearboxFile; }
+		}
+
+		public IList<string> Cycles
+		{
+			get { return _data.Body.Cycles; }
+		}
+
+		public IList<Data.DataBody.AuxData> Aux
+		{
+			get { return _data.Body.Aux; }
+		}
+
+		public string AccelerationLimitingFile
+		{
+			get { return _data.Body.VACC; }
+		}
+
+		public bool IsEngineOnly
+		{
+			get { return _data.Body.EngineOnlyMode; }
+		}
+
+		public Data.DataBody.StartStopData StartStop
+		{
+			get { return _data.Body.StartStop; }
+		}
+
+		public Data.DataBody.LACData LookAheadCoasting
+		{
+			get { return _data.Body.LAC; }
+		}
+
+		public Data.DataBody.OverSpeedEcoRollData OverSpeedEcoRoll
+		{
+			get { return _data.Body.OverSpeedEcoRoll; }
+		}
+
+		public string JobFileName { get; set; }
+
+		public static VectoJobData ReadFromFile(string fileName)
+		{
+			return ReadFromJson(File.ReadAllText(fileName), Path.GetDirectoryName(fileName), fileName);
+		}
+
+		public static VectoJobData ReadFromJson(string json, string basePath = "", string fileName = "")
+		{
+			var data = new VectoJobData();
+			data.JobFileName = fileName;
+			//todo handle conversion errors
+			var d = JsonConvert.DeserializeObject<Data>(json);
+
+			data._data = d;
+
+			if (d.Header.FileVersion > 2) {
+				throw new UnsupportedFileVersionException("Unsupported Version of .vecto file. Got Version: " + d.Header.FileVersion);
+			}
+			return data;
+		}
+
+		public void WriteToFile(string fileName)
+		{
+			//todo handle file exceptions
+			File.WriteAllText(fileName, ToJson());
+		}
+
+		public string ToJson()
+		{
+			_data.Header.Date = DateTime.Now;
+			_data.Header.FileVersion = 2;
+			_data.Header.AppVersion = "3.0.0"; // todo: get current app version!
+			_data.Header.CreatedBy = ""; // todo: get current user
+			_data.Body.SavedInDeclarationMode = false; //todo: get declaration mode setting
+			return JsonConvert.SerializeObject(_data, Formatting.Indented);
+		}
+	}
+}
\ No newline at end of file
diff --git a/VectoCore/Models/Simulation/Impl/VectoRun.cs b/VectoCore/Models/Simulation/Impl/VectoRun.cs
index daa21970df6c8d88a1acac80894816adf1cacdad..7f9f75c3aec5e2b8c9042f636d4a5bf810590589 100644
--- a/VectoCore/Models/Simulation/Impl/VectoRun.cs
+++ b/VectoCore/Models/Simulation/Impl/VectoRun.cs
@@ -1,6 +1,4 @@
 using System;
-using System.Data;
-using System.IO;
 using Common.Logging;
 using TUGraz.VectoCore.Models.Connector.Ports;
 using TUGraz.VectoCore.Models.Connector.Ports.Impl;
diff --git a/VectoCore/Models/SimulationComponent/Data/AuxiliaryCycleDataAdapter.cs b/VectoCore/Models/SimulationComponent/Data/AuxiliaryCycleDataAdapter.cs
index e7d6d2be3dc5db857b0f8faf552f7d9eb6350747..3bcf89c03e8286439eabb474a390ff9d3cbabf9b 100644
--- a/VectoCore/Models/SimulationComponent/Data/AuxiliaryCycleDataAdapter.cs
+++ b/VectoCore/Models/SimulationComponent/Data/AuxiliaryCycleDataAdapter.cs
@@ -25,7 +25,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data
 			_auxiliaryId = column;
 			if (_auxiliaryId != null && !_drivingCycle.Entries.First().AuxiliarySupplyPower.ContainsKey(_auxiliaryId)) {
 				Log.ErrorFormat("driving cycle data does not contain column {0}", column);
-				throw new VectoException(String.Format("driving cycle does not contain column {0}", column));
+				throw new VectoException(string.Format("driving cycle does not contain column {0}", column));
 			}
 		}
 
@@ -37,7 +37,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data
 				CurrentCycleEntry = _nextCycleEntry.Current;
 				_nextCycleEntry.MoveNext();
 			}
-			return String.IsNullOrEmpty(_auxiliaryId)
+			return string.IsNullOrEmpty(_auxiliaryId)
 				? CurrentCycleEntry.AdditionalAuxPowerDemand
 				: CurrentCycleEntry.AuxiliarySupplyPower[_auxiliaryId];
 		}
diff --git a/VectoCore/Models/SimulationComponent/Data/Engine/FuelConsumptionMap.cs b/VectoCore/Models/SimulationComponent/Data/Engine/FuelConsumptionMap.cs
index 2923e1e1a10a7fe17470ba1de7dff8673166562b..1bc5286a2f6cfdcfeb89aca843b10c61e28c1bf3 100644
--- a/VectoCore/Models/SimulationComponent/Data/Engine/FuelConsumptionMap.cs
+++ b/VectoCore/Models/SimulationComponent/Data/Engine/FuelConsumptionMap.cs
@@ -9,165 +9,165 @@ using TUGraz.VectoCore.Utils;
 
 namespace TUGraz.VectoCore.Models.SimulationComponent.Data.Engine
 {
-    [JsonObject(MemberSerialization.Fields)]
-    public class FuelConsumptionMap : SimulationComponentData
-    {
-        private readonly IList<FuelConsumptionEntry> _entries = new List<FuelConsumptionEntry>();
-        private readonly DelauneyMap _fuelMap = new DelauneyMap();
-        private FuelConsumptionMap() {}
-
-        public static FuelConsumptionMap ReadFromFile(string fileName)
-        {
-            var fuelConsumptionMap = new FuelConsumptionMap();
-            var data = VectoCSVFile.Read(fileName);
-
-            try {
-                foreach (DataRow row in data.Rows) {
-                    try {
-                        var entry = new FuelConsumptionEntry {
-                            EngineSpeed =
-                                row.ParseDouble(Fields.EngineSpeed).SI().Rounds.Per.Minute.Cast<PerSecond>(),
-                            Torque = row.ParseDouble(Fields.Torque).SI<NewtonMeter>(),
-                            FuelConsumption =
-                                row.ParseDouble(Fields.FuelConsumption).SI().Gramm.Per.Hour.ConvertTo().Kilo.Gramm.Per.Second
-                        };
-
-                        // todo Contract.Assert
-                        if (entry.FuelConsumption < 0) {
-                            throw new ArgumentOutOfRangeException("FuelConsumption", "FuelConsumption < 0 not allowed.");
-                        }
-
-                        fuelConsumptionMap._entries.Add(entry);
-
-                        // Delauney map works only as expected, when the engineSpeed is in rpm.
-                        fuelConsumptionMap._fuelMap.AddPoint((double) entry.Torque, row.ParseDouble(Fields.EngineSpeed),
-                            (double) entry.FuelConsumption);
-                    } catch (Exception e) {
-                        throw new VectoException(string.Format("Line {0}: {1}", data.Rows.IndexOf(row), e.Message), e);
-                    }
-                }
-            } catch (Exception e) {
-                throw new VectoException(string.Format("File {0}: {1}", fileName, e.Message), e);
-            }
-
-            fuelConsumptionMap._fuelMap.Triangulate();
-            return fuelConsumptionMap;
-        }
-
-        /// <summary>
-        ///     [kg/s] Calculates the fuel consumption based on the given fuel map,
-        ///     the engineSpeed [rad/s] and the torque [Nm].
-        /// </summary>
-        /// <param name="engineSpeed">[rad/sec]</param>
-        /// <param name="torque">[Nm]</param>
-        /// <returns>[kg/s]</returns>
-        public SI GetFuelConsumption(NewtonMeter torque, PerSecond engineSpeed)
-        {
-            // delauney map needs is initialised with rpm, therefore the engineSpeed has to be converted.
-            return
-                _fuelMap.Interpolate(torque.Double(), engineSpeed.ConvertTo().Rounds.Per.Minute.Double()).SI().Kilo.Gramm.Per.Second;
-        }
-
-        private static class Fields
-        {
-            /// <summary>
-            ///     [rpm]
-            /// </summary>
-            public const string EngineSpeed = "engine speed";
-
-            /// <summary>
-            ///     [Nm]
-            /// </summary>
-            public const string Torque = "torque";
-
-            /// <summary>
-            ///     [g/h]
-            /// </summary>
-            public const string FuelConsumption = "fuel consumption";
-        };
-
-        private class FuelConsumptionEntry
-        {
-            /// <summary>
-            ///     engine speed [rad/s]
-            /// </summary>
-            public PerSecond EngineSpeed { get; set; }
-
-            /// <summary>
-            ///     Torque [Nm]
-            /// </summary>
-            public NewtonMeter Torque { get; set; }
-
-            /// <summary>
-            ///     Fuel consumption [kg/s]
-            /// </summary>
-            public SI FuelConsumption { get; set; }
-
-            #region Equality members
-
-            private bool Equals(FuelConsumptionEntry other)
-            {
-                Contract.Requires(other != null);
-                return EngineSpeed.Equals(other.EngineSpeed) && Torque.Equals(other.Torque) &&
-                       FuelConsumption.Equals(other.FuelConsumption);
-            }
-
-            public override bool Equals(object obj)
-            {
-                if (ReferenceEquals(null, obj)) {
-                    return false;
-                }
-                if (ReferenceEquals(this, obj)) {
-                    return true;
-                }
-                if (obj.GetType() != GetType()) {
-                    return false;
-                }
-                return Equals((FuelConsumptionEntry) obj);
-            }
-
-            public override int GetHashCode()
-            {
-                unchecked {
-                    var hashCode = EngineSpeed.GetHashCode();
-                    hashCode = (hashCode * 397) ^ Torque.GetHashCode();
-                    hashCode = (hashCode * 397) ^ FuelConsumption.GetHashCode();
-                    return hashCode;
-                }
-            }
-
-            #endregion
-        }
-
-        #region Equality members
-
-        protected bool Equals(FuelConsumptionMap other)
-        {
-            return _entries.SequenceEqual(other._entries) && Equals(_fuelMap, other._fuelMap);
-        }
-
-        public override bool Equals(object obj)
-        {
-            if (ReferenceEquals(null, obj)) {
-                return false;
-            }
-            if (ReferenceEquals(this, obj)) {
-                return true;
-            }
-            if (obj.GetType() != GetType()) {
-                return false;
-            }
-            return Equals((FuelConsumptionMap) obj);
-        }
-
-        public override int GetHashCode()
-        {
-            unchecked {
-                return ((_entries != null ? _entries.GetHashCode() : 0) * 397) ^
-                       (_fuelMap != null ? _fuelMap.GetHashCode() : 0);
-            }
-        }
-
-        #endregion
-    }
+	[JsonObject(MemberSerialization.Fields)]
+	public class FuelConsumptionMap : SimulationComponentData
+	{
+		private readonly IList<FuelConsumptionEntry> _entries = new List<FuelConsumptionEntry>();
+		private readonly DelauneyMap _fuelMap = new DelauneyMap();
+		private FuelConsumptionMap() {}
+
+		public static FuelConsumptionMap ReadFromFile(string fileName)
+		{
+			var fuelConsumptionMap = new FuelConsumptionMap();
+			var data = VectoCSVFile.Read(fileName);
+
+			try {
+				foreach (DataRow row in data.Rows) {
+					try {
+						var entry = new FuelConsumptionEntry {
+							EngineSpeed =
+								row.ParseDouble(Fields.EngineSpeed).SI().Rounds.Per.Minute.Cast<PerSecond>(),
+							Torque = row.ParseDouble(Fields.Torque).SI<NewtonMeter>(),
+							FuelConsumption =
+								row.ParseDouble(Fields.FuelConsumption).SI().Gramm.Per.Hour.ConvertTo().Kilo.Gramm.Per.Second
+						};
+
+						// todo Contract.Assert
+						if (entry.FuelConsumption < 0) {
+							throw new ArgumentOutOfRangeException("FuelConsumption", "FuelConsumption < 0 not allowed.");
+						}
+
+						fuelConsumptionMap._entries.Add(entry);
+
+						// Delauney map works only as expected, when the engineSpeed is in rpm.
+						fuelConsumptionMap._fuelMap.AddPoint((double)entry.Torque, row.ParseDouble(Fields.EngineSpeed),
+							(double)entry.FuelConsumption);
+					} catch (Exception e) {
+						throw new VectoException(string.Format("Line {0}: {1}", data.Rows.IndexOf(row), e.Message), e);
+					}
+				}
+			} catch (Exception e) {
+				throw new VectoException(string.Format("File {0}: {1}", fileName, e.Message), e);
+			}
+
+			fuelConsumptionMap._fuelMap.Triangulate();
+			return fuelConsumptionMap;
+		}
+
+		/// <summary>
+		///     [kg/s] Calculates the fuel consumption based on the given fuel map,
+		///     the engineSpeed [rad/s] and the torque [Nm].
+		/// </summary>
+		/// <param name="engineSpeed">[rad/sec]</param>
+		/// <param name="torque">[Nm]</param>
+		/// <returns>[kg/s]</returns>
+		public SI GetFuelConsumption(NewtonMeter torque, PerSecond engineSpeed)
+		{
+			// delauney map needs is initialised with rpm, therefore the engineSpeed has to be converted.
+			return
+				_fuelMap.Interpolate(torque.Double(), engineSpeed.ConvertTo().Rounds.Per.Minute.Double()).SI().Kilo.Gramm.Per.Second;
+		}
+
+		private static class Fields
+		{
+			/// <summary>
+			///     [rpm]
+			/// </summary>
+			public const string EngineSpeed = "engine speed";
+
+			/// <summary>
+			///     [Nm]
+			/// </summary>
+			public const string Torque = "torque";
+
+			/// <summary>
+			///     [g/h]
+			/// </summary>
+			public const string FuelConsumption = "fuel consumption";
+		};
+
+		private class FuelConsumptionEntry
+		{
+			/// <summary>
+			///     engine speed [rad/s]
+			/// </summary>
+			public PerSecond EngineSpeed { get; set; }
+
+			/// <summary>
+			///     Torque [Nm]
+			/// </summary>
+			public NewtonMeter Torque { get; set; }
+
+			/// <summary>
+			///     Fuel consumption [kg/s]
+			/// </summary>
+			public SI FuelConsumption { get; set; }
+
+			#region Equality members
+
+			private bool Equals(FuelConsumptionEntry other)
+			{
+				Contract.Requires(other != null);
+				return EngineSpeed.Equals(other.EngineSpeed) && Torque.Equals(other.Torque) &&
+						FuelConsumption.Equals(other.FuelConsumption);
+			}
+
+			public override bool Equals(object obj)
+			{
+				if (ReferenceEquals(null, obj)) {
+					return false;
+				}
+				if (ReferenceEquals(this, obj)) {
+					return true;
+				}
+				if (obj.GetType() != GetType()) {
+					return false;
+				}
+				return Equals((FuelConsumptionEntry)obj);
+			}
+
+			public override int GetHashCode()
+			{
+				unchecked {
+					var hashCode = EngineSpeed.GetHashCode();
+					hashCode = (hashCode * 397) ^ Torque.GetHashCode();
+					hashCode = (hashCode * 397) ^ FuelConsumption.GetHashCode();
+					return hashCode;
+				}
+			}
+
+			#endregion
+		}
+
+		#region Equality members
+
+		protected bool Equals(FuelConsumptionMap other)
+		{
+			return _entries.SequenceEqual(other._entries) && Equals(_fuelMap, other._fuelMap);
+		}
+
+		public override bool Equals(object obj)
+		{
+			if (ReferenceEquals(null, obj)) {
+				return false;
+			}
+			if (ReferenceEquals(this, obj)) {
+				return true;
+			}
+			if (obj.GetType() != GetType()) {
+				return false;
+			}
+			return Equals((FuelConsumptionMap)obj);
+		}
+
+		public override int GetHashCode()
+		{
+			unchecked {
+				return ((_entries != null ? _entries.GetHashCode() : 0) * 397) ^
+						(_fuelMap != null ? _fuelMap.GetHashCode() : 0);
+			}
+		}
+
+		#endregion
+	}
 }
\ No newline at end of file
diff --git a/VectoCore/Models/SimulationComponent/Data/Gearbox/GearData.cs b/VectoCore/Models/SimulationComponent/Data/Gearbox/GearData.cs
index 87ef6a9b307b60ee0774e1408d28f8318269ef11..8ed6c349220f54ddf980fb8a8fe61fff87d060b6 100644
--- a/VectoCore/Models/SimulationComponent/Data/Gearbox/GearData.cs
+++ b/VectoCore/Models/SimulationComponent/Data/Gearbox/GearData.cs
@@ -12,7 +12,7 @@
 
 		public double AverageEfficiency { get; set; }
 
-		public GearData(TransmissionLossMap lossMap, Gearbox.ShiftPolygon shiftPolygon, double ratio,
+		public GearData(TransmissionLossMap lossMap, ShiftPolygon shiftPolygon, double ratio,
 			bool torqueconverterActive)
 		{
 			LossMap = lossMap;
diff --git a/VectoCore/Models/SimulationComponent/Data/Gearbox/TransmissionLossMap.cs b/VectoCore/Models/SimulationComponent/Data/Gearbox/TransmissionLossMap.cs
index 8a5b759a3d0f1bbe43684d81873cfcf3f1bcd7ad..a3665d84445df8ff0c0b22c3d2f4e6a06328c82d 100644
--- a/VectoCore/Models/SimulationComponent/Data/Gearbox/TransmissionLossMap.cs
+++ b/VectoCore/Models/SimulationComponent/Data/Gearbox/TransmissionLossMap.cs
@@ -2,8 +2,6 @@
 using System.Collections.Generic;
 using System.Data;
 using System.Linq;
-using System.Runtime.InteropServices;
-using System.Runtime.Remoting.Messaging;
 using Common.Logging;
 using Newtonsoft.Json;
 using TUGraz.VectoCore.Exceptions;
@@ -63,7 +61,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox
 					TorqueLoss = row.ParseDouble(Fields.TorqeLoss).SI<NewtonMeter>(),
 					Efficiency =
 						(!hasEfficiency || row[Fields.Efficiency] == DBNull.Value || row[Fields.Efficiency] != null)
-							? Double.NaN
+							? double.NaN
 							: row.ParseDouble(Fields.Efficiency)
 				}).ToList();
 		}
@@ -109,7 +107,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox
 					0.SI<NewtonMeter>());
 			} catch (Exception e) {
 				throw new VectoSimulationException(
-					String.Format("Failed to interpolate in TransmissionLossMap. angularVelocity: {0}, torque: {1}", angularVelocity,
+					string.Format("Failed to interpolate in TransmissionLossMap. angularVelocity: {0}, torque: {1}", angularVelocity,
 						gbxOutTorque), e);
 			}
 		}
@@ -117,8 +115,6 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox
 		/// <summary>
 		///		Compute the available torque at the output of the gear(box) (towards wheels)
 		/// </summary>
-		/// <param name="angularVelocity">[1/s] angular speed of the shaft</param>
-		/// <param name="gbxInTorque">[Nm] torque provided by the engine at the gearbox' input shaft</param>
 		/// <returns>[Nm] torque provided to the next component (towards the wheels)</returns>
 		//public NewtonMeter GearboxOutTorque(PerSecond angularVelocity, NewtonMeter gbxInTorque)
 		//{
diff --git a/VectoCore/Models/SimulationComponent/Data/RetarderData.cs b/VectoCore/Models/SimulationComponent/Data/RetarderData.cs
index 12c2b413ebfef9c83125294b12215c805520ae5d..7c85f3fd8d46ea45f95184b3ed5942504e2be0f2 100644
--- a/VectoCore/Models/SimulationComponent/Data/RetarderData.cs
+++ b/VectoCore/Models/SimulationComponent/Data/RetarderData.cs
@@ -1,5 +1,4 @@
 using System.IO;
-using System.Runtime.InteropServices;
 using Newtonsoft.Json;
 
 namespace TUGraz.VectoCore.Models.SimulationComponent.Data
diff --git a/VectoCore/Models/SimulationComponent/Data/RetarderLossMap.cs b/VectoCore/Models/SimulationComponent/Data/RetarderLossMap.cs
index d3feadd3cd6b399cdcafac5015aaa4b185dd38d1..e610c1ca8a98c3120e01b8457bb401a63aed77a6 100644
--- a/VectoCore/Models/SimulationComponent/Data/RetarderLossMap.cs
+++ b/VectoCore/Models/SimulationComponent/Data/RetarderLossMap.cs
@@ -3,7 +3,6 @@ using System.Data;
 using System.Linq;
 using Common.Logging;
 using TUGraz.VectoCore.Exceptions;
-using TUGraz.VectoCore.Models.SimulationComponent.Data.Engine;
 using TUGraz.VectoCore.Utils;
 
 namespace TUGraz.VectoCore.Models.SimulationComponent.Data
diff --git a/VectoCore/Models/SimulationComponent/Factories/EngineeringModeFactory.cs b/VectoCore/Models/SimulationComponent/Factories/EngineeringModeFactory.cs
new file mode 100644
index 0000000000000000000000000000000000000000..af2c8e0e53b49c08a6d18eb29feea0e39f708a31
--- /dev/null
+++ b/VectoCore/Models/SimulationComponent/Factories/EngineeringModeFactory.cs
@@ -0,0 +1,72 @@
+using System.IO;
+using System.Linq;
+using Newtonsoft.Json;
+using TUGraz.VectoCore.Exceptions;
+using TUGraz.VectoCore.FileIO;
+using TUGraz.VectoCore.Models.Declaration;
+using TUGraz.VectoCore.Models.SimulationComponent.Data;
+using TUGraz.VectoCore.Utils;
+
+namespace TUGraz.VectoCore.Models.SimulationComponent.Factories
+{
+	public class EngineeringModeFactory : InputFileReader
+	{
+		protected static EngineeringModeFactory _instance;
+
+		public static EngineeringModeFactory Instance()
+		{
+			return _instance ?? (_instance = new EngineeringModeFactory());
+		}
+
+		private void CheckEngineeringMode(string fileName, VersionInfo fileInfo)
+		{
+			if (fileInfo.SavedInDeclarationMode) {
+				Log.WarnFormat("File {0} was saved in Declaration Mode but is used for Engineering Mode!", fileName);
+			}
+		}
+
+		public VehicleData CreateVehicleData(string fileName)
+		{
+			var json = File.ReadAllText(fileName);
+			var fileInfo = GetFileVersion(json);
+			CheckEngineeringMode(fileName, fileInfo);
+
+			switch (fileInfo.Version) {
+				case 5:
+					var data = JsonConvert.DeserializeObject<VehicleFileV5Engineering>(json);
+					return CreateVehicleData(Path.GetDirectoryName(fileName), data.Body);
+				default:
+					throw new UnsupportedFileVersionException(fileName, fileInfo.Version);
+			}
+		}
+
+
+		protected VehicleData CreateVehicleData(string basePath, VehicleFileV5Engineering.DataBodyEng data)
+		{
+			return new VehicleData {
+				BasePath = basePath,
+				SavedInDeclarationMode = data.SavedInDeclarationMode,
+				VehicleCategory = data.VehicleCategory(),
+				CurbWeight = data.CurbWeight.SI<Kilogram>(),
+				CurbWeigthExtra = data.CurbWeightExtra.SI<Kilogram>(),
+				Loading = data.Loading.SI<Kilogram>(),
+				GrossVehicleMassRating = data.GrossVehicleMassRating.SI().Kilo.Kilo.Gramm.Cast<Kilogram>(),
+				DragCoefficient = data.DragCoefficient,
+				CrossSectionArea = data.CrossSectionArea.SI<SquareMeter>(),
+				DragCoefficientRigidTruck = data.DragCoefficientRigidTruck,
+				CrossSectionAreaRigidTruck = data.CrossSectionAreaRigidTruck.SI<SquareMeter>(),
+				DynamicTyreRadius = data.DynamicTyreRadius.SI().Milli.Meter.Cast<Meter>(),
+				//  .SI<Meter>(),
+				Rim = data.RimStr,
+				Retarder = new RetarderData(data.Retarder, basePath),
+				AxleData = data.AxleConfig.Axles.Select(axle => new Axle {
+					Inertia = axle.Inertia.SI<KilogramSquareMeter>(),
+					TwinTyres = axle.TwinTyres,
+					RollResistanceCoefficient = axle.RollResistanceCoefficient,
+					AxleWeightShare = axle.AxleWeightShare,
+					TyreTestLoad = axle.TyreTestLoad.SI<Newton>()
+				}).ToList()
+			};
+		}
+	}
+}
\ No newline at end of file
diff --git a/VectoCore/Models/SimulationComponent/IClutch.cs b/VectoCore/Models/SimulationComponent/IClutch.cs
index 953f3f613f46ff46fb5384e0b5d09f1a97c6ee18..1ffff0489c72f4e203a1275faf39de6c61b33a67 100644
--- a/VectoCore/Models/SimulationComponent/IClutch.cs
+++ b/VectoCore/Models/SimulationComponent/IClutch.cs
@@ -1,6 +1,4 @@
-using TUGraz.VectoCore.Models.Connector.Ports;
-
-namespace TUGraz.VectoCore.Models.SimulationComponent
+namespace TUGraz.VectoCore.Models.SimulationComponent
 {
 	public interface IClutch : IPowerTrainComponent {}
 }
\ No newline at end of file
diff --git a/VectoCore/Models/SimulationComponent/ICombustionEngine.cs b/VectoCore/Models/SimulationComponent/ICombustionEngine.cs
index 92b3a6fdff71f4ef399137a88e96588f00de57c1..afb7be9d04565c5011e0449135484c32649f7e32 100644
--- a/VectoCore/Models/SimulationComponent/ICombustionEngine.cs
+++ b/VectoCore/Models/SimulationComponent/ICombustionEngine.cs
@@ -3,8 +3,8 @@ using TUGraz.VectoCore.Models.Simulation.Cockpit;
 
 namespace TUGraz.VectoCore.Models.SimulationComponent
 {
-    /// <summary>
-    /// Defines Interfaces for a combustion engine.
-    /// </summary>
-    public interface ICombustionEngine : IOutShaft, IEngineCockpit {}
+	/// <summary>
+	/// Defines Interfaces for a combustion engine.
+	/// </summary>
+	public interface ICombustionEngine : IOutShaft, IEngineCockpit {}
 }
\ No newline at end of file
diff --git a/VectoCore/Models/SimulationComponent/IDriverDemandDrivingCycle.cs b/VectoCore/Models/SimulationComponent/IDriverDemandDrivingCycle.cs
index adc97eabc495dfd4909db89ad7b6926fbb4d9de8..6d8656334e67b7e0d3e7d33c36eb9f784748c6f2 100644
--- a/VectoCore/Models/SimulationComponent/IDriverDemandDrivingCycle.cs
+++ b/VectoCore/Models/SimulationComponent/IDriverDemandDrivingCycle.cs
@@ -2,8 +2,8 @@ using TUGraz.VectoCore.Models.Connector.Ports;
 
 namespace TUGraz.VectoCore.Models.SimulationComponent
 {
-    /// <summary>
-    /// Defines interfaces for a  driver demand driving cycle.
-    /// </summary>
-    public interface IDrivingCycleDemandDrivingCycle : IDrivingCycleOutProvider, IDrivingCycleDemandInProvider {}
+	/// <summary>
+	/// Defines interfaces for a  driver demand driving cycle.
+	/// </summary>
+	public interface IDrivingCycleDemandDrivingCycle : IDrivingCycleOutProvider, IDrivingCycleDemandInProvider {}
 }
\ No newline at end of file
diff --git a/VectoCore/Models/SimulationComponent/IEngineOnlyDrivingCycle.cs b/VectoCore/Models/SimulationComponent/IEngineOnlyDrivingCycle.cs
index 9d496e763db9758e023b6e38f5b1e231f6d774ff..ac196bd5fa3a0284589b41eefaf74ab871876f22 100644
--- a/VectoCore/Models/SimulationComponent/IEngineOnlyDrivingCycle.cs
+++ b/VectoCore/Models/SimulationComponent/IEngineOnlyDrivingCycle.cs
@@ -2,8 +2,8 @@ using TUGraz.VectoCore.Models.Connector.Ports;
 
 namespace TUGraz.VectoCore.Models.SimulationComponent
 {
-    /// <summary>
-    /// Defines interfaces for a engine only driving cycle.
-    /// </summary>
-    public interface IEngineOnlyDrivingCycle : IDrivingCycleOutProvider, IInShaft {}
+	/// <summary>
+	/// Defines interfaces for a engine only driving cycle.
+	/// </summary>
+	public interface IEngineOnlyDrivingCycle : IDrivingCycleOutProvider, IInShaft {}
 }
\ No newline at end of file
diff --git a/VectoCore/Models/SimulationComponent/IWheels.cs b/VectoCore/Models/SimulationComponent/IWheels.cs
index d5727dd0f14da26a98ffa8b73ca9af944dd60457..354f551e2e3c6b595fb9d487c6ad53b791778a10 100644
--- a/VectoCore/Models/SimulationComponent/IWheels.cs
+++ b/VectoCore/Models/SimulationComponent/IWheels.cs
@@ -2,8 +2,8 @@
 
 namespace TUGraz.VectoCore.Models.SimulationComponent
 {
-    /// <summary>
-    /// Defines interfaces for a wheels component.
-    /// </summary>
-    public interface IWheels : IRoadPortOutProvider, IInShaft {}
+	/// <summary>
+	/// Defines interfaces for a wheels component.
+	/// </summary>
+	public interface IWheels : IRoadPortOutProvider, IInShaft {}
 }
\ No newline at end of file
diff --git a/VectoCore/Models/SimulationComponent/Impl/CombustionEngine.cs b/VectoCore/Models/SimulationComponent/Impl/CombustionEngine.cs
index 50fb3cd68129d91a66f7c423dcd43dff27a6f864..566c50af58e714ea125f1330f68309c684e865fd 100644
--- a/VectoCore/Models/SimulationComponent/Impl/CombustionEngine.cs
+++ b/VectoCore/Models/SimulationComponent/Impl/CombustionEngine.cs
@@ -1,7 +1,6 @@
 using System;
 using System.Collections.Generic;
 using System.Diagnostics.Contracts;
-using NLog.LayoutRenderers;
 using TUGraz.VectoCore.Exceptions;
 using TUGraz.VectoCore.Models.Connector.Ports;
 using TUGraz.VectoCore.Models.Connector.Ports.Impl;
@@ -84,7 +83,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 			_currentState.EnginePowerLoss = InertiaPowerLoss(torque, engineSpeed);
 			var requestedEnginePower = requestedPower + _currentState.EnginePowerLoss;
 
-			if (engineSpeed < (double) _data.IdleSpeed - EngineIdleSpeedStopThreshold) {
+			if (engineSpeed < (double)_data.IdleSpeed - EngineIdleSpeedStopThreshold) {
 				_currentState.OperationMode = EngineOperationMode.Stopped;
 				//todo: _currentState.EnginePowerLoss = enginePowerLoss;
 			}
@@ -116,15 +115,15 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 
 		public override void CommitSimulationStep(IModalDataWriter writer)
 		{
-			writer[ModalResultField.PaEng] = (double) _currentState.EnginePowerLoss;
-			writer[ModalResultField.Pe_drag] = (double) _currentState.FullDragPower;
-			writer[ModalResultField.Pe_full] = (double) _currentState.DynamicFullLoadPower;
-			writer[ModalResultField.Pe_eng] = (double) _currentState.EnginePower;
+			writer[ModalResultField.PaEng] = (double)_currentState.EnginePowerLoss;
+			writer[ModalResultField.Pe_drag] = (double)_currentState.FullDragPower;
+			writer[ModalResultField.Pe_full] = (double)_currentState.DynamicFullLoadPower;
+			writer[ModalResultField.Pe_eng] = (double)_currentState.EnginePower;
 
-			writer[ModalResultField.Tq_drag] = (double) _currentState.FullDragTorque;
-			writer[ModalResultField.Tq_full] = (double) _currentState.DynamicFullLoadTorque;
-			writer[ModalResultField.Tq_eng] = (double) _currentState.EngineTorque;
-			writer[ModalResultField.n] = (double) _currentState.EngineSpeed.ConvertTo().Rounds.Per.Minute;
+			writer[ModalResultField.Tq_drag] = (double)_currentState.FullDragTorque;
+			writer[ModalResultField.Tq_full] = (double)_currentState.DynamicFullLoadTorque;
+			writer[ModalResultField.Tq_eng] = (double)_currentState.EngineTorque;
+			writer[ModalResultField.n] = (double)_currentState.EngineSpeed.ConvertTo().Rounds.Per.Minute;
 
 			try {
 				writer[ModalResultField.FC] =
@@ -135,7 +134,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 			} catch (VectoException ex) {
 				Log.WarnFormat("t: {0} - {1} n: {2} Tq: {3}", _currentState.AbsTime.TotalSeconds, ex.Message,
 					_currentState.EngineSpeed, _currentState.EngineTorque);
-				writer[ModalResultField.FC] = Double.NaN;
+				writer[ModalResultField.FC] = double.NaN;
 			}
 
 			_previousState = _currentState;
@@ -153,11 +152,11 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 			Contract.Requires(requestedEnginePower.HasEqualUnit(new SI().Watt));
 
 			if (_currentState.FullDragPower >= 0 && requestedEnginePower < 0) {
-				throw new VectoSimulationException(String.Format("t: {0}  P_engine_drag > 0! n: {1} [1/min] ",
+				throw new VectoSimulationException(string.Format("t: {0}  P_engine_drag > 0! n: {1} [1/min] ",
 					_currentState.AbsTime, _currentState.EngineSpeed.ConvertTo().Rounds.Per.Minute));
 			}
 			if (_currentState.DynamicFullLoadPower <= 0 && requestedEnginePower > 0) {
-				throw new VectoSimulationException(String.Format("t: {0}  P_engine_full < 0! n: {1} [1/min] ",
+				throw new VectoSimulationException(string.Format("t: {0}  P_engine_full < 0! n: {1} [1/min] ",
 					_currentState.AbsTime, _currentState.EngineSpeed.ConvertTo().Rounds.Per.Minute));
 			}
 		}
@@ -360,7 +359,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 			public override int GetHashCode()
 			{
 				unchecked {
-					var hashCode = (int) OperationMode;
+					var hashCode = (int)OperationMode;
 					hashCode = (hashCode * 397) ^ (EnginePower != null ? EnginePower.GetHashCode() : 0);
 					hashCode = (hashCode * 397) ^ (EngineSpeed != null ? EngineSpeed.GetHashCode() : 0);
 					hashCode = (hashCode * 397) ^ (EnginePowerLoss != null ? EnginePowerLoss.GetHashCode() : 0);
@@ -382,7 +381,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 			if (ReferenceEquals(this, obj)) {
 				return true;
 			}
-			return obj.GetType() == GetType() && Equals((CombustionEngine) obj);
+			return obj.GetType() == GetType() && Equals((CombustionEngine)obj);
 		}
 
 		protected bool Equals(CombustionEngine other)
diff --git a/VectoCore/Models/SimulationComponent/Impl/DirectAuxiliary.cs b/VectoCore/Models/SimulationComponent/Impl/DirectAuxiliary.cs
index 368ecfb6173dd82975299c998bf9fd1d47195832..eb7a7deddf795453ff94770361ac41ed49177a14 100644
--- a/VectoCore/Models/SimulationComponent/Impl/DirectAuxiliary.cs
+++ b/VectoCore/Models/SimulationComponent/Impl/DirectAuxiliary.cs
@@ -1,11 +1,10 @@
 using System;
-using TUGraz.VectoCore.Utils;
 using TUGraz.VectoCore.Exceptions;
-using TUGraz.VectoCore.Models.Simulation;
 using TUGraz.VectoCore.Models.Connector.Ports;
+using TUGraz.VectoCore.Models.Simulation;
 using TUGraz.VectoCore.Models.Simulation.Data;
 using TUGraz.VectoCore.Models.SimulationComponent.Data;
-
+using TUGraz.VectoCore.Utils;
 
 namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 {
@@ -55,7 +54,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 			if (_outPort == null) {
 				Log.ErrorFormat("{0} cannot handle incoming request - no outport available", absTime);
 				throw new VectoSimulationException(
-					String.Format("{0} cannot handle incoming request - no outport available",
+					string.Format("{0} cannot handle incoming request - no outport available",
 						absTime.TotalSeconds));
 			}
 
diff --git a/VectoCore/Models/SimulationComponent/Impl/EngineOnlyGearbox.cs b/VectoCore/Models/SimulationComponent/Impl/EngineOnlyGearbox.cs
index 50b9421f52c7595b79f39f4cf072af8a843999bd..d6b997ae048d5c2a834fb8f7080cb4cddbf59274 100644
--- a/VectoCore/Models/SimulationComponent/Impl/EngineOnlyGearbox.cs
+++ b/VectoCore/Models/SimulationComponent/Impl/EngineOnlyGearbox.cs
@@ -8,67 +8,66 @@ using TUGraz.VectoCore.Utils;
 
 namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 {
-    public class EngineOnlyGearbox : VectoSimulationComponent, IGearbox, ITnInPort, ITnOutPort
-    {
-        private ITnOutPort _outPort;
-        public EngineOnlyGearbox(IVehicleContainer cockpit) : base(cockpit) {}
+	public class EngineOnlyGearbox : VectoSimulationComponent, IGearbox, ITnInPort, ITnOutPort
+	{
+		private ITnOutPort _outPort;
+		public EngineOnlyGearbox(IVehicleContainer cockpit) : base(cockpit) {}
 
-        #region IInShaft
+		#region IInShaft
 
-        public ITnInPort InShaft()
-        {
-            return this;
-        }
+		public ITnInPort InShaft()
+		{
+			return this;
+		}
 
-        #endregion IOutShaft
+		#endregion IOutShaft
 
-        #region IOutShaft
+		#region IOutShaft
 
-        public ITnOutPort OutShaft()
-        {
-            return this;
-        }
+		public ITnOutPort OutShaft()
+		{
+			return this;
+		}
 
-        #endregion
+		#endregion
 
-        #region IGearboxCockpit
+		#region IGearboxCockpit
 
-        uint IGearboxCockpit.Gear()
-        {
-            return 0;
-        }
+		uint IGearboxCockpit.Gear()
+		{
+			return 0;
+		}
 
-        #endregion
+		#endregion
 
-        #region ITnInPort
+		#region ITnInPort
 
-        void ITnInPort.Connect(ITnOutPort other)
-        {
-            _outPort = other;
-        }
+		void ITnInPort.Connect(ITnOutPort other)
+		{
+			_outPort = other;
+		}
 
-				#endregion
+		#endregion
 
+		#region ITnOutPort
 
-        #region ITnOutPort
+		IResponse ITnOutPort.Request(TimeSpan absTime, TimeSpan dt, NewtonMeter torque, PerSecond engineSpeed)
+		{
+			if (_outPort == null) {
+				Log.ErrorFormat("{0} cannot handle incoming request - no outport available", absTime);
+				throw new VectoSimulationException(
+					string.Format("{0} cannot handle incoming request - no outport available",
+						absTime.TotalSeconds));
+			}
+			return _outPort.Request(absTime, dt, torque, engineSpeed);
+		}
 
-        IResponse ITnOutPort.Request(TimeSpan absTime, TimeSpan dt, NewtonMeter torque, PerSecond engineSpeed)
-        {
-            if (_outPort == null) {
-                Log.ErrorFormat("{0} cannot handle incoming request - no outport available", absTime);
-                throw new VectoSimulationException(
-                    String.Format("{0} cannot handle incoming request - no outport available",
-                        absTime.TotalSeconds));
-            }
-            return _outPort.Request(absTime, dt, torque, engineSpeed);
-        }
+		#endregion
 
-        #endregion
+		#region VectoSimulationComponent
 
-        #region VectoSimulationComponent
+		public override void CommitSimulationStep(IModalDataWriter writer) {}
 
-        public override void CommitSimulationStep(IModalDataWriter writer) {}
-
-        #endregion
-    }
+		#endregion
+	}
 }
\ No newline at end of file
diff --git a/VectoCore/Models/SimulationComponent/Impl/MappingAuxiliary.cs b/VectoCore/Models/SimulationComponent/Impl/MappingAuxiliary.cs
index 1182205cb286d676e8ae3e713a308cac467468ac..36425689203ff93362ad92ab08cd44948a414281 100644
--- a/VectoCore/Models/SimulationComponent/Impl/MappingAuxiliary.cs
+++ b/VectoCore/Models/SimulationComponent/Impl/MappingAuxiliary.cs
@@ -73,7 +73,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 			if (_outPort == null) {
 				Log.ErrorFormat("{0} cannot handle incoming request - no outport available", absTime);
 				throw new VectoSimulationException(
-					String.Format("{0} cannot handle incoming request - no outport available",
+					string.Format("{0} cannot handle incoming request - no outport available",
 						absTime.TotalSeconds));
 			}
 
diff --git a/VectoCore/Models/SimulationComponent/Impl/TimeBasedDrivingCycle.cs b/VectoCore/Models/SimulationComponent/Impl/TimeBasedDrivingCycle.cs
index 4237148953016f6c3af6a4d66bbcb8d1f60737a3..52838a1cf5f56b4a9eb34086d7da83abd04efa4e 100644
--- a/VectoCore/Models/SimulationComponent/Impl/TimeBasedDrivingCycle.cs
+++ b/VectoCore/Models/SimulationComponent/Impl/TimeBasedDrivingCycle.cs
@@ -46,7 +46,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
 		IResponse IDrivingCycleOutPort.Request(TimeSpan absTime, TimeSpan dt)
 		{
 			//todo: change to variable time steps
-			var index = (int) Math.Floor(absTime.TotalSeconds);
+			var index = (int)Math.Floor(absTime.TotalSeconds);
 			if (index >= Data.Entries.Count) {
 				return new ResponseCycleFinished();
 			}
diff --git a/VectoCore/Models/SimulationComponent/VectoSimulationComponent.cs b/VectoCore/Models/SimulationComponent/VectoSimulationComponent.cs
index 65acf8428deac58410ac21887d05d09475c0e3da..85ae6769dd5bdf764ed13b236619d741a343fcb0 100644
--- a/VectoCore/Models/SimulationComponent/VectoSimulationComponent.cs
+++ b/VectoCore/Models/SimulationComponent/VectoSimulationComponent.cs
@@ -6,32 +6,32 @@ using TUGraz.VectoCore.Models.Simulation.Data;
 
 namespace TUGraz.VectoCore.Models.SimulationComponent
 {
-    /// <summary>
-    /// Base class for all vecto simulation components.
-    /// </summary>
-    public abstract class VectoSimulationComponent
-    {
-        [NonSerialized] protected ICockpit Cockpit;
-        [NonSerialized] protected ILog Log;
+	/// <summary>
+	/// Base class for all vecto simulation components.
+	/// </summary>
+	public abstract class VectoSimulationComponent
+	{
+		[NonSerialized] protected ICockpit Cockpit;
+		[NonSerialized] protected ILog Log;
 
-        /// <summary>
-        /// Constructor. Registers the component in the cockpit.
-        /// </summary>
-        /// <param name="cockpit">The vehicle container</param>
-        protected VectoSimulationComponent(IVehicleContainer cockpit)
-        {
-            Cockpit = cockpit;
-            Log = LogManager.GetLogger(GetType());
+		/// <summary>
+		/// Constructor. Registers the component in the cockpit.
+		/// </summary>
+		/// <param name="cockpit">The vehicle container</param>
+		protected VectoSimulationComponent(IVehicleContainer cockpit)
+		{
+			Cockpit = cockpit;
+			Log = LogManager.GetLogger(GetType());
 
-            cockpit.AddComponent(this);
-        }
+			cockpit.AddComponent(this);
+		}
 
-        /// <summary>
-        /// Commits the simulation step.
-        /// Writes the moddata into the data writer.
-        /// Commits the internal state of the object if needed.
-        /// </summary>
-        /// <param name="writer">a data writer to write the data into.</param>
-        public abstract void CommitSimulationStep(IModalDataWriter writer);
-    }
+		/// <summary>
+		/// Commits the simulation step.
+		/// Writes the moddata into the data writer.
+		/// Commits the internal state of the object if needed.
+		/// </summary>
+		/// <param name="writer">a data writer to write the data into.</param>
+		public abstract void CommitSimulationStep(IModalDataWriter writer);
+	}
 }
\ No newline at end of file
diff --git a/VectoCore/Resources/Declaration/DefaultTC.vtcc b/VectoCore/Resources/Declaration/DefaultTC.vtcc
new file mode 100644
index 0000000000000000000000000000000000000000..3676a37ec28628517e45e6567f4d9bc516766ca2
--- /dev/null
+++ b/VectoCore/Resources/Declaration/DefaultTC.vtcc
@@ -0,0 +1,12 @@
+nue,mue,MP1000 (1000/rpm)^2*Nm
+1.000,1.000,0.00
+1.005,1.000,0.00
+1.100,1.000,-40.34
+1.222,1.000,-80.34
+1.375,1.000,-136.11
+1.571,1.000,-216.52
+1.833,1.000,-335.19
+2.200,1.000,-528.77
+2.750,1.000,-883.40
+4.400,1.000,-2462.17
+11.000,1.000,-16540.98
diff --git a/VectoCore/Resources/Declaration/Rims.csv b/VectoCore/Resources/Declaration/Rims.csv
index 5e73ce61cd575c9145f6db93ebeb93a8d6ec9418..520fecd325ec63331e4146481fde7255162b995e 100644
--- a/VectoCore/Resources/Declaration/Rims.csv
+++ b/VectoCore/Resources/Declaration/Rims.csv
@@ -1,4 +1,4 @@
-rims,F_a,F_b
+rims,F(a),F(b)
 5° DC Rims,3.03,3.03
 15° DC Rims,3.03,3.05
 Multipurpose – Radial,3,3
diff --git a/VectoCore/Resources/Declaration/SegmentTable.csv b/VectoCore/Resources/Declaration/SegmentTable.csv
index ed3ff4b8c2e8b72a1d0cbb58da7af290114ba932..4321d9be28f0555ce7ea8074d8cb40feb628b9c1 100644
--- a/VectoCore/Resources/Declaration/SegmentTable.csv
+++ b/VectoCore/Resources/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.vcdv,???,???,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.vcdv,-,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.vcdv,RigidSolo.vcdv,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.vcdv,-,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.vcdv,RigidSolo.vcdv,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.vcdv,TractorSemitrailer.vcdv,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.vcdv,???,???,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.vcdv,???,???,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.vcdv,???,???,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.vcdv,RigidSolo.vcdv,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.vcdv,TractorSemitrailer.vcdv,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.vcdv,???,???,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.vcdv,???,???,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.vcdv,???,???,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.vcdv,???,???,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.vcdv,???,???,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.vcdv,???,???,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.vcdv,???,???,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.vcdv,???,???,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.vcdv,???,???,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.vcdv,???,???,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.vcdv,???,???,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.vcdv,???,???,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.vcdv,???,???,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/VectoCore/Resources/Declaration/VAUX/PS-Table.csv b/VectoCore/Resources/Declaration/VAUX/PS-Table.csv
index 312d745fc19dabebae8bb2e04521b6cd78a8d336..cfbb35d7d3419cd95deb26a7da171ac279823eb3 100644
--- a/VectoCore/Resources/Declaration/VAUX/PS-Table.csv
+++ b/VectoCore/Resources/Declaration/VAUX/PS-Table.csv
@@ -1,13 +1,13 @@
 HDV Class / Power,Long haul,Regional delivery,Urban delivery,Municipal utility,Construction,Heavy Urban,Urban,Suburban,Interurban,Coach
-1,0,1.3,1.24,0,0,0,0,0,0,0
-2,1.18,1.28,1.32,0,0,0,0,0,0,0
-3,0,1.36,1.38,0,0,0,0,0,0,0
-4,1.3,1.34,0,0,0,0,0,0,0,0
-5,1.34,1.82,0,0,0,0,0,0,0,0
-6,0,0,0,0,0,0,0,0,0,0
-7,0,0,0,0,0,0,0,0,0,0
-8,0,0,0,0,0,0,0,0,0,0
-9,1.34,1.54,0,0,0,0,0,0,0,0
-10,1.34,1.82,0,0,0,0,0,0,0,0
-11,0,0,0,0,0,0,0,0,0,0
-12,0,0,0,0,0,0,0,0,0,0
+1,0.0,1300.0,1240.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
+2,1180.0,1280.0,1320.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
+3,0.0,1360.0,1380.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
+4,1300.0,1340.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
+5,1340.0,1820.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
+6,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
+7,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
+8,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
+9,1340.0,1540.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
+10,1340.0,1820.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
+11,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
+12,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0
diff --git a/VectoCore/Resources/Declaration/VCDV/CoachBus.vcdv b/VectoCore/Resources/Declaration/VCDV/CoachBus.vcdv
deleted file mode 100644
index 39a23feda955735a6a80ec920e23e4a083236708..0000000000000000000000000000000000000000
--- a/VectoCore/Resources/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/VectoCore/Resources/Declaration/VCDV/RigidSolo.vcdv b/VectoCore/Resources/Declaration/VCDV/RigidSolo.vcdv
deleted file mode 100644
index 934c3e582527884496e7e091a521ab55ba2e10bf..0000000000000000000000000000000000000000
--- a/VectoCore/Resources/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/VectoCore/Resources/Declaration/VCDV/RigidTrailer.vcdv b/VectoCore/Resources/Declaration/VCDV/RigidTrailer.vcdv
deleted file mode 100644
index 205473b64f696c4117669451ea1cbd9321a4a0c2..0000000000000000000000000000000000000000
--- a/VectoCore/Resources/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/VectoCore/Resources/Declaration/VCDV/TractorSemitrailer.vcdv b/VectoCore/Resources/Declaration/VCDV/TractorSemitrailer.vcdv
deleted file mode 100644
index 50cfff436b7dfae4677e65b86ed30f12e59f9136..0000000000000000000000000000000000000000
--- a/VectoCore/Resources/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/VectoCore/Resources/Declaration/VCDV/parameters.csv b/VectoCore/Resources/Declaration/VCDV/parameters.csv
new file mode 100644
index 0000000000000000000000000000000000000000..7a6e9b270ebc04b4494ded8c808d2c6369cb4fca
--- /dev/null
+++ b/VectoCore/Resources/Declaration/VCDV/parameters.csv
@@ -0,0 +1,6 @@
+Parameters,a1,a2,a3
+RigidSolo,0.013526,0.017746,-0.000666
+RigidTrailer,0.017125,0.072275,-0.004148
+TractorSemitrailer,0.034767,0.039367,-0.001897
+CoachBus,-0.000794,0.02109,-0.00109
+
diff --git a/VectoCore/Resources/Declaration/WHTC-Weighting-Factors.csv b/VectoCore/Resources/Declaration/WHTC-Weighting-Factors.csv
new file mode 100644
index 0000000000000000000000000000000000000000..81c75304eeeb49814de180818545548f043882c4
--- /dev/null
+++ b/VectoCore/Resources/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,0.11,0.17,0.69,0.98,0.62,1.0,1.0,1.0,0.45,0.0
+Rural,0.0,0.3,0.27,0.0,0.32,0.0,0.0,0.0,0.36,0.22
+Motorway,0.89,0.53,0.04,0.02,0.06,0.0,0.0,0.0,0.19,0.78
diff --git a/VectoCore/Resources/Declaration/WHTC.csv b/VectoCore/Resources/Declaration/WHTC.csv
new file mode 100644
index 0000000000000000000000000000000000000000..127fab777ee44c985d3ab5ce9078bbe8d0c8d336
--- /dev/null
+++ b/VectoCore/Resources/Declaration/WHTC.csv
@@ -0,0 +1,1802 @@
+# Normalized WHTC
+time [s],n_norm,T_norm
+1,0,0
+2,0,0
+3,0,0
+4,0,0
+5,0,0
+6,0,0
+7,1.5,8.9
+8,15.8,30.9
+9,27.4,1.3
+10,32.6,0.7
+11,34.8,1.2
+12,36.2,7.4
+13,37.1,6.2
+14,37.9,10.2
+15,39.6,12.3
+16,42.3,12.5
+17,45.3,12.6
+18,48.6,6
+19,40.8,0
+20,33,16.3
+21,42.5,27.4
+22,49.3,26.7
+23,54,18
+24,57.1,12.9
+25,58.9,8.6
+26,59.3,6
+27,59,4.9
+28,57.9,-1
+29,55.7,-1
+30,52.1,-1
+31,46.4,-1
+32,38.6,-1
+33,29,-1
+34,20.8,-1
+35,16.9,-1
+36,16.9,42.5
+37,18.8,38.4
+38,20.7,32.9
+39,21,0
+40,19.1,0
+41,13.7,0
+42,2.2,0
+43,0,0
+44,0,0
+45,0,0
+46,0,0
+47,0,0
+48,0,0
+49,0,0
+50,0,13.1
+51,13.1,30.1
+52,26.3,25.5
+53,35,32.2
+54,41.7,14.3
+55,42.2,0
+56,42.8,11.6
+57,51,20.9
+58,60,9.6
+59,49.4,0
+60,38.9,16.6
+61,43.4,30.8
+62,49.4,14.2
+63,40.5,0
+64,31.5,43.5
+65,36.6,78.2
+66,40.8,67.6
+67,44.7,59.1
+68,48.3,52
+69,51.9,63.8
+70,54.7,27.9
+71,55.3,18.3
+72,55.1,16.3
+73,54.8,11.1
+74,54.7,11.5
+75,54.8,17.5
+76,55.6,18
+77,57,14.1
+78,58.1,7
+79,43.3,0
+80,28.5,25
+81,30.4,47.8
+82,32.1,39.2
+83,32.7,39.3
+84,32.4,17.3
+85,31.6,11.4
+86,31.1,10.2
+87,31.1,19.5
+88,31.4,22.5
+89,31.6,22.9
+90,31.6,24.3
+91,31.9,26.9
+92,32.4,30.6
+93,32.8,32.7
+94,33.7,32.5
+95,34.4,29.5
+96,34.3,26.5
+97,34.4,24.7
+98,35,24.9
+99,35.6,25.2
+100,36.1,24.8
+101,36.3,24
+102,36.2,23.6
+103,36.2,23.5
+104,36.8,22.7
+105,37.2,20.9
+106,37,19.2
+107,36.3,18.4
+108,35.4,17.6
+109,35.2,14.9
+110,35.4,9.9
+111,35.5,4.3
+112,35.2,6.6
+113,34.9,10
+114,34.7,25.1
+115,34.4,29.3
+116,34.5,20.7
+117,35.2,16.6
+118,35.8,16.2
+119,35.6,20.3
+120,35.3,22.5
+121,35.3,23.4
+122,34.7,11.9
+123,45.5,0
+124,56.3,-1
+125,46.2,-1
+126,50.1,0
+127,54,-1
+128,40.5,-1
+129,27,-1
+130,13.5,-1
+131,0,0
+132,0,0
+133,0,0
+134,0,0
+135,0,0
+136,0,0
+137,0,0
+138,0,0
+139,0,0
+140,0,0
+141,0,0
+142,0,4.9
+143,0,7.3
+144,4.4,28.7
+145,11.1,26.4
+146,15,9.4
+147,15.9,0
+148,15.3,0
+149,14.2,0
+150,13.2,0
+151,11.6,0
+152,8.4,0
+153,5.4,0
+154,4.3,5.6
+155,5.8,24.4
+156,9.7,20.7
+157,13.6,21.1
+158,15.6,21.5
+159,16.5,21.9
+160,18,22.3
+161,21.1,46.9
+162,25.2,33.6
+163,28.1,16.6
+164,28.8,7
+165,27.5,5
+166,23.1,3
+167,16.9,1.9
+168,12.2,2.6
+169,9.9,3.2
+170,9.1,4
+171,8.8,3.8
+172,8.5,12.2
+173,8.2,29.4
+174,9.6,20.1
+175,14.7,16.3
+176,24.5,8.7
+177,39.4,3.3
+178,39,2.9
+179,38.5,5.9
+180,42.4,8
+181,38.2,6
+182,41.4,3.8
+183,44.6,5.4
+184,38.8,8.2
+185,37.5,8.9
+186,35.4,7.3
+187,28.4,7
+188,14.8,7
+189,0,5.9
+190,0,0
+191,0,0
+192,0,0
+193,0,0
+194,0,0
+195,0,0
+196,0,0
+197,0,0
+198,0,0
+199,0,0
+200,0,0
+201,0,0
+202,0,0
+203,0,0
+204,0,0
+205,0,0
+206,0,0
+207,0,0
+208,0,0
+209,0,0
+210,0,0
+211,0,0
+212,0,0
+213,0,0
+214,0,0
+215,0,0
+216,0,0
+217,0,0
+218,0,0
+219,0,0
+220,0,0
+221,0,0
+222,0,0
+223,0,0
+224,0,0
+225,0,0
+226,0,0
+227,0,0
+228,0,0
+229,0,0
+230,0,0
+231,0,0
+232,0,0
+233,0,0
+234,0,0
+235,0,0
+236,0,0
+237,0,0
+238,0,0
+239,0,0
+240,0,0
+241,0,0
+242,0,0
+243,0,0
+244,0,0
+245,0,0
+246,0,0
+247,0,0
+248,0,0
+249,0,0
+250,0,0
+251,0,0
+252,0,0
+253,0,31.6
+254,9.4,13.6
+255,22.2,16.9
+256,33,53.5
+257,43.7,22.1
+258,39.8,0
+259,36,45.7
+260,47.6,75.9
+261,61.2,70.4
+262,72.3,70.4
+263,76,-1
+264,74.3,-1
+265,68.5,-1
+266,61,-1
+267,56,-1
+268,54,-1
+269,53,-1
+270,50.8,-1
+271,46.8,-1
+272,41.7,-1
+273,35.9,-1
+274,29.2,-1
+275,20.7,-1
+276,10.1,-1
+277,0,-1
+278,0,0
+279,0,0
+280,0,0
+281,0,0
+282,0,0
+283,0,0
+284,0,0
+285,0,0
+286,0,0
+287,0,0
+288,0,0
+289,0,0
+290,0,0
+291,0,0
+292,0,0
+293,0,0
+294,0,0
+295,0,0
+296,0,0
+297,0,0
+298,0,0
+299,0,0
+300,0,0
+301,0,0
+302,0,0
+303,0,0
+304,0,0
+305,0,0
+306,0,0
+307,0,0
+308,0,0
+309,0,0
+310,0,0
+311,0,0
+312,0,0
+313,0,0
+314,0,0
+315,0,0
+316,0,0
+317,0,0
+318,0,0
+319,0,0
+320,0,0
+321,0,0
+322,0,0
+323,0,0
+324,4.5,41
+325,17.2,38.9
+326,30.1,36.8
+327,41,34.7
+328,50,32.6
+329,51.4,0.1
+330,47.8,-1
+331,40.2,-1
+332,32,-1
+333,24.4,-1
+334,16.8,-1
+335,8.1,-1
+336,0,-1
+337,0,0
+338,0,0
+339,0,0
+340,0,0
+341,0,0
+342,0,0
+343,0,0
+344,0,0
+345,0,0
+346,0,0
+347,0,0
+348,0,0
+349,0,0
+350,0,0
+351,0,0
+352,0,0
+353,0,0
+354,0,0.5
+355,0,4.9
+356,9.2,61.3
+357,22.4,40.4
+358,36.5,50.1
+359,47.7,21
+360,38.8,0
+361,30,37
+362,37,63.6
+363,45.5,90.8
+364,54.5,40.9
+365,45.9,0
+366,37.2,47.5
+367,44.5,84.4
+368,51.7,32.4
+369,58.1,15.2
+370,45.9,0
+371,33.6,35.8
+372,36.9,67
+373,40.2,84.7
+374,43.4,84.3
+375,45.7,84.3
+376,46.5,-1
+377,46.1,-1
+378,43.9,-1
+379,39.3,-1
+380,47,-1
+381,54.6,-1
+382,62,-1
+383,52,-1
+384,43,-1
+385,33.9,-1
+386,28.4,-1
+387,25.5,-1
+388,24.6,11
+389,25.2,14.7
+390,28.6,28.4
+391,35.5,65
+392,43.8,75.3
+393,51.2,34.2
+394,40.7,0
+395,30.3,45.4
+396,34.2,83.1
+397,37.6,85.3
+398,40.8,87.5
+399,44.8,89.7
+400,50.6,91.9
+401,57.6,94.1
+402,64.6,44.6
+403,51.6,0
+404,38.7,37.4
+405,42.4,70.3
+406,46.5,89.1
+407,50.6,93.9
+408,53.8,33
+409,55.5,20.3
+410,55.8,5.2
+411,55.4,-1
+412,54.4,-1
+413,53.1,-1
+414,51.8,-1
+415,50.3,-1
+416,48.4,-1
+417,45.9,-1
+418,43.1,-1
+419,40.1,-1
+420,37.4,-1
+421,35.1,-1
+422,32.8,-1
+423,45.3,0
+424,57.8,-1
+425,50.6,-1
+426,41.6,-1
+427,47.9,0
+428,54.2,-1
+429,48.1,-1
+430,47,31.3
+431,49,38.3
+432,52,40.1
+433,53.3,14.5
+434,52.6,0.8
+435,49.8,-1
+436,51,18.6
+437,56.9,38.9
+438,67.2,45
+439,78.6,21.5
+440,65.5,0
+441,52.4,31.3
+442,56.4,60.1
+443,59.7,29.2
+444,45.1,0
+445,30.6,4.2
+446,30.9,8.4
+447,30.5,4.3
+448,44.6,0
+449,58.8,-1
+450,55.1,-1
+451,50.6,-1
+452,45.3,-1
+453,39.3,-1
+454,49.1,0
+455,58.8,-1
+456,50.7,-1
+457,42.4,-1
+458,44.1,0
+459,45.7,-1
+460,32.5,-1
+461,20.7,-1
+462,10,-1
+463,0,0
+464,0,1.5
+465,0.9,41.1
+466,7,46.3
+467,12.8,48.5
+468,17,50.7
+469,20.9,52.9
+470,26.7,55
+471,35.5,57.2
+472,46.9,23.8
+473,44.5,0
+474,42.1,45.7
+475,55.6,77.4
+476,68.8,100
+477,81.7,47.9
+478,71.2,0
+479,60.7,38.3
+480,68.8,72.7
+481,75,-1
+482,61.3,-1
+483,53.5,-1
+484,45.9,58
+485,48.1,80
+486,49.4,97.9
+487,49.7,-1
+488,48.7,-1
+489,45.5,-1
+490,40.4,-1
+491,49.7,0
+492,59,-1
+493,48.9,-1
+494,40,-1
+495,33.5,-1
+496,30,-1
+497,29.1,12
+498,29.3,40.4
+499,30.4,29.3
+500,32.2,15.4
+501,33.9,15.8
+502,35.3,14.9
+503,36.4,15.1
+504,38,15.3
+505,40.3,50.9
+506,43,39.7
+507,45.5,20.6
+508,47.3,20.6
+509,48.8,22.1
+510,50.1,22.1
+511,51.4,42.4
+512,52.5,31.9
+513,53.7,21.6
+514,55.1,11.6
+515,56.8,5.7
+516,42.4,0
+517,27.9,8.2
+518,29,15.9
+519,30.4,25.1
+520,32.6,60.5
+521,35.4,72.7
+522,38.4,88.2
+523,41,65.1
+524,42.9,25.6
+525,44.2,15.8
+526,44.9,2.9
+527,45.1,-1
+528,44.8,-1
+529,43.9,-1
+530,42.4,-1
+531,40.2,-1
+532,37.1,-1
+533,47,0
+534,57,-1
+535,45.1,-1
+536,32.6,-1
+537,46.8,0
+538,61.5,-1
+539,56.7,-1
+540,46.9,-1
+541,37.5,-1
+542,30.3,-1
+543,27.3,32.3
+544,30.8,60.3
+545,41.2,62.3
+546,36,0
+547,30.8,32.3
+548,33.9,60.3
+549,34.6,38.4
+550,37,16.6
+551,42.7,62.3
+552,50.4,28.1
+553,40.1,0
+554,29.9,8
+555,32.5,15
+556,34.6,63.1
+557,36.7,58
+558,39.4,52.9
+559,42.8,47.8
+560,46.8,42.7
+561,50.7,27.5
+562,53.4,20.7
+563,54.2,13.1
+564,54.2,0.4
+565,53.4,0
+566,51.4,-1
+567,48.7,-1
+568,45.6,-1
+569,42.4,-1
+570,40.4,-1
+571,39.8,5.8
+572,40.7,39.7
+573,43.8,37.1
+574,48.1,39.1
+575,52,22
+576,54.7,13.2
+577,56.4,13.2
+578,57.5,6.6
+579,42.6,0
+580,27.7,10.9
+581,28.5,21.3
+582,29.2,23.9
+583,29.5,15.2
+584,29.7,8.8
+585,30.4,20.8
+586,31.9,22.9
+587,34.3,61.4
+588,37.2,76.6
+589,40.1,27.5
+590,42.3,25.4
+591,43.5,32
+592,43.8,6
+593,43.5,-1
+594,42.8,-1
+595,41.7,-1
+596,40.4,-1
+597,39.3,-1
+598,38.9,12.9
+599,39,18.4
+600,39.7,39.2
+601,41.4,60
+602,43.7,54.5
+603,46.2,64.2
+604,48.8,73.3
+605,51,82.3
+606,52.1,0
+607,52,-1
+608,50.9,-1
+609,49.4,-1
+610,47.8,-1
+611,46.6,-1
+612,47.3,35.3
+613,49.2,74.1
+614,51.1,95.2
+615,51.7,-1
+616,50.8,-1
+617,47.3,-1
+618,41.8,-1
+619,36.4,-1
+620,30.9,-1
+621,25.5,37.1
+622,33.8,38.4
+623,42.1,-1
+624,34.1,-1
+625,33,37.1
+626,36.4,38.4
+627,43.3,17.1
+628,35.7,0
+629,28.1,11.6
+630,36.5,19.2
+631,45.2,8.3
+632,36.5,0
+633,27.9,32.6
+634,31.5,59.6
+635,34.4,65.2
+636,37,59.6
+637,39,49
+638,40.2,-1
+639,39.8,-1
+640,36,-1
+641,29.7,-1
+642,21.5,-1
+643,14.1,-1
+644,0,0
+645,0,0
+646,0,0
+647,0,0
+648,0,0
+649,0,0
+650,0,0
+651,0,0
+652,0,0
+653,0,0
+654,0,0
+655,0,0
+656,0,3.4
+657,1.4,22
+658,10.1,45.3
+659,21.5,10
+660,32.2,0
+661,42.3,46
+662,57.1,74.1
+663,72.1,34.2
+664,66.9,0
+665,60.4,41.8
+666,69.1,79
+667,77.1,38.3
+668,63.1,0
+669,49.1,47.9
+670,53.4,91.3
+671,57.5,85.7
+672,61.5,89.2
+673,65.5,85.9
+674,69.5,89.5
+675,73.1,75.5
+676,76.2,73.6
+677,79.1,75.6
+678,81.8,78.2
+679,84.1,39
+680,69.6,0
+681,55,25.2
+682,55.8,49.9
+683,56.7,46.4
+684,57.6,76.3
+685,58.4,92.7
+686,59.3,99.9
+687,60.1,95
+688,61,46.7
+689,46.6,0
+690,32.3,34.6
+691,32.7,68.6
+692,32.6,67
+693,31.3,-1
+694,28.1,-1
+695,43,0
+696,58,-1
+697,58.9,-1
+698,49.4,-1
+699,41.5,-1
+700,48.4,0
+701,55.3,-1
+702,41.8,-1
+703,31.6,-1
+704,24.6,-1
+705,15.2,-1
+706,7,-1
+707,0,0
+708,0,0
+709,0,0
+710,0,0
+711,0,0
+712,0,0
+713,0,0
+714,0,0
+715,0,0
+716,0,0
+717,0,0
+718,0,0
+719,0,0
+720,0,0
+721,0,0
+722,0,0
+723,0,0
+724,0,0
+725,0,0
+726,0,0
+727,0,0
+728,0,0
+729,0,0
+730,0,0
+731,0,0
+732,0,0
+733,0,0
+734,0,0
+735,0,0
+736,0,0
+737,0,0
+738,0,0
+739,0,0
+740,0,0
+741,0,0
+742,0,0
+743,0,0
+744,0,0
+745,0,0
+746,0,0
+747,0,0
+748,0,0
+749,0,0
+750,0,0
+751,0,0
+752,0,0
+753,0,0
+754,0,0
+755,0,0
+756,0,0
+757,0,0
+758,0,0
+759,0,0
+760,0,0
+761,0,0
+762,0,0
+763,0,0
+764,0,0
+765,0,0
+766,0,0
+767,0,0
+768,0,0
+769,0,0
+770,0,0
+771,0,22
+772,4.5,25.8
+773,15.5,42.8
+774,30.5,46.8
+775,45.5,29.3
+776,49.2,13.6
+777,39.5,0
+778,29.7,15.1
+779,34.8,26.9
+780,40,13.6
+781,42.2,-1
+782,42.1,-1
+783,40.8,-1
+784,37.7,37.6
+785,47,35
+786,48.8,33.4
+787,41.7,-1
+788,27.7,-1
+789,17.2,-1
+790,14,37.6
+791,18.4,25
+792,27.6,17.7
+793,39.8,6.8
+794,34.3,0
+795,28.7,26.5
+796,41.5,40.9
+797,53.7,17.5
+798,42.4,0
+799,31.2,27.3
+800,32.3,53.2
+801,34.5,60.6
+802,37.6,68
+803,41.2,75.4
+804,45.8,82.8
+805,52.3,38.2
+806,42.5,0
+807,32.6,30.5
+808,35,57.9
+809,36,77.3
+810,37.1,96.8
+811,39.6,80.8
+812,43.4,78.3
+813,47.2,73.4
+814,49.6,66.9
+815,50.2,62
+816,50.2,57.7
+817,50.6,62.1
+818,52.3,62.9
+819,54.8,37.5
+820,57,18.3
+821,42.3,0
+822,27.6,29.1
+823,28.4,57
+824,29.1,51.8
+825,29.6,35.3
+826,29.7,33.3
+827,29.8,17.7
+828,29.5,-1
+829,28.9,-1
+830,43,0
+831,57.1,-1
+832,57.7,-1
+833,56,-1
+834,53.8,-1
+835,51.2,-1
+836,48.1,-1
+837,44.5,-1
+838,40.9,-1
+839,38.1,-1
+840,37.2,42.7
+841,37.5,70.8
+842,39.1,48.6
+843,41.3,0.1
+844,42.3,-1
+845,42,-1
+846,40.8,-1
+847,38.6,-1
+848,35.5,-1
+849,32.1,-1
+850,29.6,-1
+851,28.8,39.9
+852,29.2,52.9
+853,30.9,76.1
+854,34.3,76.5
+855,38.3,75.5
+856,42.5,74.8
+857,46.6,74.2
+858,50.7,76.2
+859,54.8,75.1
+860,58.7,36.3
+861,45.2,0
+862,31.8,37.2
+863,33.8,71.2
+864,35.5,46.4
+865,36.6,33.6
+866,37.2,20
+867,37.2,-1
+868,37,-1
+869,36.6,-1
+870,36,-1
+871,35.4,-1
+872,34.7,-1
+873,34.1,-1
+874,33.6,-1
+875,33.3,-1
+876,33.1,-1
+877,32.7,-1
+878,31.4,-1
+879,45,0
+880,58.5,-1
+881,53.7,-1
+882,47.5,-1
+883,40.6,-1
+884,34.1,-1
+885,45.3,0
+886,56.4,-1
+887,51,-1
+888,44.5,-1
+889,36.4,-1
+890,26.6,-1
+891,20,-1
+892,13.3,-1
+893,6.7,-1
+894,0,0
+895,0,0
+896,0,0
+897,0,0
+898,0,0
+899,0,0
+900,0,0
+901,0,5.8
+902,2.5,27.9
+903,12.4,29
+904,19.4,30.1
+905,29.3,31.2
+906,37.1,10.4
+907,40.6,4.9
+908,35.8,0
+909,30.9,7.6
+910,35.4,13.8
+911,36.5,11.1
+912,40.8,48.5
+913,49.8,3.7
+914,41.2,0
+915,32.7,29.7
+916,39.4,52.1
+917,48.8,22.7
+918,41.6,0
+919,34.5,46.6
+920,39.7,84.4
+921,44.7,83.2
+922,49.5,78.9
+923,52.3,83.8
+924,53.4,77.7
+925,52.1,69.6
+926,47.9,63.6
+927,46.4,55.2
+928,46.5,53.6
+929,46.4,62.3
+930,46.1,58.2
+931,46.2,61.8
+932,47.3,62.3
+933,49.3,57.1
+934,52.6,58.1
+935,56.3,56
+936,59.9,27.2
+937,45.8,0
+938,31.8,28.8
+939,32.7,56.5
+940,33.4,62.8
+941,34.6,68.2
+942,35.8,68.6
+943,38.6,65
+944,42.3,61.9
+945,44.1,65.3
+946,45.3,63.2
+947,46.5,30.6
+948,46.7,11.1
+949,45.9,16.1
+950,45.6,21.8
+951,45.9,24.2
+952,46.5,24.7
+953,46.7,24.7
+954,46.8,28.2
+955,47.2,31.2
+956,47.6,29.6
+957,48.2,31.2
+958,48.6,33.5
+959,48.8,-1
+960,47.6,-1
+961,46.3,-1
+962,45.2,-1
+963,43.5,-1
+964,41.4,-1
+965,40.3,-1
+966,39.4,-1
+967,38,-1
+968,36.3,-1
+969,35.3,5.8
+970,35.4,30.2
+971,36.6,55.6
+972,38.6,48.5
+973,39.9,41.8
+974,40.3,38.2
+975,40.8,35
+976,41.9,32.4
+977,43.2,26.4
+978,43.5,-1
+979,42.9,-1
+980,41.5,-1
+981,40.9,-1
+982,40.5,-1
+983,39.5,-1
+984,38.3,-1
+985,36.9,-1
+986,35.4,-1
+987,34.5,-1
+988,33.9,-1
+989,32.6,-1
+990,30.9,-1
+991,29.9,-1
+992,29.2,-1
+993,44.1,0
+994,59.1,-1
+995,56.8,-1
+996,53.5,-1
+997,47.8,-1
+998,41.9,-1
+999,35.9,-1
+1000,44.3,0
+1001,52.6,-1
+1002,43.4,-1
+1003,50.6,0
+1004,57.8,-1
+1005,51.6,-1
+1006,44.8,-1
+1007,48.6,0
+1008,52.4,-1
+1009,45.4,-1
+1010,37.2,-1
+1011,26.3,-1
+1012,17.9,-1
+1013,16.2,1.9
+1014,17.8,7.5
+1015,25.2,18
+1016,39.7,6.5
+1017,38.6,0
+1018,37.4,5.4
+1019,43.4,9.7
+1020,46.9,15.7
+1021,52.5,13.1
+1022,56.2,6.3
+1023,44,0
+1024,31.8,20.9
+1025,38.7,36.3
+1026,47.7,47.5
+1027,54.5,22
+1028,41.3,0
+1029,28.1,26.8
+1030,31.6,49.2
+1031,34.5,39.5
+1032,36.4,24
+1033,36.7,-1
+1034,35.5,-1
+1035,33.8,-1
+1036,33.7,19.8
+1037,35.3,35.1
+1038,38,33.9
+1039,40.1,34.5
+1040,42.2,40.4
+1041,45.2,44
+1042,48.3,35.9
+1043,50.1,29.6
+1044,52.3,38.5
+1045,55.3,57.7
+1046,57,50.7
+1047,57.7,25.2
+1048,42.9,0
+1049,28.2,15.7
+1050,29.2,30.5
+1051,31.1,52.6
+1052,33.4,60.7
+1053,35,61.4
+1054,35.3,18.2
+1055,35.2,14.9
+1056,34.9,11.7
+1057,34.5,12.9
+1058,34.1,15.5
+1059,33.5,-1
+1060,31.8,-1
+1061,30.1,-1
+1062,29.6,10.3
+1063,30,26.5
+1064,31,18.8
+1065,31.5,26.5
+1066,31.7,-1
+1067,31.5,-1
+1068,30.6,-1
+1069,30,-1
+1070,30,-1
+1071,29.4,-1
+1072,44.3,0
+1073,59.2,-1
+1074,58.3,-1
+1075,57.1,-1
+1076,55.4,-1
+1077,53.5,-1
+1078,51.5,-1
+1079,49.7,-1
+1080,47.9,-1
+1081,46.4,-1
+1082,45.5,-1
+1083,45.2,-1
+1084,44.3,-1
+1085,43.6,-1
+1086,43.1,-1
+1087,42.5,25.6
+1088,43.3,25.7
+1089,46.3,24
+1090,47.8,20.6
+1091,47.2,3.8
+1092,45.6,4.4
+1093,44.6,4.1
+1094,44.1,-1
+1095,42.9,-1
+1096,40.9,-1
+1097,39.2,-1
+1098,37,-1
+1099,35.1,2
+1100,35.6,43.3
+1101,38.7,47.6
+1102,41.3,40.4
+1103,42.6,45.7
+1104,43.9,43.3
+1105,46.9,41.2
+1106,52.4,40.1
+1107,56.3,39.3
+1108,57.4,25.5
+1109,57.2,25.4
+1110,57,25.4
+1111,56.8,25.3
+1112,56.3,25.3
+1113,55.6,25.2
+1114,56.2,25.2
+1115,58,12.4
+1116,43.4,0
+1117,28.8,26.2
+1118,30.9,49.9
+1119,32.3,40.5
+1120,32.5,12.4
+1121,32.4,12.2
+1122,32.1,6.4
+1123,31,12.4
+1124,30.1,18.5
+1125,30.4,35.6
+1126,31.2,30.1
+1127,31.5,30.8
+1128,31.5,26.9
+1129,31.7,33.9
+1130,32,29.9
+1131,32.1,-1
+1132,31.4,-1
+1133,30.3,-1
+1134,29.8,-1
+1135,44.3,0
+1136,58.9,-1
+1137,52.1,-1
+1138,44.1,-1
+1139,51.7,0
+1140,59.2,-1
+1141,47.2,-1
+1142,35.1,0
+1143,23.1,-1
+1144,13.1,-1
+1145,5,-1
+1146,0,0
+1147,0,0
+1148,0,0
+1149,0,0
+1150,0,0
+1151,0,0
+1152,0,0
+1153,0,0
+1154,0,0
+1155,0,0
+1156,0,0
+1157,0,0
+1158,0,0
+1159,0,0
+1160,0,0
+1161,0,0
+1162,0,0
+1163,0,0
+1164,0,0
+1165,0,0
+1166,0,0
+1167,0,0
+1168,0,0
+1169,0,0
+1170,0,0
+1171,0,0
+1172,0,0
+1173,0,0
+1174,0,0
+1175,0,0
+1176,0,0
+1177,0,0
+1178,0,0
+1179,0,0
+1180,0,0
+1181,0,0
+1182,0,0
+1183,0,0
+1184,0,0
+1185,0,0
+1186,0,0
+1187,0,0
+1188,0,0
+1189,0,0
+1190,0,0
+1191,0,0
+1192,0,0
+1193,0,0
+1194,0,0
+1195,0,0
+1196,0,20.4
+1197,12.6,41.2
+1198,27.3,20.4
+1199,40.4,7.6
+1200,46.1,-1
+1201,44.6,-1
+1202,42.7,14.7
+1203,42.9,7.3
+1204,36.1,0
+1205,29.3,15
+1206,43.8,22.6
+1207,54.9,9.9
+1208,44.9,0
+1209,34.9,47.4
+1210,42.7,82.7
+1211,52,81.2
+1212,61.8,82.7
+1213,71.3,39.1
+1214,58.1,0
+1215,44.9,42.5
+1216,46.3,83.3
+1217,46.8,74.1
+1218,48.1,75.7
+1219,50.5,75.8
+1220,53.6,76.7
+1221,56.9,77.1
+1222,60.2,78.7
+1223,63.7,78
+1224,67.2,79.6
+1225,70.7,80.9
+1226,74.1,81.1
+1227,77.5,83.6
+1228,80.8,85.6
+1229,84.1,81.6
+1230,87.4,88.3
+1231,90.5,91.9
+1232,93.5,94.1
+1233,96.8,96.6
+1234,100,-1
+1235,96,-1
+1236,81.9,-1
+1237,68.1,-1
+1238,58.1,84.7
+1239,58.5,85.4
+1240,59.5,85.6
+1241,61,86.6
+1242,62.6,86.8
+1243,64.1,87.6
+1244,65.4,87.5
+1245,66.7,87.8
+1246,68.1,43.5
+1247,55.2,0
+1248,42.3,37.2
+1249,43,73.6
+1250,43.5,65.1
+1251,43.8,53.1
+1252,43.9,54.6
+1253,43.9,41.2
+1254,43.8,34.8
+1255,43.6,30.3
+1256,43.3,21.9
+1257,42.8,19.9
+1258,42.3,-1
+1259,41.4,-1
+1260,40.2,-1
+1261,38.7,-1
+1262,37.1,-1
+1263,35.6,-1
+1264,34.2,-1
+1265,32.9,-1
+1266,31.8,-1
+1267,30.7,-1
+1268,29.6,-1
+1269,40.4,0
+1270,51.2,-1
+1271,49.6,-1
+1272,48,-1
+1273,46.4,-1
+1274,45,-1
+1275,43.6,-1
+1276,42.3,-1
+1277,41,-1
+1278,39.6,-1
+1279,38.3,-1
+1280,37.1,-1
+1281,35.9,-1
+1282,34.6,-1
+1283,33,-1
+1284,31.1,-1
+1285,29.2,-1
+1286,43.3,0
+1287,57.4,32.8
+1288,59.9,65.4
+1289,61.9,76.1
+1290,65.6,73.7
+1291,69.9,79.3
+1292,74.1,81.3
+1293,78.3,83.2
+1294,82.6,86
+1295,87,89.5
+1296,91.2,90.8
+1297,95.3,45.9
+1298,81,0
+1299,66.6,38.2
+1300,67.9,75.5
+1301,68.4,80.5
+1302,69,85.5
+1303,70,85.2
+1304,71.6,85.9
+1305,73.3,86.2
+1306,74.8,86.5
+1307,76.3,42.9
+1308,63.3,0
+1309,50.4,21.2
+1310,50.6,42.3
+1311,50.6,53.7
+1312,50.4,90.1
+1313,50.5,97.1
+1314,51,100
+1315,51.9,100
+1316,52.6,100
+1317,52.8,32.4
+1318,47.7,0
+1319,42.6,27.4
+1320,42.1,53.5
+1321,41.8,44.5
+1322,41.4,41.1
+1323,41,21
+1324,40.3,0
+1325,39.3,1
+1326,38.3,15.2
+1327,37.6,57.8
+1328,37.3,73.2
+1329,37.3,59.8
+1330,37.4,52.2
+1331,37.4,16.9
+1332,37.1,34.3
+1333,36.7,51.9
+1334,36.2,25.3
+1335,35.6,-1
+1336,34.6,-1
+1337,33.2,-1
+1338,31.6,-1
+1339,30.1,-1
+1340,28.8,-1
+1341,28,29.5
+1342,28.6,100
+1343,28.8,97.3
+1344,28.8,73.4
+1345,29.6,56.9
+1346,30.3,91.7
+1347,31,90.5
+1348,31.8,81.7
+1349,32.6,79.5
+1350,33.5,86.9
+1351,34.6,100
+1352,35.6,78.7
+1353,36.4,50.5
+1354,37,57
+1355,37.3,69.1
+1356,37.6,49.5
+1357,37.8,44.4
+1358,37.8,43.4
+1359,37.8,34.8
+1360,37.6,24
+1361,37.2,-1
+1362,36.3,-1
+1363,35.1,-1
+1364,33.7,-1
+1365,32.4,-1
+1366,31.1,-1
+1367,29.9,-1
+1368,28.7,-1
+1369,29,58.6
+1370,29.7,88.5
+1371,31,86.3
+1372,31.8,43.4
+1373,31.7,-1
+1374,29.9,-1
+1375,40.2,0
+1376,50.4,-1
+1377,47.9,-1
+1378,45,-1
+1379,43,-1
+1380,40.6,-1
+1381,55.5,0
+1382,70.4,41.7
+1383,73.4,83.2
+1384,74,83.7
+1385,74.9,41.7
+1386,60,0
+1387,45.1,41.6
+1388,47.7,84.2
+1389,50.4,50.2
+1390,53,26.1
+1391,59.5,0
+1392,66.2,38.4
+1393,66.4,76.7
+1394,67.6,100
+1395,68.4,76.6
+1396,68.2,47.2
+1397,69,81.4
+1398,69.7,40.6
+1399,54.7,0
+1400,39.8,19.9
+1401,36.3,40
+1402,36.7,59.4
+1403,36.6,77.5
+1404,36.8,94.3
+1405,36.8,100
+1406,36.4,100
+1407,36.3,79.7
+1408,36.7,49.5
+1409,36.6,39.3
+1410,37.3,62.8
+1411,38.1,73.4
+1412,39,72.9
+1413,40.2,72
+1414,41.5,71.2
+1415,42.9,77.3
+1416,44.4,76.6
+1417,45.4,43.1
+1418,45.3,53.9
+1419,45.1,64.8
+1420,46.5,74.2
+1421,47.7,75.2
+1422,48.1,75.5
+1423,48.6,75.8
+1424,48.9,76.3
+1425,49.9,75.5
+1426,50.4,75.2
+1427,51.1,74.6
+1428,51.9,75
+1429,52.7,37.2
+1430,41.6,0
+1431,30.4,36.6
+1432,30.5,73.2
+1433,30.3,81.6
+1434,30.4,89.3
+1435,31.5,90.4
+1436,32.7,88.5
+1437,33.7,97.2
+1438,35.2,99.7
+1439,36.3,98.8
+1440,37.7,100
+1441,39.2,100
+1442,40.9,100
+1443,42.4,99.5
+1444,43.8,98.7
+1445,45.4,97.3
+1446,47,96.6
+1447,47.8,96.2
+1448,48.8,96.3
+1449,50.5,95.1
+1450,51,95.9
+1451,52,94.3
+1452,52.6,94.6
+1453,53,65.5
+1454,53.2,0
+1455,53.2,-1
+1456,52.6,-1
+1457,52.1,-1
+1458,51.8,-1
+1459,51.3,-1
+1460,50.7,-1
+1461,50.7,-1
+1462,49.8,-1
+1463,49.4,-1
+1464,49.3,-1
+1465,49.1,-1
+1466,49.1,-1
+1467,49.1,8.3
+1468,48.9,16.8
+1469,48.8,21.3
+1470,49.1,22.1
+1471,49.4,26.3
+1472,49.8,39.2
+1473,50.4,83.4
+1474,51.4,90.6
+1475,52.3,93.8
+1476,53.3,94
+1477,54.2,94.1
+1478,54.9,94.3
+1479,55.7,94.6
+1480,56.1,94.9
+1481,56.3,86.2
+1482,56.2,64.1
+1483,56,46.1
+1484,56.2,33.4
+1485,56.5,23.6
+1486,56.3,18.6
+1487,55.7,16.2
+1488,56,15.9
+1489,55.9,21.8
+1490,55.8,20.9
+1491,55.4,18.4
+1492,55.7,25.1
+1493,56,27.7
+1494,55.8,22.4
+1495,56.1,20
+1496,55.7,17.4
+1497,55.9,20.9
+1498,56,22.9
+1499,56,21.1
+1500,55.1,19.2
+1501,55.6,24.2
+1502,55.4,25.6
+1503,55.7,24.7
+1504,55.9,24
+1505,55.4,23.5
+1506,55.7,30.9
+1507,55.4,42.5
+1508,55.3,25.8
+1509,55.4,1.3
+1510,55,-1
+1511,54.4,-1
+1512,54.2,-1
+1513,53.5,-1
+1514,52.4,-1
+1515,51.8,-1
+1516,50.7,-1
+1517,49.9,-1
+1518,49.1,-1
+1519,47.7,-1
+1520,47.3,-1
+1521,46.9,-1
+1522,46.9,-1
+1523,47.2,-1
+1524,47.8,-1
+1525,48.2,0
+1526,48.8,23
+1527,49.1,67.9
+1528,49.4,73.7
+1529,49.8,75
+1530,50.4,75.8
+1531,51.4,73.9
+1532,52.3,72.2
+1533,53.3,71.2
+1534,54.6,71.2
+1535,55.4,68.7
+1536,56.7,67
+1537,57.2,64.6
+1538,57.3,61.9
+1539,57,59.5
+1540,56.7,57
+1541,56.7,69.8
+1542,56.8,58.5
+1543,56.8,47.2
+1544,57,38.5
+1545,57,32.8
+1546,56.8,30.2
+1547,57,27
+1548,56.9,26.2
+1549,56.7,26.2
+1550,57,26.6
+1551,56.7,27.8
+1552,56.7,29.7
+1553,56.8,32.1
+1554,56.5,34.9
+1555,56.6,34.9
+1556,56.3,35.8
+1557,56.6,36.6
+1558,56.2,37.6
+1559,56.6,38.2
+1560,56.2,37.9
+1561,56.6,37.5
+1562,56.4,36.7
+1563,56.5,34.8
+1564,56.5,35.8
+1565,56.5,36.2
+1566,56.5,36.7
+1567,56.7,37.8
+1568,56.7,37.8
+1569,56.6,36.6
+1570,56.8,36.1
+1571,56.5,36.8
+1572,56.9,35.9
+1573,56.7,35
+1574,56.5,36
+1575,56.4,36.5
+1576,56.5,38
+1577,56.5,39.9
+1578,56.4,42.1
+1579,56.5,47
+1580,56.4,48
+1581,56.1,49.1
+1582,56.4,48.9
+1583,56.4,48.2
+1584,56.5,48.3
+1585,56.5,47.9
+1586,56.6,46.8
+1587,56.6,46.2
+1588,56.5,44.4
+1589,56.8,42.9
+1590,56.5,42.8
+1591,56.7,43.2
+1592,56.5,42.8
+1593,56.9,42.2
+1594,56.5,43.1
+1595,56.5,42.9
+1596,56.7,42.7
+1597,56.6,41.5
+1598,56.9,41.8
+1599,56.6,41.9
+1600,56.7,42.6
+1601,56.7,42.6
+1602,56.7,41.5
+1603,56.7,42.2
+1604,56.5,42.2
+1605,56.8,41.9
+1606,56.5,42
+1607,56.7,42.1
+1608,56.4,41.9
+1609,56.7,42.9
+1610,56.7,41.8
+1611,56.7,41.9
+1612,56.8,42
+1613,56.7,41.5
+1614,56.6,41.9
+1615,56.8,41.6
+1616,56.6,41.6
+1617,56.9,42
+1618,56.7,40.7
+1619,56.7,39.3
+1620,56.5,41.4
+1621,56.4,44.9
+1622,56.8,45.2
+1623,56.6,43.6
+1624,56.8,42.2
+1625,56.5,42.3
+1626,56.5,44.4
+1627,56.9,45.1
+1628,56.4,45
+1629,56.7,46.3
+1630,56.7,45.5
+1631,56.8,45
+1632,56.7,44.9
+1633,56.6,45.2
+1634,56.8,46
+1635,56.5,46.6
+1636,56.6,48.3
+1637,56.4,48.6
+1638,56.6,50.3
+1639,56.3,51.9
+1640,56.5,54.1
+1641,56.3,54.9
+1642,56.4,55
+1643,56.4,56.2
+1644,56.2,58.6
+1645,56.2,59.1
+1646,56.2,62.5
+1647,56.4,62.8
+1648,56,64.7
+1649,56.4,65.6
+1650,56.2,67.7
+1651,55.9,68.9
+1652,56.1,68.9
+1653,55.8,69.5
+1654,56,69.8
+1655,56.2,69.3
+1656,56.2,69.8
+1657,56.4,69.2
+1658,56.3,68.7
+1659,56.2,69.4
+1660,56.2,69.5
+1661,56.2,70
+1662,56.4,69.7
+1663,56.2,70.2
+1664,56.4,70.5
+1665,56.1,70.5
+1666,56.5,69.7
+1667,56.2,69.3
+1668,56.5,70.9
+1669,56.4,70.8
+1670,56.3,71.1
+1671,56.4,71
+1672,56.7,68.6
+1673,56.8,68.6
+1674,56.6,68
+1675,56.8,65.1
+1676,56.9,60.9
+1677,57.1,57.4
+1678,57.1,54.3
+1679,57,48.6
+1680,57.4,44.1
+1681,57.4,40.2
+1682,57.6,36.9
+1683,57.5,34.2
+1684,57.4,31.1
+1685,57.5,25.9
+1686,57.5,20.7
+1687,57.6,16.4
+1688,57.6,12.4
+1689,57.6,8.9
+1690,57.5,8
+1691,57.5,5.8
+1692,57.3,5.8
+1693,57.6,5.5
+1694,57.3,4.5
+1695,57.2,3.2
+1696,57.2,3.1
+1697,57.3,4.9
+1698,57.3,4.2
+1699,56.9,5.5
+1700,57.1,5.1
+1701,57,5.2
+1702,56.9,5.5
+1703,56.6,5.4
+1704,57.1,6.1
+1705,56.7,5.7
+1706,56.8,5.8
+1707,57,6.1
+1708,56.7,5.9
+1709,57,6.6
+1710,56.9,6.4
+1711,56.7,6.7
+1712,56.9,6.9
+1713,56.8,5.6
+1714,56.6,5.1
+1715,56.6,6.5
+1716,56.5,10
+1717,56.6,12.4
+1718,56.5,14.5
+1719,56.6,16.3
+1720,56.3,18.1
+1721,56.6,20.7
+1722,56.1,22.6
+1723,56.3,25.8
+1724,56.4,27.7
+1725,56,29.7
+1726,56.1,32.6
+1727,55.9,34.9
+1728,55.9,36.4
+1729,56,39.2
+1730,55.9,41.4
+1731,55.5,44.2
+1732,55.9,46.4
+1733,55.8,48.3
+1734,55.6,49.1
+1735,55.8,49.3
+1736,55.9,47.7
+1737,55.9,47.4
+1738,55.8,46.9
+1739,56.1,46.8
+1740,56.1,45.8
+1741,56.2,46
+1742,56.3,45.9
+1743,56.3,45.9
+1744,56.2,44.6
+1745,56.2,46
+1746,56.4,46.2
+1747,55.8,-1
+1748,55.5,-1
+1749,55,-1
+1750,54.1,-1
+1751,54,-1
+1752,53.3,-1
+1753,52.6,-1
+1754,51.8,-1
+1755,50.7,-1
+1756,49.9,-1
+1757,49.1,-1
+1758,47.7,-1
+1759,46.8,-1
+1760,45.7,-1
+1761,44.8,-1
+1762,43.9,-1
+1763,42.9,-1
+1764,41.5,-1
+1765,39.5,-1
+1766,36.7,-1
+1767,33.8,-1
+1768,31,-1
+1769,40,0
+1770,49.1,-1
+1771,46.2,-1
+1772,43.1,-1
+1773,39.9,-1
+1774,36.6,-1
+1775,33.6,-1
+1776,30.5,-1
+1777,42.8,0
+1778,55.2,-1
+1779,49.9,-1
+1780,44,-1
+1781,37.6,-1
+1782,47.2,0
+1783,56.8,-1
+1784,47.5,-1
+1785,42.9,-1
+1786,31.6,-1
+1787,25.8,-1
+1788,19.9,-1
+1789,14,-1
+1790,8.1,-1
+1791,2.2,-1
+1792,0,0
+1793,0,0
+1794,0,0
+1795,0,0
+1796,0,0
+1797,0,0
+1798,0,0
+1799,0,0
+1800,0,0
diff --git a/VectoCore/Resources/Declaration/Wheels.csv b/VectoCore/Resources/Declaration/Wheels.csv
index bf914bd990051ea4fb2d7ed82937cbff8b9652fd..782e9ba6938fbc3f94f01f1b48bdd568536ed417 100644
--- a/VectoCore/Resources/Declaration/Wheels.csv
+++ b/VectoCore/Resources/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/VectoCore/Utils/DataRowExtensionMethods.cs b/VectoCore/Utils/DataTableExtensionMethods.cs
similarity index 91%
rename from VectoCore/Utils/DataRowExtensionMethods.cs
rename to VectoCore/Utils/DataTableExtensionMethods.cs
index 5b91b0f7a8e9d52704cf8635aca874d58fdfebcb..e08d00b1329fe9a2e4156371e6d062358298722d 100644
--- a/VectoCore/Utils/DataRowExtensionMethods.cs
+++ b/VectoCore/Utils/DataTableExtensionMethods.cs
@@ -6,7 +6,7 @@ using TUGraz.VectoCore.Exceptions;
 
 namespace TUGraz.VectoCore.Utils
 {
-	public static class DataRowExtensionMethods
+	public static class DataTableExtensionMethods
 	{
 		public static double ParseDoubleOrGetDefault(this DataRow row, string columnName,
 			double defaultValue = default(double))
@@ -53,5 +53,10 @@ namespace TUGraz.VectoCore.Utils
 				throw new VectoException(string.Format("Field {0}: {1}", column, e.Message), e);
 			}
 		}
+
+		public static IEnumerable<T> Values<T>(this DataColumn column)
+		{
+			return column.Table.AsEnumerable().Select(r => r.Field<T>(column));
+		}
 	}
 }
\ No newline at end of file
diff --git a/VectoCore/Utils/DoubleExtensionMethods.cs b/VectoCore/Utils/DoubleExtensionMethods.cs
index c616f65a303c1542e5b112226bd499d52b59bde3..813c467d955da1a563f6c49f501a2c6d97f62b80 100644
--- a/VectoCore/Utils/DoubleExtensionMethods.cs
+++ b/VectoCore/Utils/DoubleExtensionMethods.cs
@@ -1,4 +1,6 @@
 using System;
+using System.Collections.Generic;
+using System.Linq;
 
 namespace TUGraz.VectoCore.Utils
 {
@@ -100,7 +102,7 @@ namespace TUGraz.VectoCore.Utils
 		/// <returns></returns>
 		public static SI SI(this double self)
 		{
-			return (SI)self;
+			return (SI) self;
 		}
 
 		/// <summary>
@@ -113,5 +115,10 @@ namespace TUGraz.VectoCore.Utils
 		{
 			return SIBase<T>.Create(self);
 		}
+
+		public static IEnumerable<T> SI<T>(this IEnumerable<double> self) where T : SIBase<T>
+		{
+			return self.Select(x => x.SI<T>());
+		}
 	}
 }
\ No newline at end of file
diff --git a/VectoCore/Utils/IntExtensionMethods.cs b/VectoCore/Utils/IntExtensionMethods.cs
index 2381c3bdd317947adfe8422aa8ad22974398eeef..265ed5e69eecbca12827e41652640f781eb57e84 100644
--- a/VectoCore/Utils/IntExtensionMethods.cs
+++ b/VectoCore/Utils/IntExtensionMethods.cs
@@ -1,6 +1,3 @@
-using System;
-using System.Diagnostics.Contracts;
-
 namespace TUGraz.VectoCore.Utils
 {
 	public static class IntExtensionMethods
@@ -34,5 +31,16 @@ namespace TUGraz.VectoCore.Utils
 		{
 			return SIBase<T>.Create(d);
 		}
+
+        /// <summary>
+        /// Modulo functions which also works on negative Numbers (not like the built-in %-operator which just returns the remainder).
+        /// </summary>
+        /// <param name="a"></param>
+        /// <param name="b"></param>
+        /// <returns></returns>
+        public static int Mod(this int a, int b)
+        {
+            return (a %= b) < 0 ? a + b : a;
+        }
 	}
 }
\ No newline at end of file
diff --git a/VectoCore/Utils/RessourceHelper.cs b/VectoCore/Utils/RessourceHelper.cs
index 5aa9a5e8bc8400355da839e2c8c26d1b304919c6..29ca9f6339d524b2636a3ae19b6fc4ddfbc44184 100644
--- a/VectoCore/Utils/RessourceHelper.cs
+++ b/VectoCore/Utils/RessourceHelper.cs
@@ -1,14 +1,19 @@
 using System.IO;
 using System.Reflection;
+using TUGraz.VectoCore.Exceptions;
 
-namespace TUGraz.VectoCore.Models
+namespace TUGraz.VectoCore.Utils
 {
 	public static class RessourceHelper
 	{
 		public static Stream ReadStream(string resourceName)
 		{
 			var assembly = Assembly.GetExecutingAssembly();
-			return assembly.GetManifestResourceStream(resourceName);
+			var resource = assembly.GetManifestResourceStream(resourceName);
+			if (resource == null) {
+				throw new VectoException("Resource file not found: " + resourceName);
+			}
+			return resource;
 		}
 	}
 }
\ No newline at end of file
diff --git a/VectoCore/Utils/StringExtensionMethods.cs b/VectoCore/Utils/StringExtensionMethods.cs
index c72e97e05a7d5b3525d3e11e34f5af2addcc549e..f120770506f54fc6e4c54b166bc85a4f35e9aa5c 100644
--- a/VectoCore/Utils/StringExtensionMethods.cs
+++ b/VectoCore/Utils/StringExtensionMethods.cs
@@ -1,3 +1,4 @@
+using System;
 using System.Globalization;
 
 namespace TUGraz.VectoCore.Utils
@@ -8,5 +9,14 @@ namespace TUGraz.VectoCore.Utils
 		{
 			return double.Parse(self, CultureInfo.InvariantCulture);
 		}
+
+		public static string Slice(this string s, int from = 0, int to = int.MaxValue)
+		{
+			from = Math.Min(Math.Max(from, -s.Length), s.Length);
+			from = from < 0 ? from + s.Length : from;
+			to = Math.Min(Math.Max(to, -s.Length), s.Length);
+			to = to < 0 ? to + s.Length : to;
+			return s.Substring(from, Math.Max(to - from, 0));
+		}
 	}
 }
\ No newline at end of file
diff --git a/VectoCore/Utils/VectoCSVFile.cs b/VectoCore/Utils/VectoCSVFile.cs
index 25de5f745341f4de6eef6ad4cc74ab71df893b91..412a00fd8b4f8fb448ded692bbfaa060d0c9dcdd 100644
--- a/VectoCore/Utils/VectoCSVFile.cs
+++ b/VectoCore/Utils/VectoCSVFile.cs
@@ -78,7 +78,7 @@ namespace TUGraz.VectoCore.Utils
 				// Valid Columns found => header was valid => skip header line
 				lines = lines.Skip(1).ToArray();
 			} else {
-				var log = LogManager.GetLogger(typeof (VectoCSVFile));
+				var log = LogManager.GetLogger(typeof(VectoCSVFile));
 				log.Warn("No valid Data Header found. Interpreting the first line as data line.");
 				// set the validColumns to: {"0", "1", "2", "3", ...} for all columns in first line.
 				validColumns = GetColumns(lines.First()).Select((_, index) => index.ToString()).ToArray();
@@ -92,13 +92,13 @@ namespace TUGraz.VectoCore.Utils
 			for (var i = 0; i < lines.Length; i++) {
 				var line = lines[i];
 
-					var cells = line.Split(Delimiter);
+				var cells = line.Split(Delimiter);
 				if (!ignoreEmptyColumns && cells.Length != table.Columns.Count) {
 					throw new CSVReadException(string.Format("Line {0}: The number of values is not correct.", i));
 				}
 
 				try {
-						table.Rows.Add(line.Split(Delimiter));
+					table.Rows.Add(line.Split(Delimiter));
 				} catch (InvalidCastException e) {
 					throw new CSVReadException(
 						string.Format("Line {0}: The data format of a value is not correct. {1}", i, e.Message), e);
@@ -122,7 +122,6 @@ namespace TUGraz.VectoCore.Utils
 			Contract.Requires(line != null);
 
 			line = Regex.Replace(line, @"\[.*?\]", "");
-			line = Regex.Replace(line, @"\(.*?\)", "");
 			line = line.Replace("<", "");
 			line = line.Replace(">", "");
 			return line.Split(Delimiter).Select(col => col.Trim());
diff --git a/VectoCore/VectoCore.csproj b/VectoCore/VectoCore.csproj
index 6cbcb6f861a1396056567c8a88c64439f361afef..ac6c8e306efd92d607e6fec1f0a70aca615b7501 100644
--- a/VectoCore/VectoCore.csproj
+++ b/VectoCore/VectoCore.csproj
@@ -139,20 +139,25 @@
     <Compile Include="Models\Connector\Ports\Impl\Response.cs" />
     <Compile Include="Models\Connector\Ports\IFvPort.cs" />
     <Compile Include="Models\Connector\Ports\ITnPort.cs" />
+    <Compile Include="Models\Declaration\Fan.cs" />
+    <Compile Include="Models\Declaration\HVAC.cs" />
+    <Compile Include="Models\Declaration\PneumaticSystem.cs" />
+    <Compile Include="Models\Declaration\SteeringPump.cs" />
+    <Compile Include="Models\Declaration\WHTCCorrection.cs" />
     <Compile Include="Models\SimulationComponent\Data\AccelerationCurve.cs" />
     <Compile Include="Models\Declaration\DeclarationData.cs" />
-    <Compile Include="Models\Declaration\DeclarationPT1.cs" />
+    <Compile Include="Models\Declaration\PT1.cs" />
     <Compile Include="Models\Declaration\ElectricSystem.cs" />
     <Compile Include="Models\Declaration\LookupData.cs" />
     <Compile Include="Models\Declaration\DeclarationRims.cs" />
-    <Compile Include="Models\Declaration\DeclarationWheels.cs" />
+    <Compile Include="Models\Declaration\Wheels.cs" />
     <Compile Include="Models\Declaration\Mission.cs" />
     <Compile Include="Models\Declaration\MissionType.cs" />
     <Compile Include="Models\SimulationComponent\Data\Engine\PT1Curve.cs" />
     <Compile Include="Models\Simulation\Impl\PowertrainBuilder.cs" />
     <Compile Include="Utils\RessourceHelper.cs" />
     <Compile Include="Models\Declaration\Segment.cs" />
-    <Compile Include="Models\Declaration\DeclarationSegments.cs" />
+    <Compile Include="Models\Declaration\Segments.cs" />
     <Compile Include="Models\SimulationComponent\Data\AuxiliaryCycleDataAdapter.cs" />
     <Compile Include="Models\Declaration\Axle.cs" />
     <Compile Include="Models\Declaration\AxleConfiguration.cs" />
@@ -223,7 +228,7 @@
     <Compile Include="Models\Simulation\Cockpit\IVehicleCockpit.cs" />
     <Compile Include="Models\Simulation\IVehicleContainer.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
-    <Compile Include="Utils\DataRowExtensionMethods.cs" />
+    <Compile Include="Utils\DataTableExtensionMethods.cs" />
     <Compile Include="Utils\StringExtensionMethods.cs" />
     <Compile Include="Utils\VectoCSVFile.cs" />
     <Compile Include="Utils\VectoMath.cs" />
@@ -236,28 +241,27 @@
     <EmbeddedResource Include="Resources\Declaration\Rims.csv" />
     <EmbeddedResource Include="Resources\Declaration\Wheels.csv" />
     <EmbeddedResource Include="Resources\Declaration\SegmentTable.csv" />
-    <EmbeddedResource Include="Resources\Declaration\MissionCycles\HeavyUrban.vdri" />
-    <EmbeddedResource Include="Resources\Declaration\MissionCycles\Suburban.vdri" />
-    <EmbeddedResource Include="Resources\Declaration\MissionCycles\Urban.vdri" />
     <EmbeddedResource Include="Resources\Declaration\MissionCycles\Coach.vdri" />
     <EmbeddedResource Include="Resources\Declaration\MissionCycles\Construction.vdri" />
     <EmbeddedResource Include="Resources\Declaration\MissionCycles\Interurban.vdri" />
-    <EmbeddedResource Include="Resources\Declaration\MissionCycles\LongHaul.vdri" />
-    <EmbeddedResource Include="Resources\Declaration\MissionCycles\MunicipalUtility.vdri" />
-    <EmbeddedResource Include="Resources\Declaration\MissionCycles\RegionalDelivery.vdri" />
-    <EmbeddedResource Include="Resources\Declaration\MissionCycles\UrbanDelivery.vdri" />
     <EmbeddedResource Include="Resources\Declaration\PT1.csv" />
     <EmbeddedResource Include="Resources\Declaration\VACC\Truck.vacc" />
-    <EmbeddedResource Include="Resources\Declaration\VCDV\CoachBus.vcdv" />
-    <EmbeddedResource Include="Resources\Declaration\VCDV\RigidSolo.vcdv" />
-    <EmbeddedResource Include="Resources\Declaration\VCDV\RigidTrailer.vcdv" />
-    <EmbeddedResource Include="Resources\Declaration\VCDV\TractorSemitrailer.vcdv" />
     <EmbeddedResource Include="Resources\Declaration\VAUX\ES-Tech.csv" />
     <EmbeddedResource Include="Resources\Declaration\VAUX\Fan-Tech.csv" />
     <EmbeddedResource Include="Resources\Declaration\VAUX\HVAC-Table.csv" />
     <EmbeddedResource Include="Resources\Declaration\VAUX\PS-Table.csv" />
     <EmbeddedResource Include="Resources\Declaration\VAUX\SP-Table.csv" />
     <EmbeddedResource Include="Resources\Declaration\VAUX\SP-Tech.csv" />
+    <EmbeddedResource Include="Resources\Declaration\MissionCycles\HeavyUrban.vdri" />
+    <EmbeddedResource Include="Resources\Declaration\MissionCycles\Suburban.vdri" />
+    <EmbeddedResource Include="Resources\Declaration\MissionCycles\Urban.vdri" />
+    <EmbeddedResource Include="Resources\Declaration\MissionCycles\LongHaul.vdri" />
+    <EmbeddedResource Include="Resources\Declaration\MissionCycles\MunicipalUtility.vdri" />
+    <EmbeddedResource Include="Resources\Declaration\MissionCycles\RegionalDelivery.vdri" />
+    <EmbeddedResource Include="Resources\Declaration\MissionCycles\UrbanDelivery.vdri" />
+    <EmbeddedResource Include="Resources\Declaration\VCDV\parameters.csv" />
+    <EmbeddedResource Include="Resources\Declaration\WHTC-Weighting-Factors.csv" />
+    <EmbeddedResource Include="Resources\Declaration\WHTC.csv" />
   </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
diff --git a/VectoCoreTest/Integration/EngineOnlyCycle/EngineOnlyCycleTest.cs b/VectoCoreTest/Integration/EngineOnlyCycle/EngineOnlyCycleTest.cs
index 5652458fe23decb7a98d060a15280fbaba467463..f699a54d588067669bf5cbc8ea348508b8a7ed7e 100644
--- a/VectoCoreTest/Integration/EngineOnlyCycle/EngineOnlyCycleTest.cs
+++ b/VectoCoreTest/Integration/EngineOnlyCycle/EngineOnlyCycleTest.cs
@@ -1,6 +1,5 @@
 using System;
 using Microsoft.VisualStudio.TestTools.UnitTesting;
-using Microsoft.VisualStudio.TestTools.UnitTesting.Web;
 using TUGraz.VectoCore.FileIO.Reader.Impl;
 using TUGraz.VectoCore.Models.Simulation.Data;
 using TUGraz.VectoCore.Models.Simulation.Impl;
@@ -66,25 +65,25 @@ namespace TUGraz.VectoCore.Tests.Integration.EngineOnlyCycle
 					for (var j = 0; j < results.Length; j++) {
 						var field = results[j];
 						//						if (!Double.IsNaN(dataWriter.GetDouble(field)))
-						Assert.AreEqual((double) row[field.GetName()], dataWriter.GetDouble(field),
+						Assert.AreEqual((double)row[field.GetName()], dataWriter.GetDouble(field),
 							0.0001,
-							String.Format("t: {0}  field: {1}", i, field));
+							string.Format("t: {0}  field: {1}", i, field));
 					}
 					if (row[ModalResultField.FC.GetName()] is double &&
-						!Double.IsNaN(Double.Parse(row[ModalResultField.FC.GetName()].ToString()))) {
-						Assert.AreEqual((double) row[ModalResultField.FC.GetName()],
+						!double.IsNaN(double.Parse(row[ModalResultField.FC.GetName()].ToString()))) {
+						Assert.AreEqual((double)row[ModalResultField.FC.GetName()],
 							dataWriter.GetDouble(ModalResultField.FC), 0.01,
 							"t: {0}  field: {1}", i, ModalResultField.FC);
 					} else {
-						Assert.IsTrue(Double.IsNaN(dataWriter.GetDouble(ModalResultField.FC)),
-							String.Format("t: {0}", i));
+						Assert.IsTrue(double.IsNaN(dataWriter.GetDouble(ModalResultField.FC)),
+							string.Format("t: {0}", i));
 					}
 				}
 
 				dataWriter.CommitSimulationStep(absTime, dt);
 				absTime += dt;
 			}
-			dataWriter.Data.WriteToFile(String.Format("result_{0}.csv", TestContext.DataRow["TestName"].ToString()));
+			dataWriter.Data.WriteToFile(string.Format("result_{0}.csv", TestContext.DataRow["TestName"].ToString()));
 		}
 
 		[TestMethod]
diff --git a/VectoCoreTest/Models/DeclarationDataTest.cs b/VectoCoreTest/Models/Declaration/DeclarationDataTest.cs
similarity index 54%
rename from VectoCoreTest/Models/DeclarationDataTest.cs
rename to VectoCoreTest/Models/Declaration/DeclarationDataTest.cs
index 40cec67ef8d8f0c2ee3173145982d07cf404d710..cac31667bd1f8dbdd8070a9dcec44bb65140e2f1 100644
--- a/VectoCoreTest/Models/DeclarationDataTest.cs
+++ b/VectoCoreTest/Models/Declaration/DeclarationDataTest.cs
@@ -1,45 +1,32 @@
 using System;
 using System.Collections.Generic;
-using System.Diagnostics;
 using System.IO;
 using System.Linq;
 using Microsoft.VisualStudio.TestTools.UnitTesting;
 using TUGraz.VectoCore.Exceptions;
-using TUGraz.VectoCore.Models;
 using TUGraz.VectoCore.Models.Declaration;
 using TUGraz.VectoCore.Models.SimulationComponent.Data;
+using TUGraz.VectoCore.Tests.Utils;
 using TUGraz.VectoCore.Utils;
 
-namespace TUGraz.VectoCore.Tests.Models
+namespace TUGraz.VectoCore.Tests.Models.Declaration
 {
 	[TestClass]
 	public class DeclarationDataTest
 	{
-		public const double Tolerance = 0.0001;
-
-		public static void AssertException<T>(Action func, string message = null) where T : Exception
-		{
-			try {
-				func();
-				Assert.Fail("Expected an exception.");
-			} catch (T ex) {
-				if (!string.IsNullOrEmpty(message)) {
-					Assert.AreEqual(message, ex.Message);
-				}
-			}
-		}
-
+		private const double Tolerance = 0.0001;
+		private MissionType[] missions = Enum.GetValues(typeof(MissionType)).Cast<MissionType>().ToArray();
 
 		[TestMethod]
 		public void WheelDataTest()
 		{
 			var wheels = DeclarationData.Wheels;
 
-			var tmp = wheels.Lookup("285/70 R 19.5");
+			var tmp = wheels.Lookup("285/70 R19.5");
 
 			Assert.AreEqual(7.9, tmp.Inertia.Double(), Tolerance);
 			Assert.AreEqual(0.8943, tmp.TyreRadius.Double(), Tolerance);
-			Assert.AreEqual(0, tmp.SizeClass);
+			Assert.AreEqual("b", tmp.SizeClass);
 		}
 
 		[TestMethod]
@@ -84,8 +71,8 @@ namespace TUGraz.VectoCore.Tests.Models
 
 			// EXTRAPOLATE 
 			Assert.AreEqual(0.11, pt1.Lookup(3000.RPMtoRad()).Double(), Tolerance);
-			AssertException<VectoException>(() => pt1.Lookup(200.RPMtoRad()));
-			AssertException<VectoException>(() => pt1.Lookup(0.RPMtoRad()));
+			AssertHelper.Exception<VectoException>(() => pt1.Lookup(200.RPMtoRad()));
+			AssertHelper.Exception<VectoException>(() => pt1.Lookup(0.RPMtoRad()));
 		}
 
 
@@ -96,16 +83,50 @@ namespace TUGraz.VectoCore.Tests.Models
 		}
 
 		[TestMethod]
-		public void AuxESTechTest()
+		public void WHTCWeightingTest()
+		{
+			var whtc = DeclarationData.WHTCCorrection;
+
+			var factors = new {
+				urban = new[] { 0.11, 0.17, 0.69, 0.98, 0.62, 1.0, 1.0, 1.0, 0.45, 0.0 },
+				rural = new[] { 0.0, 0.3, 0.27, 0.0, 0.32, 0.0, 0.0, 0.0, 0.36, 0.22 },
+				motorway = new[] { 0.89, 0.53, 0.04, 0.02, 0.06, 0.0, 0.0, 0.0, 0.19, 0.78 }
+			};
+
+			var r = new Random();
+			for (var i = 0; i < missions.Length; i++) {
+				var urban = r.NextDouble() * 2;
+				var rural = r.NextDouble() * 2;
+				var motorway = r.NextDouble() * 2;
+				var whtcValue = whtc.Lookup(missions[i], urban, rural, motorway);
+				Assert.AreEqual(urban * factors.urban[i] + rural * factors.rural[i] + motorway * factors.motorway[i], whtcValue);
+			}
+		}
+
+		[TestMethod]
+		public void VCDVTest()
+		{
+			Assert.Inconclusive();
+		}
+
+		[TestMethod]
+		public void DefaultTCTest()
+		{
+			Assert.Inconclusive();
+		}
+
+
+		[TestMethod]
+		public void AuxElectricSystemTest()
 		{
 			var es = DeclarationData.ElectricSystem;
 
 			var expected = new[] {
-				new { Mission = MissionType.LongHaul, Base = 1240, LED = 1290 },
-				new { Mission = MissionType.RegionalDelivery, Base = 1055, LED = 1105 },
-				new { Mission = MissionType.UrbanDelivery, Base = 974, LED = 1024 },
-				new { Mission = MissionType.MunicipalUtility, Base = 974, LED = 1024 },
-				new { Mission = MissionType.Construction, Base = 975, LED = 1025 },
+				new { Mission = MissionType.LongHaul, Base = 1240, LED = 1190 },
+				new { Mission = MissionType.RegionalDelivery, Base = 1055, LED = 1005 },
+				new { Mission = MissionType.UrbanDelivery, Base = 974, LED = 924 },
+				new { Mission = MissionType.MunicipalUtility, Base = 974, LED = 924 },
+				new { Mission = MissionType.Construction, Base = 975, LED = 925 },
 				new { Mission = MissionType.HeavyUrban, Base = 0, LED = 0 },
 				new { Mission = MissionType.Urban, Base = 0, LED = 0 },
 				new { Mission = MissionType.Suburban, Base = 0, LED = 0 },
@@ -116,41 +137,183 @@ namespace TUGraz.VectoCore.Tests.Models
 
 			foreach (var expectation in expected) {
 				var baseConsumption = es.Lookup(expectation.Mission, technologies: new string[] { });
-				var withLEDs = es.Lookup(expectation.Mission, technologies: new[] { "LED lights" });
+				var leds = es.Lookup(expectation.Mission, technologies: new[] { "LED lights" });
 
 				Assert.AreEqual(expectation.Base, baseConsumption.Double(), Tolerance);
-				Assert.AreEqual(expectation.LED, withLEDs.Double(), Tolerance);
+				Assert.AreEqual(expectation.LED, leds.Double(), Tolerance);
 			}
 		}
 
 		[TestMethod]
 		public void AuxFanTechTest()
 		{
-			Assert.Inconclusive();
-		}
+			var fan = DeclarationData.Fan;
+
+			const string defaultFan = "Crankshaft mounted - Electronically controlled visco clutch (Default)";
+			var expected = new Dictionary<string, int[]> {
+				{
+					"Crankshaft mounted - Electronically controlled visco clutch (Default)",
+					new[] { 618, 671, 516, 566, 1037, 0, 0, 0, 0, 0 }
+				}, {
+					"Crankshaft mounted - Bimetallic controlled visco clutch",
+					new[] { 818, 871, 676, 766, 1277, 0, 0, 0, 0, 0 }
+				}, {
+					"Crankshaft mounted - Discrete step clutch",
+					new[] { 668, 721, 616, 616, 1157, 0, 0, 0, 0, 0 }
+				}, {
+					"Crankshaft mounted - On/Off clutch",
+					new[] { 718, 771, 666, 666, 1237, 0, 0, 0, 0, 0 }
+				}, {
+					"Belt driven or driven via transm. - Electronically controlled visco clutch",
+					new[] { 889, 944, 733, 833, 1378, 0, 0, 0, 0, 0 }
+				}, {
+					"Belt driven or driven via transm. - Bimetallic controlled visco clutch",
+					new[] { 1089, 1144, 893, 1033, 1618, 0, 0, 0, 0, 0 }
+				}, {
+					"Belt driven or driven via transm. - Discrete step clutch",
+					new[] { 939, 994, 883, 883, 1498, 0, 0, 0, 0, 0 }
+				}, {
+					"Belt driven or driven via transm. - On/Off clutch",
+					new[] { 989, 1044, 933, 933, 1578, 0, 0, 0, 0, 0 }
+				}, {
+					"Hydraulic driven - Variable displacement pump",
+					new[] { 738, 955, 632, 717, 1672, 0, 0, 0, 0, 0 }
+				}, {
+					"Hydraulic driven - Constant displacement pump",
+					new[] { 1000, 1200, 800, 900, 2100, 0, 0, 0, 0, 0 }
+				}, {
+					"Hydraulic driven - Electronically controlled",
+					new[] { 700, 800, 600, 600, 1400, 0, 0, 0, 0, 0 }
+				}
+			};
 
-		[TestMethod]
-		public void AuxHVACTest()
-		{
-			Assert.Inconclusive();
+			for (var i = 0; i < missions.Length; i++) {
+				// default tech
+				Watt defaultValue = fan.Lookup(missions[i], "");
+				Assert.AreEqual(expected[defaultFan][i], defaultValue.Double(), Tolerance);
+
+				// all fan techs
+				foreach (var expect in expected) {
+					Watt value = fan.Lookup(missions[i], expect.Key);
+					Assert.AreEqual(expect.Value[i], value.Double(), Tolerance);
+				}
+			}
 		}
 
 		[TestMethod]
-		public void AuxPSTest()
+		public void AuxHeatingVentilationAirConditionTest()
 		{
-			Assert.Inconclusive();
+			var hvac = DeclarationData.HeatingVentilationAirConditioning;
+
+			var expected = new Dictionary<string, int[]> {
+				{ "1", new[] { 0, 150, 150, 0, 0, 0, 0, 0, 0, 0 } },
+				{ "2", new[] { 200, 200, 150, 0, 0, 0, 0, 0, 0, 0 } },
+				{ "3", new[] { 0, 200, 150, 0, 0, 0, 0, 0, 0, 0 } },
+				{ "4", new[] { 350, 200, 0, 300, 0, 0, 0, 0, 0, 0 } },
+				{ "5", new[] { 350, 200, 0, 0, 0, 0, 0, 0, 0, 0 } },
+				{ "6", new[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+				{ "7", new[] { 0, 0, 0, 0, 200, 0, 0, 0, 0, 0 } },
+				{ "8", new[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+				{ "9", new[] { 350, 200, 0, 300, 0, 0, 0, 0, 0, 0 } },
+				{ "10", new[] { 350, 200, 0, 0, 0, 0, 0, 0, 0, 0 } },
+				{ "11", new[] { 0, 0, 0, 0, 200, 0, 0, 0, 0, 0 } },
+				{ "12", new[] { 0, 0, 0, 0, 200, 0, 0, 0, 0, 0 } }
+			};
+
+			for (var i = 0; i < missions.Length; i++) {
+				foreach (var expect in expected) {
+					Watt value = hvac.Lookup(missions[i], expect.Key);
+					Assert.AreEqual(expect.Value[i], value.Double(), Tolerance);
+				}
+			}
 		}
 
 		[TestMethod]
-		public void AuxSPTableTest()
+		public void AuxPneumaticSystemTest()
 		{
-			Assert.Inconclusive();
+			var ps = DeclarationData.PneumaticSystem;
+
+			var expected = new Dictionary<string, int[]> {
+				{ "1", new[] { 0, 1300, 1240, 0, 0, 0, 0, 0, 0, 0 } },
+				{ "2", new[] { 1180, 1280, 1320, 0, 0, 0, 0, 0, 0, 0 } },
+				{ "3", new[] { 0, 1360, 1380, 0, 0, 0, 0, 0, 0, 0 } },
+				{ "4", new[] { 1300, 1340, 0, 0, 0, 0, 0, 0, 0, 0 } },
+				{ "5", new[] { 1340, 1820, 0, 0, 0, 0, 0, 0, 0, 0 } },
+				{ "6", new[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+				{ "7", new[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+				{ "8", new[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+				{ "9", new[] { 1340, 1540, 0, 0, 0, 0, 0, 0, 0, 0 } },
+				{ "10", new[] { 1340, 1820, 0, 0, 0, 0, 0, 0, 0, 0 } },
+				{ "11", new[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+				{ "12", new[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
+			};
+
+			for (var i = 0; i < missions.Length; i++) {
+				foreach (var expect in expected) {
+					Watt value = ps.Lookup(missions[i], expect.Key);
+					Assert.AreEqual(expect.Value[i], value.Double(), Tolerance);
+				}
+			}
 		}
 
 		[TestMethod]
-		public void AuxSPTechTest()
+		public void AuxSteeringPumpTest()
 		{
-			Assert.Inconclusive();
+			var sp = DeclarationData.SteeringPump;
+
+			var expected = new Dictionary<string, Dictionary<string, int[]>> {
+				{
+					"Fixed displacement", new Dictionary<string, int[]> {
+						{ "1", new[] { 0, 260, 270, 0, 0, 0, 0, 0, 0, 0 } },
+						{ "2", new[] { 370, 320, 310, 0, 0, 0, 0, 0, 0, 0 } },
+						{ "3", new[] { 0, 340, 350, 0, 0, 0, 0, 0, 0, 0 } },
+						{ "4", new[] { 610, 530, 0, 530, 0, 0, 0, 0, 0, 0 } },
+						{ "5", new[] { 720, 630, 620, 0, 0, 0, 0, 0, 0, 0 } },
+						{ "6", new[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+						{ "7", new[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+						{ "8", new[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+						{ "9", new[] { 720, 550, 0, 550, 0, 0, 0, 0, 0, 0 } },
+						{ "10", new[] { 570, 530, 0, 0, 0, 0, 0, 0, 0, 0 } }
+					}
+				}, {
+					"Variable displacement", new Dictionary<string, int[]> {
+						{ "1", new[] { 0, 156, 162, 0, 0, 0, 0, 0, 0, 0 } },
+						{ "2", new[] { 222, 192, 186, 0, 0, 0, 0, 0, 0, 0 } },
+						{ "3", new[] { 0, 204, 210, 0, 0, 0, 0, 0, 0, 0 } },
+						{ "4", new[] { 366, 318, 0, 318, 0, 0, 0, 0, 0, 0 } },
+						{ "5", new[] { 432, 378, 372, 0, 0, 0, 0, 0, 0, 0 } },
+						{ "6", new[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+						{ "7", new[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+						{ "8", new[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+						{ "9", new[] { 432, 330, 0, 330, 0, 0, 0, 0, 0, 0 } },
+						{ "10", new[] { 342, 318, 0, 0, 0, 0, 0, 0, 0, 0 } }
+					}
+				}, {
+					"Hydraulic supported by electric", new Dictionary<string, int[]> {
+						{ "1", new[] { 0, 225, 235, 0, 0, 0, 0, 0, 0, 0 } },
+						{ "2", new[] { 322, 278, 269, 0, 0, 0, 0, 0, 0, 0 } },
+						{ "3", new[] { 0, 295, 304, 0, 0, 0, 0, 0, 0, 0 } },
+						{ "4", new[] { 531, 460, 0, 460, 0, 0, 0, 0, 0, 0 } },
+						{ "5", new[] { 627, 546, 540, 0, 0, 0, 0, 0, 0, 0 } },
+						{ "6", new[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+						{ "7", new[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+						{ "8", new[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+						{ "9", new[] { 627, 478, 0, 478, 0, 0, 0, 0, 0, 0 } },
+						{ "10", new[] { 498, 461, 0, 0, 0, 0, 0, 0, 0, 0 } }
+					}
+				}
+			};
+
+			foreach (var expect in expected) {
+				var technology = expect.Key;
+				foreach (var hdvClasses in expect.Value) {
+					var hdvClass = hdvClasses.Key;
+					for (var i = 0; i < missions.Length; i++) {
+						Watt value = sp.Lookup(missions[i], hdvClass, technology);
+						Assert.AreEqual(hdvClasses.Value[i], value.Double(), Tolerance);
+					}
+				}
+			}
 		}
 
 		[TestMethod]
@@ -172,7 +335,7 @@ namespace TUGraz.VectoCore.Tests.Models
 				vehicleData.GrossVehicleMassRating, vehicleData.CurbWeight);
 
 
-			Assert.AreEqual("2", segment.HDVClass);
+			Assert.AreEqual("2", segment.VehicleClass);
 
 			var data = AccelerationCurveData.ReadFromStream(segment.AccelerationFile);
 			TestAcceleration(data);
@@ -182,8 +345,7 @@ namespace TUGraz.VectoCore.Tests.Models
 			var longHaulMission = segment.Missions[0];
 			Assert.AreEqual(MissionType.LongHaul, longHaulMission.MissionType);
 
-			Assert.IsNotNull(longHaulMission.CrossWindCorrectionFile);
-			Assert.IsTrue(!string.IsNullOrEmpty(new StreamReader(longHaulMission.CrossWindCorrectionFile).ReadLine()));
+			Assert.AreEqual("RigidSolo", longHaulMission.CrossWindCorrection);
 
 			Assert.IsTrue(new[] { 0.4, 0.6 }.SequenceEqual(longHaulMission.AxleWeightDistribution));
 			Assert.IsTrue(new double[] { }.SequenceEqual(longHaulMission.TrailerAxleWeightDistribution));
@@ -200,8 +362,7 @@ namespace TUGraz.VectoCore.Tests.Models
 			var regionalDeliveryMission = segment.Missions[1];
 			Assert.AreEqual(MissionType.RegionalDelivery, regionalDeliveryMission.MissionType);
 
-			Assert.IsNotNull(regionalDeliveryMission.CrossWindCorrectionFile);
-			Assert.IsTrue(!string.IsNullOrEmpty(new StreamReader(regionalDeliveryMission.CrossWindCorrectionFile).ReadLine()));
+			Assert.AreEqual("RigidSolo", regionalDeliveryMission.CrossWindCorrection);
 
 			Assert.IsTrue(new[] { 0.45, 0.55 }.SequenceEqual(regionalDeliveryMission.AxleWeightDistribution));
 			Assert.IsTrue(new double[] { }.SequenceEqual(regionalDeliveryMission.TrailerAxleWeightDistribution));
@@ -218,8 +379,7 @@ namespace TUGraz.VectoCore.Tests.Models
 			var urbanDeliveryMission = segment.Missions[2];
 			Assert.AreEqual(MissionType.UrbanDelivery, urbanDeliveryMission.MissionType);
 
-			Assert.IsNotNull(urbanDeliveryMission.CrossWindCorrectionFile);
-			Assert.IsTrue(!string.IsNullOrEmpty(new StreamReader(urbanDeliveryMission.CrossWindCorrectionFile).ReadLine()));
+			Assert.AreEqual("RigidSolo", urbanDeliveryMission.CrossWindCorrection);
 
 			Assert.IsTrue(new[] { 0.45, 0.55 }.SequenceEqual(urbanDeliveryMission.AxleWeightDistribution));
 			Assert.IsTrue(new double[] { }.SequenceEqual(urbanDeliveryMission.TrailerAxleWeightDistribution));
@@ -256,7 +416,7 @@ namespace TUGraz.VectoCore.Tests.Models
 
 			//		// todo axleGear
 
-			//		var wheels = new DeclarationWheels(container, 0.SI<Meter>());
+			//		var wheels = new Wheels(container, 0.SI<Meter>());
 
 			//		var missionVehicleData = new VehicleData(vehicleData, loading, mission.AxleWeightDistribution);
 			//		var vehicle = new Vehicle(container, missionVehicleData);
diff --git a/VectoCoreTest/Models/Simulation/SimulationTests.cs b/VectoCoreTest/Models/Simulation/SimulationTests.cs
index 16da8d874b0aff36ec14e58b25320f7177cde711..3d2cfc5745b3c3472e3572504cf7cfe9feb444f5 100644
--- a/VectoCoreTest/Models/Simulation/SimulationTests.cs
+++ b/VectoCoreTest/Models/Simulation/SimulationTests.cs
@@ -1,15 +1,13 @@
 using System.IO;
 using System.Linq;
-using System.Security.Cryptography.X509Certificates;
 using Microsoft.VisualStudio.TestTools.UnitTesting;
 using TUGraz.VectoCore.Configuration;
-using TUGraz.VectoCore.Exceptions;
 using TUGraz.VectoCore.FileIO.Reader.Impl;
 using TUGraz.VectoCore.Models.Simulation;
 using TUGraz.VectoCore.Models.Simulation.Data;
 using TUGraz.VectoCore.Models.Simulation.Impl;
-using TUGraz.VectoCore.Utils;
 using TUGraz.VectoCore.Tests.Utils;
+using TUGraz.VectoCore.Utils;
 
 namespace TUGraz.VectoCore.Tests.Models.Simulation
 {
@@ -85,9 +83,9 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation
 		public void TestEngineOnly_MultipleJobs()
 		{
 			var resultFiles = new[] {
-				@"TestEngineOnly-MultipleJobs-result1",
-				@"TestEngineOnly-MultipleJobs-result2",
-				@"TestEngineOnly-MultipleJobs-result3"
+				@"TestEngineOnly-MultipleJobs-result1_" + Path.GetFileNameWithoutExtension(CycleFile) + ".vmod",
+				@"TestEngineOnly-MultipleJobs-result2_" + Path.GetFileNameWithoutExtension(CycleFile) + ".vmod",
+				@"TestEngineOnly-MultipleJobs-result3_" + Path.GetFileNameWithoutExtension(CycleFile) + ".vmod"
 			};
 
 			var simulation = new JobContainer(new TestSumWriter());
@@ -96,8 +94,10 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation
 			}
 			simulation.Execute();
 
-			ResultFileHelper.TestModFiles(resultFiles.Select(x => x + "_Coach Engine Only short.vmod"),
-				Enumerable.Repeat(@"TestData\Results\EngineOnlyCycles\24tCoach_EngineOnly short.vmod", resultFiles.Length));
+			ResultFileHelper.TestModFiles(
+				Enumerable.Repeat(@"TestData\Results\EngineOnlyCycles\24tCoach_EngineOnly short.vmod",
+					resultFiles.Length),
+				resultFiles);
 		}
 
 		[TestMethod]
@@ -114,7 +114,8 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation
 //			jobContainer.AddRuns(factory.Runs());
 			jobContainer.Execute();
 
-			ResultFileHelper.TestSumFile(@"TestData\Results\EngineOnlyCycles\24t Coach.vsum", @"TestData\Jobs\24t Coach.vsum");
+			ResultFileHelper.TestSumFile(@"TestData\Results\EngineOnlyCycles\24t Coach.vsum",
+				@"TestData\Jobs\24t Coach.vsum");
 			ResultFileHelper.TestModFiles(new[] {
 				@"TestData\Results\EngineOnlyCycles\24t Coach_Engine Only1.vmod",
 				@"TestData\Results\EngineOnlyCycles\24t Coach_Engine Only2.vmod",
diff --git a/VectoCoreTest/Models/SimulationComponent/ClutchTest.cs b/VectoCoreTest/Models/SimulationComponent/ClutchTest.cs
index 66d3a71c4c83821964084c278a181d99d34b2f91..800bcb3ac0f54f51e14dbc3260b8394e8231f745 100644
--- a/VectoCoreTest/Models/SimulationComponent/ClutchTest.cs
+++ b/VectoCoreTest/Models/SimulationComponent/ClutchTest.cs
@@ -1,7 +1,6 @@
 using System;
 using Microsoft.VisualStudio.TestTools.UnitTesting;
 using TUGraz.VectoCore.FileIO.Reader.Impl;
-using TUGraz.VectoCore.Models.Connector.Ports;
 using TUGraz.VectoCore.Models.Simulation.Impl;
 using TUGraz.VectoCore.Models.SimulationComponent.Data;
 using TUGraz.VectoCore.Models.SimulationComponent.Impl;
@@ -35,22 +34,22 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
 			gearbox.CurrentGear = 1;
 			clutchOutPort.Request(new TimeSpan(), new TimeSpan(), 100.SI<NewtonMeter>(), 30.SI<PerSecond>());
 
-			Assert.AreEqual(48.293649, (double) outPort.Torque, 0.001);
-			Assert.AreEqual(62.119969, (double) outPort.AngularVelocity, 0.001);
+			Assert.AreEqual(48.293649, (double)outPort.Torque, 0.001);
+			Assert.AreEqual(62.119969, (double)outPort.AngularVelocity, 0.001);
 
 			//Test - Clutch opened
 			gearbox.CurrentGear = 0;
 			clutchOutPort.Request(new TimeSpan(), new TimeSpan(), 100.SI<NewtonMeter>(), 30.SI<PerSecond>());
 
-			Assert.AreEqual(0, (double) outPort.Torque, 0.001);
-			Assert.AreEqual((double) engineData.IdleSpeed, (double) outPort.AngularVelocity, 0.001);
+			Assert.AreEqual(0, (double)outPort.Torque, 0.001);
+			Assert.AreEqual((double)engineData.IdleSpeed, (double)outPort.AngularVelocity, 0.001);
 
 			//Test - Clutch closed
 			gearbox.CurrentGear = 1;
 			clutchOutPort.Request(new TimeSpan(), new TimeSpan(), 100.SI<NewtonMeter>(), 80.SI<PerSecond>());
 
-			Assert.AreEqual(100.0, (double) outPort.Torque, 0.001);
-			Assert.AreEqual(80.0, (double) outPort.AngularVelocity, 0.001);
+			Assert.AreEqual(100.0, (double)outPort.Torque, 0.001);
+			Assert.AreEqual(80.0, (double)outPort.AngularVelocity, 0.001);
 		}
 	}
 }
\ No newline at end of file
diff --git a/VectoCoreTest/Models/SimulationComponent/CombustionEngineTest.cs b/VectoCoreTest/Models/SimulationComponent/CombustionEngineTest.cs
index d94e883ceb8aa3e21f3e81a9116378e8efe995ac..2e70fac4fb0e1cb8b295dcb50587335129462a99 100644
--- a/VectoCoreTest/Models/SimulationComponent/CombustionEngineTest.cs
+++ b/VectoCoreTest/Models/SimulationComponent/CombustionEngineTest.cs
@@ -3,7 +3,6 @@ using System.Collections.Generic;
 using System.IO;
 using System.Reflection;
 using Microsoft.VisualStudio.TestTools.UnitTesting;
-using TUGraz.VectoCore.Exceptions;
 using TUGraz.VectoCore.FileIO.Reader.Impl;
 using TUGraz.VectoCore.Models.Simulation.Data;
 using TUGraz.VectoCore.Models.Simulation.Impl;
@@ -26,24 +25,6 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
 			AppDomain.CurrentDomain.SetData("DataDirectory", Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location));
 		}
 
-		/// <summary>
-		/// Assert an expected Exception.
-		/// </summary>
-		/// <typeparam name="T"></typeparam>
-		/// <param name="func"></param>
-		/// <param name="message"></param>
-		public static void AssertException<T>(Action func, string message = null) where T : Exception
-		{
-			try {
-				func();
-				Assert.Fail("Expected Exception {0}, but no exception occured.", typeof (T));
-			} catch (T ex) {
-				if (message != null) {
-					Assert.AreEqual(message, ex.Message);
-				}
-			}
-		}
-
 		[TestMethod]
 		public void TestEngineHasOutPort()
 		{
@@ -80,7 +61,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
 			var vehicle = new VehicleContainer();
 			var engineData = EngineeringModeSimulationDataReader.CreateEngineDataFromFile(CoachEngine);
 			var engine = new CombustionEngine(vehicle, engineData);
-			var gearbox = new EngineOnlyGearbox(vehicle);
+			new EngineOnlyGearbox(vehicle);
 			var port = engine.OutShaft();
 
 			var absTime = new TimeSpan(seconds: 0, minutes: 0, hours: 0);
@@ -109,7 +90,6 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
 			absTime += dt;
 
 			var power = new[] { 569.3641, 4264.177 };
-			;
 			for (var i = 0; i < 2; i++) {
 				port.Request(absTime, dt, Formulas.PowerToTorque(power[i].SI<Watt>(), engineSpeed), engineSpeed);
 				engine.CommitSimulationStep(dataWriter);
@@ -132,7 +112,6 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
 
 			Assert.AreEqual(-7108.32, dataWriter.GetDouble(ModalResultField.PaEng), 0.001);
 			dataWriter.CommitSimulationStep(absTime, dt);
-			absTime += dt;
 
 			dataWriter.Data.WriteToFile(@"test1.csv");
 		}
@@ -159,9 +138,9 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
 			//var modalData = new ModalDataWriter(string.Format("load_jump_{0}.csv", TestContext.DataRow["TestName"].ToString()));
 			var modalData = new TestModalDataWriter();
 
-			var idlePower = Double.Parse(TestContext.DataRow["initialIdleLoad"].ToString()).SI<Watt>();
+			var idlePower = double.Parse(TestContext.DataRow["initialIdleLoad"].ToString()).SI<Watt>();
 
-			var angularSpeed = Double.Parse(TestContext.DataRow["rpm"].ToString()).RPMtoRad();
+			var angularSpeed = double.Parse(TestContext.DataRow["rpm"].ToString()).RPMtoRad();
 
 			var t = TimeSpan.FromSeconds(0);
 			var dt = TimeSpan.FromSeconds(0.1);
@@ -175,7 +154,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
 			// dt = TimeSpan.FromSeconds(double.Parse(TestContext.DataRow["dt"].ToString(), CultureInfo.InvariantCulture));
 			// dt = TimeSpan.FromSeconds(expectedResults.Rows[i].ParseDouble(0)) - t;
 			var engineLoadPower = engineData.GetFullLoadCurve(0).FullLoadStationaryPower(angularSpeed);
-			idlePower = Double.Parse(TestContext.DataRow["finalIdleLoad"].ToString()).SI<Watt>();
+			idlePower = double.Parse(TestContext.DataRow["finalIdleLoad"].ToString()).SI<Watt>();
 			for (; t.TotalSeconds < 25; t += dt, i++) {
 				dt = TimeSpan.FromSeconds(expectedResults.Rows[i + 1].ParseDouble(0) - expectedResults.Rows[i].ParseDouble(0));
 				if (t >= TimeSpan.FromSeconds(10)) {
@@ -188,7 +167,7 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
 				// todo: compare results...
 				Assert.AreEqual(expectedResults.Rows[i].ParseDouble(0), t.TotalSeconds, 0.001, "Time");
 				Assert.AreEqual(expectedResults.Rows[i].ParseDouble(1), modalData.GetDouble(ModalResultField.Pe_full), 0.1,
-					String.Format("Load in timestep {0}", t));
+					string.Format("Load in timestep {0}", t));
 				modalData.CommitSimulationStep();
 			}
 			modalData.Finish();
@@ -233,9 +212,8 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent
 			Assert.AreEqual(58.6430628670095, idle.Double(), 0.000001);
 			Assert.IsTrue(idle.HasEqualUnit(0.SI<PerSecond>()));
 
-			var flc0 = engineData.GetFullLoadCurve(0);
-
-			AssertException<KeyNotFoundException>(() => { var flc10000 = engineData.GetFullLoadCurve(1000); });
+			engineData.GetFullLoadCurve(0);
+			AssertHelper.Exception<KeyNotFoundException>(() => engineData.GetFullLoadCurve(1000));
 		}
 	}
 }
\ No newline at end of file
diff --git a/VectoCoreTest/Models/SimulationComponent/VehicleTest.cs b/VectoCoreTest/Models/SimulationComponent/VehicleTest.cs
index ecd2c96d0dbf4a0fc1fd62e87c364488895b0263..ba91afff4bc0cab54ac3d23b84279781400cb595 100644
--- a/VectoCoreTest/Models/SimulationComponent/VehicleTest.cs
+++ b/VectoCoreTest/Models/SimulationComponent/VehicleTest.cs
@@ -2,7 +2,6 @@
 using Microsoft.VisualStudio.TestTools.UnitTesting;
 using TUGraz.VectoCore.FileIO.Reader.Impl;
 using TUGraz.VectoCore.Models.Simulation.Impl;
-using TUGraz.VectoCore.Models.SimulationComponent.Data;
 using TUGraz.VectoCore.Models.SimulationComponent.Impl;
 using TUGraz.VectoCore.Tests.Utils;
 using TUGraz.VectoCore.Utils;
diff --git a/VectoCoreTest/Models/SimulationComponent/WheelsTest.cs b/VectoCoreTest/Models/SimulationComponent/WheelsTest.cs
index 27842ad945d7f0dfd5b38a872705b2d34bdf4103..6898e6f147ff7002d9a6a933f9a95cfd853d855c 100644
--- a/VectoCoreTest/Models/SimulationComponent/WheelsTest.cs
+++ b/VectoCoreTest/Models/SimulationComponent/WheelsTest.cs
@@ -3,7 +3,6 @@ using Microsoft.VisualStudio.TestTools.UnitTesting;
 using TUGraz.VectoCore.FileIO.Reader.Impl;
 using TUGraz.VectoCore.Models.Simulation.Impl;
 using TUGraz.VectoCore.Models.SimulationComponent;
-using TUGraz.VectoCore.Models.SimulationComponent.Data;
 using TUGraz.VectoCore.Models.SimulationComponent.Impl;
 using TUGraz.VectoCore.Tests.Utils;
 using TUGraz.VectoCore.Utils;
diff --git a/VectoCoreTest/Models/SimulationComponentData/FuelConsumptionMapTest.cs b/VectoCoreTest/Models/SimulationComponentData/FuelConsumptionMapTest.cs
index 965f39a46cf39a3dbd150c770b95f39bc0af5f2d..2fbb805e92de9c0932e1dc1a4a85379569e0f545 100644
--- a/VectoCoreTest/Models/SimulationComponentData/FuelConsumptionMapTest.cs
+++ b/VectoCoreTest/Models/SimulationComponentData/FuelConsumptionMapTest.cs
@@ -8,41 +8,41 @@ using TUGraz.VectoCore.Utils;
 
 namespace TUGraz.VectoCore.Tests.Models.SimulationComponentData
 {
-    [TestClass]
-    public class FuelConsumptionMapTest
-    {
-        private const double Tolerance = 0.0001;
+	[TestClass]
+	public class FuelConsumptionMapTest
+	{
+		private const double Tolerance = 0.0001;
 
-        [TestMethod]
-        public void TestFuelConsumption_FixedPoints()
-        {
-            var map = FuelConsumptionMap.ReadFromFile(@"TestData\Components\24t Coach.vmap");
-            var lines = File.ReadAllLines(@"TestData\Components\24t Coach.vmap").Skip(1).ToArray();
-            AssertMapValuesEqual(lines, map);
-        }
+		[TestMethod]
+		public void TestFuelConsumption_FixedPoints()
+		{
+			var map = FuelConsumptionMap.ReadFromFile(@"TestData\Components\24t Coach.vmap");
+			var lines = File.ReadAllLines(@"TestData\Components\24t Coach.vmap").Skip(1).ToArray();
+			AssertMapValuesEqual(lines, map);
+		}
 
-        [TestMethod]
-        public void TestFuelConsumption_InterpolatedPoints()
-        {
-            var map = FuelConsumptionMap.ReadFromFile(@"TestData\Components\24t Coach.vmap");
-            var lines = File.ReadAllLines(@"TestData\Components\24t CoachInterpolated.vmap").Skip(1).ToArray();
-            AssertMapValuesEqual(lines, map);
-        }
+		[TestMethod]
+		public void TestFuelConsumption_InterpolatedPoints()
+		{
+			var map = FuelConsumptionMap.ReadFromFile(@"TestData\Components\24t Coach.vmap");
+			var lines = File.ReadAllLines(@"TestData\Components\24t CoachInterpolated.vmap").Skip(1).ToArray();
+			AssertMapValuesEqual(lines, map);
+		}
 
-        private static void AssertMapValuesEqual(string[] lines, FuelConsumptionMap map)
-        {
-            for (var i = 1; i < lines.Count(); i++) {
-                var entry = lines[i].Split(',').Select(x => double.Parse(x, CultureInfo.InvariantCulture)).ToArray();
-                try {
-                    Assert.AreEqual((double) entry[2].SI().Gramm.Per.Hour.ConvertTo().Kilo.Gramm.Per.Second,
-                        (double) map.GetFuelConsumption(entry[1].SI<NewtonMeter>(), entry[0].RPMtoRad()),
-                        Tolerance,
-                        string.Format("Line: {0}, n={1}, T={2}", (i + 2), entry[0].SI().Rounds.Per.Minute, entry[1]));
-                } catch (VectoException ex) {
-                    throw new VectoException(string.Format("Row {0}: Error in ConsumptionMap n={1}, T={2}: {3}",
-                        i + 2, entry[0], entry[1], ex.Message));
-                }
-            }
-        }
-    }
+		private static void AssertMapValuesEqual(string[] lines, FuelConsumptionMap map)
+		{
+			for (var i = 1; i < lines.Count(); i++) {
+				var entry = lines[i].Split(',').Select(x => double.Parse(x, CultureInfo.InvariantCulture)).ToArray();
+				try {
+					Assert.AreEqual((double)entry[2].SI().Gramm.Per.Hour.ConvertTo().Kilo.Gramm.Per.Second,
+						(double)map.GetFuelConsumption(entry[1].SI<NewtonMeter>(), entry[0].RPMtoRad()),
+						Tolerance,
+						string.Format("Line: {0}, n={1}, T={2}", (i + 2), entry[0].SI().Rounds.Per.Minute, entry[1]));
+				} catch (VectoException ex) {
+					throw new VectoException(string.Format("Row {0}: Error in ConsumptionMap n={1}, T={2}: {3}",
+						i + 2, entry[0], entry[1], ex.Message));
+				}
+			}
+		}
+	}
 }
\ No newline at end of file
diff --git a/VectoCoreTest/Models/SimulationComponentData/FullLoadCurveTest.cs b/VectoCoreTest/Models/SimulationComponentData/FullLoadCurveTest.cs
index cd5feb3699a488ccf97129cc3fe7dd31c86ad2e7..6c723269da2e123455c5f70853112753b96c6d5b 100644
--- a/VectoCoreTest/Models/SimulationComponentData/FullLoadCurveTest.cs
+++ b/VectoCoreTest/Models/SimulationComponentData/FullLoadCurveTest.cs
@@ -1,8 +1,8 @@
-using System;
-using Microsoft.VisualStudio.TestTools.UnitTesting;
+using Microsoft.VisualStudio.TestTools.UnitTesting;
 using TUGraz.VectoCore.Exceptions;
 using TUGraz.VectoCore.FileIO.Reader.Impl;
 using TUGraz.VectoCore.Models.SimulationComponent.Data.Engine;
+using TUGraz.VectoCore.Tests.Utils;
 using TUGraz.VectoCore.Utils;
 
 namespace TUGraz.VectoCore.Tests.Models.SimulationComponentData
@@ -90,12 +90,10 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponentData
 		[TestMethod]
 		public void Test_FileRead_WrongFileFormat_InsufficientColumns()
 		{
-			try {
-				var curve = FullLoadCurve.ReadFromFile(@"TestData\Components\FullLoadCurve insufficient columns.vfld");
-				Assert.Fail("this should not be reached.");
-			} catch (VectoException ex) {
+			AssertHelper.Exception<VectoException>(
+				() => FullLoadCurve.ReadFromFile(@"TestData\Components\FullLoadCurve insufficient columns.vfld"),
+				"FullLoadCurve Data File must consist of 4 columns.");
 				Assert.AreEqual("FullLoadCurve Data File must consist of at least 3 columns.", ex.Message);
-			}
 		}
 
 		/// <summary>
@@ -125,14 +123,9 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponentData
 		[TestMethod]
 		public void Test_FileRead_InsufficientEntries()
 		{
-			try {
-				FullLoadCurve.ReadFromFile(@"TestData\Components\FullLoadCurve insufficient entries.vfld");
-				Assert.Fail("this should not be reached.");
-			} catch (VectoException ex) {
-				Assert.AreEqual(
-					"FullLoadCurve must consist of at least two lines with numeric values (below file header)",
-					ex.Message);
-			}
+			AssertHelper.Exception<VectoException>(
+				() => FullLoadCurve.ReadFromFile(@"TestData\Components\FullLoadCurve insufficient entries.vfld"),
+				"FullLoadCurve must consist of at least two lines with numeric values (below file header)");
 		}
 	}
 }
\ No newline at end of file
diff --git a/VectoCoreTest/Utils/AssertHelper.cs b/VectoCoreTest/Utils/AssertHelper.cs
new file mode 100644
index 0000000000000000000000000000000000000000..e126f32b521e2c1d4e5f07ce9e66a98bb674e2f3
--- /dev/null
+++ b/VectoCoreTest/Utils/AssertHelper.cs
@@ -0,0 +1,24 @@
+using System;
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+
+namespace TUGraz.VectoCore.Tests.Utils
+{
+	public class AssertHelper
+	{
+		/// <summary>
+		/// Assert an expected Exception.
+		/// </summary>
+		public static void Exception<T>(Action func, string message = null) where T : Exception
+		{
+			try {
+				func();
+				Assert.Fail("Expected Exception {0}, but no exception occured.", typeof(T));
+			} catch (T ex) {
+				if (!string.IsNullOrEmpty(message)) {
+					Assert.AreEqual(message, ex.Message,
+						string.Format("Expected Exception message: {0}, but got message: {1}", message, ex.Message));
+				}
+			}
+		}
+	}
+}
\ No newline at end of file
diff --git a/VectoCoreTest/Utils/DummyGearbox.cs b/VectoCoreTest/Utils/DummyGearbox.cs
index fd22e802a5d16901885b302aa53e7a6fbb0ff039..e1e361018671d4a4e5e2f302c80707a4c81e06bf 100644
--- a/VectoCoreTest/Utils/DummyGearbox.cs
+++ b/VectoCoreTest/Utils/DummyGearbox.cs
@@ -1,5 +1,4 @@
 using System;
-using TUGraz.VectoCore.Exceptions;
 using TUGraz.VectoCore.Models.Connector.Ports;
 using TUGraz.VectoCore.Models.Simulation;
 using TUGraz.VectoCore.Models.Simulation.Data;
diff --git a/VectoCoreTest/Utils/ResultFileHelper.cs b/VectoCoreTest/Utils/ResultFileHelper.cs
index 3658b316ca073787a1d4174a1f50b11f8dbeb02a..6983a3a49b6a933da100811ec0553c0edb8a8f4b 100644
--- a/VectoCoreTest/Utils/ResultFileHelper.cs
+++ b/VectoCoreTest/Utils/ResultFileHelper.cs
@@ -1,8 +1,8 @@
 using System;
-using System.IO;
+using System.Collections.Generic;
 using System.Data;
+using System.IO;
 using System.Linq;
-using System.Collections.Generic;
 using Microsoft.VisualStudio.TestTools.UnitTesting;
 using TUGraz.VectoCore.Models.Simulation.Data;
 
diff --git a/VectoCoreTest/VectoCoreTest.csproj b/VectoCoreTest/VectoCoreTest.csproj
index 81838a3cf065c19fe8967cc3e0adc937863e6253..b1cdb6c91f579f49830e8380e621d8425d975a3b 100644
--- a/VectoCoreTest/VectoCoreTest.csproj
+++ b/VectoCoreTest/VectoCoreTest.csproj
@@ -71,7 +71,7 @@
     <Compile Include="Dummy\FactoryTest.cs" />
     <Compile Include="Exceptions\ExceptionTests.cs" />
     <Compile Include="Integration\EngineOnlyCycle\EngineOnlyCycleTest.cs" />
-    <Compile Include="Models\DeclarationDataTest.cs" />
+    <Compile Include="Models\Declaration\DeclarationDataTest.cs" />
     <Compile Include="Models\SimulationComponentData\AccelerationCurveTest.cs" />
     <Compile Include="Models\SimulationComponentData\FuelConsumptionMapTest.cs" />
     <Compile Include="Models\SimulationComponentData\FullLoadCurveTest.cs" />
@@ -84,6 +84,7 @@
     <Compile Include="Models\SimulationComponent\WheelsTest.cs" />
     <Compile Include="Models\SimulationComponent\VehicleTest.cs" />
     <Compile Include="Models\Simulation\DrivingCycleTests.cs" />
+    <Compile Include="Utils\AssertHelper.cs" />
     <Compile Include="Utils\ResultFileHelper.cs" />
     <Compile Include="Utils\MockPorts.cs" />
     <Compile Include="Models\Simulation\SimulationTests.cs" />
@@ -291,9 +292,7 @@
       <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </None>
   </ItemGroup>
-  <ItemGroup>
-    <Folder Include="Models\DeclarationData\" />
-  </ItemGroup>
+  <ItemGroup />
   <Choose>
     <When Condition="'$(VisualStudioVersion)' == '10.0' And '$(IsCodedUITest)' == 'True'">
       <ItemGroup>