updated trickle down to continuously work until it is smaller than its children, or if it doesn't have children