1) Algorithms