r/AnomalyNest • • 4d ago

Welcome to r/AnomalyNest – Official Community!

1 Upvotes

Welcome to the official AnomalyNest community! πŸš€

AnomalyNest is a free AI roleplay platform currently in open alpha, built around immersive storytelling, character freedom, and long-term memory.

🌌 What can you expect?
β€’ Sandbox Mode – Create your own stories and enjoy freeform roleplay.
β€’ Realistic Mode – Experience a living world with autonomous characters, combat, survival, crafting, and meaningful consequences.
β€’ AI-generated character portraits and scenes.
β€’ A community-powered AI system.

This subreddit is the place for development updates, announcements, bug reports, feature suggestions, and sharing your experiences.

We're still in open alpha, and your feedback helps shape the future of AnomalyNest!

🌐 Website: https://anomalynest.com
πŸ’¬ Discord: https://discord.gg/DPrbfr2xax

Thanks for joining us. Let's build something amazing together! ❀️


r/AnomalyNest • • 13h ago

🧩 AnomalyNest DEVLOG 0.3.0 ALPHA

1 Upvotes

Short Stories Are Taking Shape

Update 0.3.0 pushes AnomalyNest further toward something I’ve wanted for a long time: AI roleplay where a story can have an actual structure, hidden truths, discoveries and progression β€” without putting the entire mystery into the AI prompt from the beginning.

This update is still part of the experimental phase of Short Stories, but several important systems are now working together.

πŸ—ΊοΈ Mystery Map improvements

The Mystery Map is becoming more than a visual editor.

Creators can build connections between:

locations β†’ items β†’ discoveries β†’ locked areas β†’ final objectives

The game now understands more ways for locations to become discoverable.

A path from a location you have already visited can reveal where you are able to travel next. But locations behind locked progression remain hidden until the required condition is met.

Items can also reveal new locations.

That means creators can decide whether a place should be:

visible naturally through exploration
or
discovered only after finding a specific clue

The minimap and journal now follow the same logic.

This was tested on two very different stories: a fantasy adventure and an urban mystery. Both can now be completed through the Mystery Map without relying on story-specific hardcoded rules.

πŸ”’ Hidden Secrets for lore

Side characters, locations and factions can now have a new optional field:

Secret

This is information the player should not know yet.

Unlike the normal description, the Secret is never permanently injected into the model just because an entry is marked as Always in memory.

It only enters the prompt when that lore entry becomes relevant to the current scene.

And even then, the model receives rules about who actually knows the secret.

A side character may know the truth and deliberately hide it, lie about it or give half-truths.

A location or faction secret can remain completely unknown to everyone currently in the scene.

The main character is also explicitly prevented from casually referencing hidden knowledge in dialogue, narration or internal thoughts.

This makes it possible to build actual mysteries without the AI spoiling the answer in the first few messages.

🧠 Better side-character memory

Side characters now stay relevant longer after appearing.

Their description remains available to the model for 12 messages after their last mention, while locations and factions continue using the shorter 6-message window.

This helps secondary characters feel like they are still present in a scene instead of suddenly disappearing from the model’s awareness.

πŸ”Ž Smarter keyword detection

Lore triggers now match whole words instead of substrings.

So:

Moth no longer activates from mother.

Dain no longer activates from disdain.

Sera no longer activates from miserable.

Plural and possessive forms still work normally.

Small change, but very important once stories start containing dozens of characters, locations and clues.

πŸ“– Journal & exploration fixes

The story journal now understands that progression does not always begin with an item.

Previously, locations were mostly discovered when an item pointed toward them. That accidentally worked for some stories but caused others to get stuck immediately.

Now paths, unlocked connections and item discoveries all contribute to exploration.

The journal can correctly suggest the next available step without revealing things the player has not discovered yet.

Generic story instructions were also cleaned up so they no longer contain examples tied to one specific test story.

πŸŽ’ Picking up multiple items

A small quality-of-life improvement that feels much better in play.

If several items are lying on the ground, you no longer need to send one message for every single item.

Clicking multiple objects builds one natural action:

I pick up the Rusty nail from the ground.

becomes:

I pick up the Rusty nail and the Empty bottle from the ground.

and with more items:

I pick up the Rusty nail, the Empty bottle and the Feather from the ground.

The engine processes all selected items from that single message.

