update with local saving