https://medium.com/@cmyerskeitt/hash-tables-explained-learnings-from-a-common-sense-guide-to-data-structures-and-algorithms-by-74c4389860fc