https://medium.com/@marcodidomnico/unlocking-the-power-of-data-structures-a-beginners-guide-1796959f14a4