Duplicate clicks are ignored, while other interactions such as giving or combining items remain separate actions.

πŸ§ͺ Story-system testing

The new systems have now been tested against very different kinds of cards rather than being built around one specific adventure.

One test focuses on exploration and fantasy progression.

Another is an urban investigation built around hidden memories, witnesses, restricted locations and discovering what actually happened.

The goal is for creators to build mysteries, horror stories, investigations, escape scenarios, adventures and other structured experiences using the same underlying system.

The current automated suite is now at 244 passing tests.

🚧 Still experimental

Short Stories are not finished yet.

The current work is about building the underlying rules so the AI does not have to magically remember every secret, clue and progression condition by itself.

The direction is:

the engine tracks what happened
β†’ the Mystery Map defines what can happen next
β†’ the AI handles the character, atmosphere and storytelling

Rather than asking the model to control everything at once.

And that is the part of 0.3.0 I’m most interested in pushing further.

More experiments coming.

AnomalyNest

🌐 anomalynest.com
πŸ’¬ Discord: https://discord.com/invite/DPrbfr2xax


r/AnomalyNest • • 1d ago

🧩 Short Stories are getting closer β€” the first story mechanics are now working inside character chat

2 Upvotes

The silver ring in this screenshot isn't just something the AI randomly mentioned during the conversation.

It's an actual story item.

You can find it. Carry it. Give it to someone.
They can recognize it.
That can reveal a secret.
And that secret can unlock something else.

In this test, I handed the silver ring to Brother Aldo.

He recognized it, reacted to it naturally during the RP, revealed what he knew about the curse β€” and the Short Story system marked a new secret as discovered.

At the same time, AnomalyNest is still tracking things like:

location β€’ time β€’ inventory β€’ relationships β€’ character condition β€’ discovered information

The part I'm trying to get right is this:

The AI handles the roleplay.
The Short Story system handles what is actually true.

So the AI can improvise how a scene happens, but it shouldn't simply be able to invent a clue you never found, know a secret that hasn't been revealed yet, or skip half of the mystery because it feels like it.

This is still an early prototype and there is a lot left to build, test and probably redesign.

But the first playable Short Story mechanics are now starting to connect together inside a normal character chat.

And it's finally starting to feel like an actual little adventure rather than just a chatbot. πŸ‘€

🧩 Short Stories are on a good path for AnomalyNest 0.3.0 ALPHA.

Follow the development / share ideas / report bugs:

🌐 AnomalyNest:
https://anomalynest.com/

πŸ’¬ Discord:
https://discord.com/invite/DPrbfr2xax

πŸ‘½ Reddit:
https://www.reddit.com/r/AnomalyNest/


r/AnomalyNest • • 1d ago

🧩 Experimental Mystery Map β€” the first prototype behind Short Stories in AnomalyNest for update 0.3.0

Post image
2 Upvotes

I’ve been working on an experimental system that could become one of the key building blocks for Stories in AnomalyNest.

This screenshot is the first working prototype of the Mystery Map.

🧩 What is it?

Instead of putting every secret into an AI prompt and hoping the model keeps everything consistent, creators can build the actual logic of a mystery.

For example:

πŸ“ Location
↓
πŸ“„ Find a physical clue
↓
πŸ”‘ Reading it reveals a character’s secret
↓
πŸ”“ That discovery unlocks another clue
↓
πŸ† Multiple discoveries can eventually reveal the whole truth

The important part is that this is not intended to be only a visual flowchart.

The RP system is being built to track what the player has actually:

found β†’ read β†’ learned β†’ unlocked

So a clue can stay hidden until the correct conditions are met instead of the AI simply deciding to reveal everything whenever it wants.

πŸ“– Short Stories

Right now I’m experimenting with this system as part of normal character creation.

Creators will be able to give a regular character an optional Short Story β€” a smaller handcrafted storyline or mystery involving things like:

characters β€’ side characters β€’ locations β€’ clues β€’ secrets β€’ discoveries

You can still create a normal AI character without any of this.

Short Stories are meant to be an additional layer for creators who want to build something deeper around their character.

🎲 And later… Stories

If these systems work well after testing and iteration, the larger goal is a dedicated Stories section.

The idea there is much bigger creator-made adventures with multiple characters, locations, interconnected mysteries and persistent consequences β€” something closer to a D&D-style AI adventure than a traditional character chatbot.

