upstream downstream processing