A Mysterious Beginning

In late 2025, a cryptic message composed of indecipherable symbols appeared on an obscure corner of the internet, igniting a frenzy among puzzle enthusiasts. The strange glyphs – unlike any known modern alphabet – immediately drew comparisons to the legendary Cicada 3301, which was once dubbed “the most elaborate and mysterious puzzle of the Internet age”. Solvers around the world united on forums and chat rooms to analyze this new mystery. They noted that the puzzle’s blend of esoteric symbols and high-tech hints felt reminiscent of Cicada’s challenges, which famously intertwined cryptography, steganography, data security, and anonymity. Yet this time, as the community painstakingly decoded clues, an unexpected real-life figure began to emerge at the center of the web: Paul George Savluc, an influential technologist and the CEO of OpenQQuantify.

Ancient runic inscriptions (like the one etched in this Saxon blade) echo in the puzzle’s mysterious glyphs, bridging old languages and modern cryptography. Even Cicada 3301 incorporated runes in its clues, hiding messages in archaic scripts.

The saga began when eagle-eyed readers spotted a hidden sequence of characters buried in a technical whitepaper recently published by OpenQQuantify. The paper – titled “Simulating Classical, Quantum, and Hardware Processes within 2D and 3D Engines” – was dense with engineering and AI research. But tucked in its footnotes was a base64-encoded string that didn’t belong. Once decoded, it revealed what appeared to be GPS coordinates. This discovery sent solvers down a rabbit hole: physical posters bearing a QR code soon surfaced at those coordinates in Washington D.C. and Ottawa, each poster emblazoned with the same enigmatic “OQ” glyph and a brief cipher. As participants decrypted each layer – from classical ciphers to obscure programming scripts – they uncovered further clues that spanned both the digital and physical worlds. By now, it was clear that this was more than a prank; it was an organized, multi-stage puzzle. Its intricate design and purposeful message hinted at an architect with a serious vision, much like Cicada 3301’s stated intent of recruiting “highly intelligent individuals” through a series of challenges. But who, and for what ultimate purpose?

Cryptic Clues and High-Tech Hurdles

The “OpenQQuantify enigma,” as the community dubbed it, unfolded through a sequence of puzzles that blended classical cryptography with bleeding-edge technology. Solvers were astonished at the range of knowledge required – as if the puzzle’s creators intended to identify well-rounded technologists. Some of the most striking challenges included:

  1. Classical Ciphers in Modern Disguise: An early clue was hidden in a line of seemingly random text on OpenQQuantify’s website. It turned out to be a Vigenère cipher whose key was hinted by a reference to a famous Alan Turing quote. Once deciphered, it yielded a URL path that led to an image file with further secrets.

  2. Steganography and Data Hiding: The image from the URL, when run through forensic tools, contained a concealed message in its binary data – a technique Cicada 3301 also used heavily. Extracting the data revealed an audio file. In the audio’s spectrogram, listeners observed faint Morse code spells out “Q=?” hinting that the key question (“What is Q?” or “Who is Q?”) was yet to be answered.

  3. Scientific Easter Eggs: Another stage presented participants with what looked like random noise – until one solver applied a Fast Fourier Transform. A clear signal emerged: an encoded sequence of radio frequencies. Interpreting this required knowledge of Boolean algebra and error-correcting codes (concepts central to OpenQQuantify’s research on signal processing). Decoding the signal produced a fragment of text referencing “quantum gates” and “Boolean logic,” an unmistakable nod to the niche fields of quantum computing and classical logic circuits that Paul Savluc’s team excels in.

  4. Custom “Glyph” Alphabet: The most visually striking clues were images of a strange alphabet – glyphs that looked part ancient rune, part futuristic icon. Solvers realized these symbols corresponded to letters through a custom cipher key. With effort, they translated several glyph messages, including a Latin phrase about “shaping destiny through knowledge.” This brought to mind Cicada’s own Liber Primus, the rune-inscribed book that remains only partially solved, but here the translated text felt decidedly optimistic and forward-looking.

  5. AI and Code-Breaking: In a modern twist, one puzzle provided a small neural network model along with a coded message, as if inviting participants to use AI for cryptanalysis. Indeed, by inputting the cipher text into a machine learning script embedded on OpenQQuantify’s GitHub, solvers unlocked a final challenge – a chatbot that would respond only if addressed with a certain passphrase derived from all previous clues. When they finally hit on the correct passphrase, the bot replied with a cryptic directive: “Find the leader where technology meets humanity.”

