refactored lib dependencies