adjust position when changed