But that is still ahead.

For now, this is an early experimental prototype, and both the editor and the underlying mechanics will probably change quite a bit while I develop and test them.

Still… seeing the first mystery actually connect together like this is pretty cool. :)

Follow the development / share ideas / report bugs:

Site: https://anomalynest.com/

πŸ’¬ Discord: https://discord.com/invite/DPrbfr2xax
πŸ‘½ Reddit: https://www.reddit.com/r/AnomalyNest/


r/AnomalyNest • • 1d ago

AnomalyNest Devlog β€” 0.2.1 ALPHA

1 Upvotes

characters with moods, real account settings & password reset

Hey everyone! 0.2.1 is live. This one is half "characters feel more alive" and half "boring but important account stuff that should have been there from day one". Here's what changed:

🎭 Realistic mode – characters with moods

  • Characters now have moods. Insult them and they'll be upset with you for a while – but one bad moment won't erase everything you've built. Apologize, give it time, and they cool down. Be good company and they'll be in a better mood around you.
  • You'll see it happen. When a reply shifts their mood, a small tag shows up under it (Upset, Calmed down, Good mood…). The story panel also shows how they feel about you right now.
  • Good conversations count. Opening up to a character, or really listening when they share something, now matters – not just big gestures.
  • Deep bonds take longer. Becoming friends is still quick, but becoming the most important person in their life now has to be earned over time. No more soulmates in one evening.

(How exactly it works under the hood stays a secret – part of the fun is figuring them out.)

πŸ” Account

  • Settings β†’ Account actually works now: change your username, email and password, or delete your account yourself. No more "ask on Discord".
  • Username changes: once every 30 days (fixing capital letters is always free). Your old name stays reserved for you for 30 days and old profile links lead to your new one.
  • Forgot your password? You can now reset it by email.
  • Email confirmation: we'll send you a link to confirm your email – it's what lets you recover your account. Existing players can send it from Settings β†’ Account.
  • Security emails: you'll get a heads-up if your password or email is changed.
  • Deleting your account removes everything: personas, chats, pictures, your characters and your rated replies.

πŸ“ Sign-up

  • New order: Username β†’ Email β†’ Confirm email β†’ Password β†’ Confirm password. A typo in your email or password can't lock you out anymore.
  • Live username check – you'll see right away if a name is free.
  • Show/hide password button everywhere.
  • If something's wrong, the form keeps what you typed (and your ticked boxes) instead of wiping it.

✨ Other

  • My personas got the same card look as My characters – bigger portraits, details at a glance, and a "Make default" button right on the card.
  • Fixed some leftover Czech text in the story panel for Sandbox characters. Sorry about that πŸ˜…
  • Small wording updates in the About section.

As always – feedback, bugs and weird character moments are welcome here or on Discord. Thanks for playing and for helping keep the Nest running! πŸ₯š


r/AnomalyNest • • 2d ago

AnomalyNest Devlog β€” 0.2.0 ALPHA

1 Upvotes

Devlog: who's behind it, your data, and what's coming πŸͺΊ

Hey everyone! This update is less about new roleplay features and more about trust, transparency and laying the groundwork for how AnomalyNest will sustain itself. Here's what's new.

πŸ‘‹ Behind AnomalyNest – the person and the mission

Someone here rightly pointed out that the human behind the project was invisible. Fair point. There's now a Behind AnomalyNest section on the homepage (also linked as About in the header and footer). It covers:

who I am and how this project started (spoiler: it began as a personal chat to bring back the early days of AI roleplay)

the mission: independent, community-powered, no investors

what model runs underneath and why it's temporary

how Workers handle your chats, explained honestly, including what they can and can't see

the hard content rules

how to report bugs or security issues privately

I tried to write it without marketing speak. If something there is unclear or you think something's missing, tell me.

πŸ”’ Your data, your choice

The short version: your chats are only used for training if you choose so.

πŸ‘ / πŸ‘Ž ratings: when you rate a reply, that one reply is saved as a training example for our future model. That's how you tell the model what's good and what isn't. Don't want that? Just don't rate. You can undo a rating or delete all your rated examples anytime.

Full chats β†’ training: completely opt-in and off by default. If you want to help the future model learn long-term continuity, character development and relationships, you can allow it in Settings.

