My 2000 4.0 just wasn't putting out enough heat. The higher I set the fan only netted me a lower the air temp. On high it was actually cool. So although the radiator showed nice clean green antifreeze that was recently changed by the former owner, I still pulled the heater hoses and flushed out the heater with pulses from the garden hose. Whoe, lotsa crud! But after I flushed and put the hoses back on and ran the engine it was the same problem. The answer turned out to be that whoever worked on changing the antifreeze also reversed the hoses at the heater. The heater's incoming hot water should come from the hose in front of the valve cover. It will be hotter to the touch, and goes into the bottom of the heater. This way the air bubbles are forced out the top. My heater core was probably half full of air.