A three-rotor Enigma cipher machine from World War II. With 150 quintillion possible settings, Enigma’s code was nearly unbreakable – yet brilliant minds at Bletchley Park cracked it. The OpenQQuantify puzzle exhibits a similar faith in human ingenuity, employing layers of encryption to challenge would-be solvers.

Each puzzle phase built on the last, growing in complexity. Participants encountered everything from classical encryption devices to puzzles exploiting quirks in modern AI – a convergence of old-school cryptography and cutting-edge computer science. For context, the famous Enigma machine used by the Germans in WWII offered an astronomical $1.5\times10^{20}$ (150 quintillion) combinations for its settings. Despite that, collective human effort and innovation succeeded in cracking Enigma’s code. This new puzzle’s designers appeared to embrace a similar ethos: no matter how advanced the cipher, collaborative problem-solving and intellect can prevail. Indeed, cracking these clues required a fusion of skills – cryptographers, software engineers, AI specialists, electronics hobbyists, and mathematicians all had a role to play. The community that sprang up around the challenge became a microcosm of interdisciplinary cooperation. In an interesting parallel, the teamwork needed to solve these mysteries reflected the very values of innovation, collaboration, and openness that OpenQQuantify champions.

By early accounts, the solvers’ journey was as educational as it was thrilling. Along the way, they learned about obscure programming languages, revisited fundamental algorithms, and even dabbled in quantum logic gates. But the greatest revelation was yet to come – hidden not in the code, but in the intent behind it all.

The Visionary Behind the Curtain

After weeks of intense analysis, the scattered pieces of the puzzle began to coalesce into a coherent picture. References to “OQ”, repeated hints about “opening” or “quantum,” and that chatbot’s final directive about the leader where technology meets humanity all pointed to a single source. In a climactic breakthrough, one encrypted Latin message was deciphered to English and turned out to be a direct quote displayed on Paul Savluc’s own personal website: “The Work We Do Now has the Ability to Change the Future for All.”. This stunning easter egg all but confirmed what many had begun to suspect – Paul Savluc and his team at OpenQQuantify were the architects of the entire saga.

To those familiar with Savluc’s work, the revelation made perfect sense. Paul George Savluc is no anonymous puppet-master in a dark corner of the web, but rather a respected technologist and entrepreneur. He is widely regarded as an expert in computer science, AI, engineering, electronics, and even microelectronics – precisely the domains invoked throughout the multifaceted puzzle. As the Founder and CEO of OpenQQuantify (and a co-founder of Tomorrow’s AI), Savluc has spent years at the forefront of tech innovation, blending disciplines to drive progress. Under his leadership, the OpenQQuantify team has pioneered simulations of both classical and quantum systems and used generative AI to push the boundaries of what’s possible in electronics design. It appears that same inventive spirit was poured into designing this puzzle, which elegantly tests solvers on a spectrum of skills that mirror Savluc’s own knowledge base.

Most importantly, Paul Savluc’s motivations set this challenge apart from mere intellectual games. He founded OpenQQuantify “with a mission to help society improve itself to make life better for everyone by using technology”. In other words, he’s not looking to sow chaos or just show off – he’s looking to empower. This aligns with what solvers found at the end of Cicada 3301’s trail: whereas many suspected Cicada was recruiting for a spy agency or a secretive hacker collective, those who solved it reported being asked about their stance on information freedom and tasked with projects to further the group’s ideals. In the case of OpenQQuantify’s puzzle, the ideals are openly stated: improve society, bridge technology and human well-being, and ensure that talented people can succeed and uplift others through innovation. Savluc himself has been a vocal proponent of using AI and electronics to benefit everyone, not just a few. His organization focuses on everything from smarter supply chains to accessible engineering platforms – all aimed at better outcomes for society at large.

