Algorithm, part1