update add func