adapt to changes