https://levelup.gitconnected.com/mastering-python-sets-advanced-techniques-and-tips-for-improved-performance-e4b73821af2