merge check and update functions