builder upstream and downstream