update && cleanup