adding in self-update