update add functions