Contracts are built using openzeppelin’s upgradeable smart contracts library. So the smart contract code can be updated to support new features, fix bugs, etc.

Functionalities are divided into different parts and some contracts are inherited by other contracts as well as by openzeppelin’s contracts.

The TokenFactory contract inherits the NFTBid contract which inherits NFTFactoryContract which again inherits the NFTStorage contract.

Similarly in ERC1155 part, The TokenFactory1155 contract inherits the NFTBid1155 contract which inherits NFTFactoryContract115 which again inherits the NFTStorage1155 contract.