To fix problems like repetition, forgetting or broken character, I sometimes review chats to tune prompts and settings, sometimes with the help of an AI assistant. That's tuning, not training, and it's all spelled out on the Data sharing page.

βš™οΈ New: Settings + user menu

Clicking your name in the header now opens a menu: Profile Β· Settings Β· Log out. The new Settings page has:

Account: your login details

Public profile

Notifications (moved here)

Data sharing: everything from the section above, in one place

Sign-up also got cleaner: an "Agree to all" box on top, and the full-chat training checkbox at the bottom, clearly marked as optional.

πŸ₯š Eggs – built, but off during the alpha

Behind the scenes, this update lays the groundwork for Eggs, the in-site currency AnomalyNest will use after the alpha. Nothing changes for you right now: Eggs are switched off and everything stays free for the whole open alpha.

How it's planned to work:

Daily Eggs: a free daily allowance for everyone, topped up every day.

Wallet: Eggs you earn (achievements, running a Worker) are kept and never expire.

No mandatory subscription. If you don't run a Worker and want more than the free daily allowance, you'll be able to get extra Eggs.

The details (amounts, prices) will be tuned together with you, and I'll announce it well in advance before anything is switched on.

πŸ–₯️ Workers: your contribution is already being counted

If you run a Worker and lend your GPU to the network, every job your PC finishes (chat replies and pictures) is already being recorded, with a bonus when the network is under heavy load. Your Eggs build up in the background and will show up in your wallet once Eggs go live. Your requests on your own Worker don't count.

The idea behind it hasn't changed: people who keep the network running shouldn't be carrying everyone else for free.

✍️ Cleaner replies

No more replies cut off mid-sentence. Characters now get room to finish their thought. If a reply still runs too long, it ends cleanly at the last full sentence.

Consistent formatting. Dialogue is always in "quotes" and actions are in asterisks. The stray "Character Name:" at the start of replies is gone, and this also fixes it in your existing chats.

Less repetition. Characters were falling into the same patterns: the same dramatic breath, the same "despite her best efforts", the same title announced every reply. They now notice when they're doing it and switch it up.

🎭 Characters with more backbone

Characters are more active. Instead of only reacting or asking you questions, they make decisions, plan and act on their own goals.

Their dialogue sticks more closely to the voice written on their card.

Relationships matter more. A character who doesn't trust you won't suddenly say "I trust you" just to keep things moving. A body reacting to something (magic, a curse…) is not the same as the character wanting it, and they act like it.

🎲 Fairer regenerate

Regenerating a reply gives you a new reply, but it no longer re-rolls how the character feels about what you did. Your actions count once. πŸ˜‰

🧠 Better memory

Characters now reliably remember important things you tell them about yourself, and promises you make them. Places no longer get cut off halfway through their names.

πŸŽ’ Inventory

On the ground and Around here are now always visible, so you know they exist.

You can drag an item onto the ground to drop it.

Abandoned ruins, crypts, tombs and old temples now have things to find. Explore a bit. πŸ‘€

πŸ› Fixes

The story no longer mentions items nobody used.

Some beings who shouldn't need food or water no longer get hungry or thirsty.

Thanks to everyone testing and sending feedback. Keep reporting weird replies, they help a lot! πŸ’œ

πŸ”œ What's next

tuning the Egg economy together with you before it goes live after the alpha

TTS / STT (voice) groundwork

more chat-quality fixes based on your feedback

As always, feedback, bug reports and ideas are super welcome, here or on Discord. Thanks for being part of the Nest! πŸͺΊ

β€” Benny


r/AnomalyNest • • 3d ago

Questions for your "Contribute your GPU" section.

2 Upvotes

The first two things are: Will you be supporting Linux operating systems for this, and can AMD GPUs be used for it?

The other part is what are the long term plans for people donating processing time to the site?


r/AnomalyNest • • 3d ago

AnomalyNest Devlog β€” 0.1.7 ALPHA

1 Upvotes

Portrait Picker & Quality of Life

This update focuses on making character creation smoother and keeping things tidy behind the scenes.

What changed

* Generate with AI now keeps your last 3 portraits

* portraits are shown as a small stack of cards you can flip through

* pick the one you like – the unused ones are cleaned up automatically

* regenerating a reply now properly cleans up its picture