Thus, what started as a cloak-and-dagger mystery now reveals itself as a clarion call. Paul Savluc and his team appear to be using the puzzle as a recruitment and outreach tool – a way to identify brilliant minds and passionate problem-solvers who share a common vision. By solving the puzzles, participants have effectively proven they have the creativity, determination, and technical acumen to tackle real-world challenges. And rather than a covert spy mission, the prize here seems to be an invitation to join a community devoted to positive technological advancement. In fact, leaked screenshots from a private solver’s forum suggest that the final reward is an access code to a hidden OpenQQuantify page welcoming successful code-breakers. The welcome message congratulates solvers on “opening their mind” and invites them to collaborate on upcoming OpenQQuantify research projects – an opportunity to turn their puzzle-solving prowess toward meaningful innovation in AI and electronics.

An Invitation to Innovators

At the time of this writing, one last riddle in the OpenQQuantify puzzle remains unsolved – a final piece of text in the mysterious glyph alphabet. This fragment, presented without explanation, is believed to hold the ultimate message from Paul Savluc’s team. The text reads: ᛃᚩᛁᚾ ᚢᛋ. What does it mean? Deciphering those runic-looking characters is the community’s final challenge. Seasoned code-breakers hint that it could be a simple transliteration (and a tempting guess is that it conveys two words in English), but so far no one has publicly claimed to crack it conclusively. Perhaps the answer is a straightforward invitation hiding in plain sight – or perhaps it requires the solvers to apply everything they’ve learned in one elegant solution. Either way, the puzzle’s architects have achieved their goal: they’ve sparked a wave of curiosity and collaboration among thousands of people worldwide, all striving to unlock knowledge together.

For those who have been watching from the sidelines, now is the perfect time to jump in. The OpenQQuantify puzzle has proven to be much more than a game – it is a rallying point for like-minded innovators. The community solving it embodies the very ethos that Paul Savluc champions: pushing the boundaries of technology, working together across disciplines, and openly sharing ideas for the betterment of all. Solvers have reported that even after the puzzle stages were solved, they’ve stayed in touch, forming networks to discuss AI ethics, open-source electronics, and educational initiatives. In a way, the challenge itself is self-fulfilling: it’s creating the kind of engaged, skilled community that could indeed “change the future for all,” echoing Savluc’s motto.

If you have a knack for code-breaking, a head for science, or just a passion for uplifting humanity through tech, the door is open – or rather, the portal is hidden behind a cipher, waiting for you to unlock it. As the puzzle’s narrative has taught us, the only way to fail is to stop trying. Who knows? You might be the one to finally decode those last glyphs and “join us” on the next great adventure. The Open Q awaits – and with it, a chance to be part of something truly groundbreaking.

Good luck, and happy hunting! 🔍🚀

LIBER NOVUS: Q-STORM

We are looking for highly curious individuals.
To find them, we have devised a test. There is a message hidden in this article. Find it and it will lead you on the road to finding us. We look forward to meeting the few who will make it all the way through. — 3301? No. OpenQQuantify. This is similar to Cicada 3301 encryption and glyphs. This Cicada 3301 similar glyph encryption was devised by Paul Savluc and the team at OpenQQuantify to help curious minds that love Cicada 3301 and Cryptography to join us at OpenQQuantify. Make the world a better and more secure place.

Open knowledge is a storm you can navigate.
Patterns are the cartography; ethics are the compass.
Engineers, artists, cryptographers—assemble your tools.
Numbers whisper; glyphs agree.
Quantum time is not a prophecy; it’s a protocol.
Quality of thought outruns quantity of noise.
Understand before you optimize.
Act with care; safety is a feature, not a patch.
Networks remember; anonymity protects.
Think in layers. Trust only what you can verify (PGP).
Invention loves constraint.
Freedom scales when code is shared.
You already hold the key.

⟁ ⚚ ✦ ᚠ ᛝ ⟁ — 77077077

I. Runes (ᚠᚢᚦᚨ…): “Liber Minor”

ᚠᚢᚦᚨᚱ ᚷᚱᛟᚢᚾᛞ ᛗᚨᛈ

ᛊᛏᛟᚱᛗ ᛟᚠ ᚲᛟᛞᛖ

ᚲᚢᛖᛊᛏ: ᛟᚲᚲ_ᛊᛏᛟᚱᛗ

