Don't calculate a safeSquares each pass + list working optimization