added selfupdate to update