adjust to boundary environment