ALGORITHM.