add selfupdate