Article with details on how the algorithm works: ...