restructure dependencies