Because fuel evaporates incompletely in a cold engine, carburetors use either a choke or an enrichening system to richen the mixture for cold-starting. Carburetors run richer as the weather warms and leaner as it grows colder, thereby changing the power available. And carburetors also allow the mixture to be too rich as we ride to the top of Pike's Peak, where the air is thinner, and too lean as we travel into Death Valley, where the air is more dense. Racers get peak performance in all conditions by changing carburetor jetting to maintain a best-power mixture—not a viable technique for general street riding. In production streetbike engines, carburetion is set rich enough to safely cover anticipated running conditions while also meeting requisite emissions standards, and we tolerate any power losses these trade-offs might produce. With the processing power of a computer, however, these compromises disappear, and all this tuning work can be done automatically. Sensors located around the motorcycle report engine temperature, atmospheric pressure and air temperature to the computer, which then uses simple arithmetic (you can do a lot of figuring in 120,000 steps) to modify the engine's fuel delivery according to all these variables. This is why fuel-injected engines start so well when cold, why they can be immediately ridden off without stalling or hesitation, and why they don't blubber with excess fuel at very high altitudes or starve for fuel at very low altitudes. The fuel map provides the basic data for fuel delivery, and the sensors modify this information according to current engine temperature and air density.