update from external