Search algorithm.