pass along state as we go down the tree