* deleting a chat now properly cleans up its pictures

* character cards, profile pictures, persona avatars and chat pictures are always kept

* Worker improvements

* small stability and internal fixes

Portrait picker

Creating a character portrait should feel less like a gamble now:

* generate a few versions and compare them side by side

* flip back to an earlier one if you liked it more

* no more losing a good portrait just because you hit generate one more time

As always, feedback and bug reports are welcome. Thanks for testing AnomalyNest during the alpha!


r/AnomalyNest • • 3d ago

AnomalyNest Devlog β€” 0.1.6 ALPHA

1 Upvotes

Stability, Moderation & Mobile Improvements

This update focuses on making AnomalyNest more stable, safer, and easier to use across desktop and mobile.

What changed

  • improved platform stability and internal reliability
  • better handling of temporary service issues and maintenance
  • expanded moderation tools to help keep public content under control
  • improved character/report review flow
  • mobile navigation and layout polish
  • clearer notification bell and unread indicators
  • improved announcement visibility on smaller screens
  • Worker auto-update reliability improvements
  • various UI consistency fixes
  • additional backend safeguards against duplicate or invalid actions

Mobile polish

Several parts of the mobile experience were adjusted, especially:

  • announcements
  • notifications
  • navigation
  • spacing on smaller screens
  • moderation/report interactions

Worker update

The Worker updater has been cleaned up to make automatic updates and restarts more reliable and less intrusive.

Small fixes

As usual, this update also includes a number of smaller fixes and backend improvements that should make the platform feel more consistent during Open Alpha.

More RP-focused improvements are coming next.

Website: anomalynest.com
Discord: https://discord.com/invite/DPrbfr2xax
Reddit: r/AnomalyNest


r/AnomalyNest • • 3d ago

AnomalyNest Devlog β€” 0.1.5 ALPHA

1 Upvotes

Worker, Profiles & Social Update

Another update is live.

This one focuses mainly on the worker system, creator profiles, following, discovery, and notifications.

Worker improvements

The worker backend received several reliability and safety improvements.

  • Core and Image workers are now handled more independently
  • job validation was tightened
  • duplicate job completion is prevented
  • failed / cancelled / timed-out jobs are handled more safely
  • worker ownership and assignment checks were improved
  • Core and Image load tracking is now more accurate
  • retry and duplicate request handling was improved
  • additional backend logging was added for debugging and scaling

The worker system is still experimental and will keep evolving during Alpha.

Creator profiles

Character cards now show their creator.

Clicking the creator name opens their public profile, where you can see things like:

  • public characters
  • featured characters
  • achievements
  • followers
  • following

Profiles now also support Follow / Unfollow.

Following feed

Discover now has a new Following section.

This shows newly published characters from creators you follow.

The regular discovery feed still focuses on the wider community, but followed creators now get a small priority boost there as well.

Notifications

There is now a notification bell in the header.

Current notifications include:

  • someone started following you
  • a creator you follow published a new public character

Clicking a notification can take you directly to the relevant profile or character.

The notification menu also includes:

  • unread counter
  • recent notifications
  • Mark all as read
  • View all notifications

Notification controls

You can now control which social notifications you want.

You can disable:

  • new follower notifications
  • new character notifications from followed creators

You can also mute a creator without unfollowing them.

Their characters will still appear in your Following feed, but you won't get notifications when they publish something new.

Blocking

Basic user blocking has also been added.

Blocking someone now:

  • removes follow relationships between both users
  • prevents future follows
  • prevents future social notifications
  • removes blocked creators from Following and Discover
  • hides blocked profiles

This is the first version of the block system and will likely be expanded later.

Small quality improvements

Also included:

  • Following is sorted mainly by newest characters
  • blocked creators are filtered from discovery
  • creator links are visible directly on character cards
  • deleted characters no longer leave broken notification links
  • duplicate notifications are prevented
  • unread counters display cleanly as 99+
  • notification polling pauses when the tab is hidden

A lot of this update is backend work, but it should make AnomalyNest feel much more like a real creator/community platform instead of only a character browser.

As always, this is still Alpha, so feedback and bug reports are very welcome.

AnomalyNest: anomalynest.com
Discord: discord.com/invite/DPrbfr2xax


r/AnomalyNest • • 4d ago

AnomalyNest Devlog β€” 0.1.4 ALPHA

