update before changing