I want to create a site to perform lazy minting of NFTS using ERC-721. The site will allow users to mint NFTS which can be image, video, music, virtual game items, domains. The first part of questions is that where should I store the data for the nfts. I know a bit about IPFS but I've seen people storing only images to IPFS. How can I upload videos and other things on IPFS. The second part is about ERC-721. I've seen people using OpenZeppelin for the implementation of ERC-721 and it has many methods to be overridden. Do I have to override each and every method ? or its upon me to override as per my needs and what are the most imporatant methods to be overridden and what things should I take care of for lazy minting and if the user mints nft on my site then will he/she be able to see that nft on other market places.