3.2. Algorithms