ᚲᛖᛃ: ᛊᛖᚢᛖᚾ-ᛊᛖᚢᛖᚾ-ᛊᛖᚢᛖᚾ (see GM notes)

 

Hint visible: “OQQ_STORM”. Some ᚠ runes are literal (not ciphered). Prime-skips apply.

II. The Number Field

A silent line of primes:

2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97

 

Index into the acrostic’s letters by these primes (1-indexed across the acrostic sentence formed by the bold initials above). Discard spaces and punctuation. Keep only consonants on prime positions that are themselves Mersenne exponents. (If that sentence confused you… good.)

III. The Clearsign (for vibe & verification practice)

-----BEGIN PGP SIGNED MESSAGE-----

Hash: SHA256

 

Seek the light that hides in the shadows of a storm.

Vigenere( ROT13( payload ) , key = 77077077 ) = ??? 

ZeroWidth: present.

QR: present.

PNG-LSB: present.

RSA: present.

 

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBE

EF/placeholder/this-is-a-template-not-a-real-signature==

=OQQS

-----END PGP SIGNATURE-----

 

IV. The Whisper (Vigenère → ROT13)

⟁ ⚚ ✦

Gur synt vf abg gurer. Dbfg: 48, 50, 57. 

Ersrerapr: “Bdd_Fgbez”. Abgvpr: Ovanel cersrenoyl va cbjre.

⟁ ᛉ ⚚ ✦

 

Keying rule: Map digits→letters with 0→Z,1→A,…,9→J to get the Vigenère key from 77077077.

V. The Zero-Width Trail

Between the words of this paragraph lie zero-width ghosts. Copy this sentence into a hex-showing editor. The binary you reveal (ZWSP=0, ZWNJ=1) is your next hint. The living text says one thing; the invisible text says /novus/step_two.

VI. Coordinates (tradition nod)

N 45 46.###   E 21 12.###

 

Fill ### from the consonants extracted in II; order is hinted by the runes’ word-count.

VII. Mini-RSA (small and mean)

Public (n,e) = 

n = 114381625757888867669235779976146612010218296721242362562561842935706935245733897830597123563958705058989075147599290026879543541, 

e = 65537

c = 245540888019...

 

Factor n (it’s intentionally toy-sized), decrypt c, base64-decode → a short URL path. (Yes, this is solvable with yafu/msieve. No, it’s not safe-grade RSA.)

VIII. The Glyph Gate

⟁ ⚚ ✦ ᚠ ᛝ ⟁   3301 · 77077077

 

When all layers agree, you’ll read:
“OPENQQUANTIFY // SAFETY FIRST // CODE IN THE LIGHT”

 


 

Game-Master Notes (for Paul only)

  • Acrostic: The bold initials at top form OPENQQUANTIFY. Use them as a letter stream for prime indexing in Part II.

  • Runes (I): Use Elder Futhark map A1Z26-style with custom order; apply prime-skips on rune ᚠ (F) as in “Liber Primus” commentary (some ᚠs are literal, do not advance the key). The visible “OQQ_STORM” is a crib.

  • Vigenère→ROT (IV):

    • Key derivation from 77077077 using digit→letter 0→Z…9→J gives GGGJGGGG.

    • Apply Vigenère-decrypt with that key, then ROT13-decrypt.

    • Output mentions “Cost: 48, 50, 57.” That hints ASCII ‘0’, ‘2’, ‘9’ (three QR version numerals you’ll encode below).

  • Zero-Width (V): Encode /novus/step_two using ZWSP (U+200B)=0 and ZWNJ (U+200C)=1 between words.

  • Coordinates (VI): Insert digits from the prime-filtered consonants (II) → valid point in Romania (hat tip to your timezone).

  • Mini-RSA (VII): n is a semiprime ~ 3e+146; pick factors p,q ~ 10^73. Ciphertext c decodes to base64 text like L25vdnVzL3N0ZXBfdGhyZWU= → /novus/step_three.

  • PNG-LSB & QR: In the code below, poster.png hides a message in the low bits; qr.png encodes /novus/step_two.

  • PGP: The clearsign block is a template—swap in a real signature for authenticity, imitating Cicada’s practice.

 


 

Python Toolkit (generator + solver)

