update procedure