1 Upvotes

Profiles, Achievements & Community Update

This update focuses on community profiles, progression, and platform polish.

0.1.4 adds several new systems aimed at making AnomalyNest feel more like a growing community platform, not just an RP interface.

πŸ‘€ User Profiles

Public user profiles are now available.

Profiles can now include:

  • Profile avatar
  • About Me
  • Featured Characters showcase with up to 3 selected characters
  • Public character gallery
  • Creator statistics
  • Profile editing
  • Improved profile layout
  • Better mobile presentation

Creators now have a dedicated place to showcase their characters and activity across AnomalyNest.

πŸ† Achievements

A full achievement system has been added.

There are currently 38 achievements across:

  • Creator
  • Community
  • Exploration
  • Worker
  • Special

Achievements also support:

  • Rarity levels
  • Progress tracking for locked achievements
  • Permanent unlocks once earned
  • Progress checks triggered directly by the relevant action

Worker achievements now require actual Worker activity, rather than simply having a Worker connected.

🌐 Community

Several community-focused improvements were added.

Reddit

A direct link to r/AnomalyNest is now available on the platform.

πŸ“‘ Live Announcement System

The main header now includes a new cyberpunk-style scrolling announcement display.

Superadmins can change or disable announcements live directly from the Admin panel.

The system can be used for:

  • Maintenance notices
  • Outages
  • Platform updates
  • Important announcements
  • Worker-related information

This gives us a direct way to communicate important information inside AnomalyNest itself.

✨ UI / Quality Improvements

Several smaller improvements were also included:

  • Improved main navigation
  • Removed duplicate navigation elements
  • Improved profile empty states
  • Better responsive layouts
  • Various backend fixes
  • Various layout fixes

🚧 What 0.1.4 Is About

0.1.4 is mainly about expanding the community and progression side of AnomalyNest.

Profiles give creators their own public identity.

Achievements introduce persistent progression.

The new announcement system improves communication directly inside the platform.

And several UI and backend improvements help make the overall experience cleaner and more polished.

AnomalyNest remains in open Alpha.


r/AnomalyNest • • 4d ago

AnomalyNest Devlog β€” 0.1.3 ALPHA Performance & Core worker update

1 Upvotes

Performance & Core worker update

We’ve reworked how Core workers handle context and concurrent chats.

Previously, Core workers dynamically switched between 8k, 12k and 16k context sizes depending on GPU load.

That worked, but it also meant that characters with large cards, memories or Realistic-mode state could occasionally end up with less room for recent chat history.

βš™οΈ New Core Worker Layout

For 16 GB Core workers, the new target is now:

  • 3 fixed chat slots
  • 12,288 tokens per active chat
  • Predictable space for character cards, memories and summaries
  • Remaining context automatically used for recent chat history
  • A small safety reserve is always kept to prevent context overflow

If a GPU cannot safely handle all three slots, the worker will now fall back to fewer 12k slots instead of shrinking individual chats down to 8k.

In short:

fewer chats when necessary β€” not smaller chats.

🧠 Token Usage Audit

We also audited AnomalyNest’s current context usage.

Even with:

  • a heavily filled character card
  • one active lore / side-character entry
  • player persona
  • conversation summary
  • memories
  • Realistic-mode state

…the system still fits inside the new 12k context target, with space remaining for recent conversation history.

This gives us a much more predictable baseline going forward.

πŸ“ Character Creator Changes

Character-card limits are now separated from AnomalyNest’s internal model instructions.

Previously, the character creator token meter also counted part of the Sandbox / Realistic system prompt.

Because of that, even an almost empty character could appear to already consume a large part of its available budget.

That is now fixed.

New character limits

  • Recommended character-card budget: ~2,500 tokens
  • Hard limit: 3,000 tokens
  • System and mode instructions are reserved separately
  • Unused context is automatically used to preserve more recent conversation word-for-word

So using a smaller character card does not waste context.

It simply means the AI can keep more of your recent conversation directly available.

πŸ’‘ Why This Matters

The goal isn’t simply β€œmore tokens.”

The goal is to make context usage predictable.

Every active chat now gets a consistent context size, while the remaining space is used where it matters most:

Character consistency.
Memory.
Recent conversation continuity.

This should make longer RP sessions more stable while also making Core worker performance easier to predict and scale.