Detection Algorithm