upstream vs downstream processing