That is to check to see if a number is a prime we check if it is divisible by previous primes.

However if the number we are checking is number, and prime \* prime > number, where number is the number we are checking then...

we know all primes after this will not be a factor of number.

Why is this conceptually?

```
// simple code implementing this concept
function findPrimes(N) {
  const primes = [2];
  main: for (let i = 3; i <= N; i += 2) {
    for (let j = 1, prime; prime = primes[j++];) {
      if (prime * prime > i) break; // this line here
      if (i % prime === 0) continue main;
    }
    primes.push(i);
  }
  return primes;
}

```