Refactored dependency model