bottom-up processing