add a self-update script