A sequence of heat exchangers arranged to progressively heat or cool one or more process streams. Its design determines heat recovery, utility demand, pressure drop, and operating flexibility.