https://medium.com/@romain-lannes/understanding-hash-map-by-building-a-dummy-one-in-python-98c3c4977361