https://isriramkumarm.medium.com/what-are-the-differences-between-ioptions-and-ioptionssnapshot-216f0a4d0808