self adjusts