refactored fabric updating