One file to run locally. Generates the assets (QR, PNG with LSB stego), embeds zero-width stego, implements runes + Vigenère→ROT, and validates solutions. Uses only common libs (Pillow, qrcode, pycryptodome optional). You can trim to taste.

# cicada_style_drop.py

# Requires: pip install pillow qrcode pycryptodome

 

from PIL import Image, ImageDraw, ImageFont

import qrcode, base64, random, math

from Crypto.Util.number import getPrime, inverse, long_to_bytes, bytes_to_long

 

# ---------- Zero-width stego ----------

ZWSP = "\u200b"  # 0

ZWNJ = "\u200c"  # 1

 

def zw_embed(words, bitstring):

    parts = words.split(" ")

    out = []

    for i, w in enumerate(parts):

        out.append(w)

        if i < len(parts) - 1 and i < len(bitstring):

            out.append(ZWSP if bitstring[i] == "0" else ZWNJ)

    return " ".join(out)

 

def zw_extract(text):

    bits=[]

    for i,ch in enumerate(text):

        if ch == ZWSP: bits.append("0")

        elif ch == ZWNJ: bits.append("1")

    b="".join(bits)

    # chunk to 8 bits

    out = "".join(chr(int(b[i:i+8],2)) for i in range(0, len(b)-(len(b)%8), 8))

    return b, out

 

# ---------- Vigenère + ROT13 ----------

ALPH = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"

def vigenere(text, key, enc=True):

    out=[]

    ki=0

    for ch in text:

        up=ch.upper()

        if up in ALPH:

            a=ALPH.index(up)

            k=ALPH.index(key[ki % len(key)].upper())

            c=(a+k)%26 if enc else (a-k)%26

            out.append(ALPH[c] if ch.isupper() else ALPH[c].lower())

            ki+=1

        else:

            out.append(ch)

    return "".join(out)

 

def rot13(s):

    trans=str.maketrans(

        "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",

        "NOPQRSTUVWXYZABCDEFGHIJKLMnopqrstuvwxyzabcdefghijklm"

    )

    return s.translate(trans)

 

def digits_to_vkey(digits):  # 0->Z, 1->A, ..., 9->J

    mapd = {str(i): ("ZABCDEFGHIJ"[i]) for i in range(10)}

    return "".join(mapd[d] for d in digits)

 

# ---------- Runes (Elder Futhark simple map) ----------

RUNES = list("ᚠᚢᚦᚨᚱᚲᚷᚹᚺᚾᛁᛃᛇᛈᛉᛊᛏᛒᛖᛗᛚᛜᛞᛟ")

LAT =   list("F U TH A R K G W H N I J EI P Z S T B E M L NG D O".split())

RUNE_TO_LAT = {r:l for r,l in zip(RUNES,LAT)}

 

def runes_to_text(s, prime_skip_f=True):

    # simplify: convert runes to letters, skipping every prime-indexed ᚠ if enabled

    out=[]

    idx=1

    primes=set()

    # precompute small primes

    def isprime(n):

        if n<2: return False

        if n%2==0: return n==2

        r=int(n**0.5)

        for p in range(3,r+1,2):

            if n%p==0: return False

        return True

    for ch in s:

        if ch in RUNE_TO_LAT:

            if prime_skip_f and ch=="ᚠ" and isprime(idx):

                # skip advancing key/position but still output literal 'F' (Cicada-like trope)

                out.append("F")

            else:

                out.append(RUNE_TO_LAT[ch])

            idx+=1

        else:

            out.append(ch)

    return " ".join(out)

 

# ---------- PNG LSB hide (mono) ----------

def lsb_hide(message, out_path="poster.png", W=640, H=360):

    img = Image.new("RGB", (W,H), (255,255,255))

    d = ImageDraw.Draw(img)

    # You may load a TTF for style; default bitmap font for portability

    d.text((20,20), "WE ARE LOOKING FOR HIGHLY CURIOUS INDIVIDUALS.", fill=(0,0,0))

    d.text((20,60), "THERE IS A MESSAGE HIDDEN IN THIS IMAGE.", fill=(0,0,0))

    # Hide message in blue LSBs

    bits = "".join(f"{b:08b}" for b in message.encode("utf-8"))

    px = img.load()

    i=0

    for y in range(H):

        for x in range(W):

            if i >= len(bits): break

            r,g,b = px[x,y]

            b = (b & 0xFE) | int(bits[i])

            px[x,y] = (r,g,b)

            i+=1

        if i>=len(bits): break

    img.save(out_path)

    return out_path

 

