https://rish-abh.medium.com/mastering-data-structures-an-overview-of-types-and-best-practices-cff6c78aadcc