https://levelup.gitconnected.com/understand-the-inner-mechanics-of-a-phonetic-spell-check-algorithm-aeeb37a67ee0