bottom up processing