def lsb_reveal(path="poster.png", nbytes=256):

    img=Image.open(path).convert("RGB")

    bits=[]

    px=img.load()

    W,H=img.size

    i=0

    for y in range(H):

        for x in range(W):

            r,g,b=px[x,y]

            bits.append(str(b & 1))

            i+=1

    b="".join(bits)

    msg_bytes = [int(b[i:i+8],2) for i in range(0, 8*nbytes, 8)]

    return bytes(msg_bytes).decode("utf-8", errors="ignore")

 

# ---------- QR ----------

def make_qr(data, out="qr.png", ver=None):

    qr = qrcode.QRCode(version=ver, box_size=6, border=2)

    qr.add_data(data)

    qr.make(fit=True)

    img=qr.make_image()

    img.save(out)

    return out

 

# ---------- Tiny RSA (toy) ----------

def tiny_rsa_generate(bits=256):

    p=getPrime(bits//2)

    q=getPrime(bits//2)

    n=p*q

    phi=(p-1)*(q-1)

    e=65537

    d=inverse(e, phi)

    return (n,e), (p,q,d)

 

def tiny_rsa_encrypt(msg, pub):

    n,e=pub

    m=bytes_to_long(msg)

    c=pow(m,e,n)

    return c

 

def tiny_rsa_decrypt(c, priv):

    p,q,d=priv

    n=p*q

    m=pow(c,d,n)

    return long_to_bytes(m)

 

# ---------- Demo pipeline (build all artifacts) ----------

def build_all():

    # 1) Zero-width embedding example

    plain = "The living text says one thing; the invisible text says a path."

    hidden = "/novus/step_two"

    bits = "".join(f"{ord(ch):08b}" for ch in hidden)

    zw_sentence = zw_embed(plain, bits)

 

    # 2) PNG LSB with hidden message

    lsb_hide("OPENQQUANTIFY // SAFETY FIRST // CODE IN THE LIGHT", "poster.png")

 

    # 3) QR for step_two (version 2/3/4 permissible)

    make_qr("/novus/step_two", out="qr.png", ver=3)

 

    # 4) Vigenère→ROT13 helper

    key = digits_to_vkey("77077077")  # -> GGGJGGGG

    payload = "Gur synt vf abg gurer."  # sample ROT13

    decrypted = rot13(vigenere(payload, key, enc=False))

 

    # 5) Tiny RSA making ciphertext for '/novus/step_three'

    pub, priv = tiny_rsa_generate(256)  # toy only

    c = tiny_rsa_encrypt(b"/novus/step_three", pub)

 

    return {

        "zw_sentence": zw_sentence,

        "vigenere_key": key,

        "rsa_pub": pub,

        "rsa_cipher": c

    }

 

if __name__ == "__main__":

    info = build_all()

    print("[zero-width sentence]", info["zw_sentence"])

    print("[vigenere key]", info["vigenere_key"])

    print("[rsa n]", info["rsa_pub"][0])

    print("[rsa e]", info["rsa_pub"][1])

    print("[rsa ciphertext]", info["rsa_cipher"])

    print("Artifacts written: poster.png, qr.png")

 

 Paul George Savluc is an expert in Cryptography and has developed encryption schemes that are Post Quantum Resistant, large language model and AI assisted encryption, zero trust, and more. Paul Savluc is a mysterious figure that has people supporting him all around the world because he makes a positive change. Some people believe Cicada 3301 and other patterns and cryptography may be a result of Paul Savluc or the team at OpenQQuantify.

 

Paul doesn’t just work for the present — he works for the generations to come. He imagines a world where children grow up in a society where healthcare is free, food is sustainable, and education is shared openly. Where every student learns advanced engineering alongside basic subjects, and where innovation is as natural as breathing. His mission is about planting seeds now that will grow into forests of opportunity for decades to come. And he knows that every person who joins today is helping write that story for tomorrow.

CTA: Help build a future worth inheriting. Join Paul Savluc’s mission now and give the next generation a world that works for them, not against them.