We are happy to announce that the Mentor applications are opening today, and will remain open for the whole of June 2019!
For those of you who missed the Mentor announcement a few weeks ago, a Mentor is a regular player who has been acknowledged by the staff to be trustworthy and capable of assisting the community in some way. Whether this is via generally helping players in the game, answering minor questions in the discord, or even intervening with hostile players and calming a situation. Everyone will be good at something different.
It should be noticed that Mentors will not have any moderator or admin privileges.
As previously stated in our announcement, please note that to be considered for this role you must have a positive behaviour, good attitude and be somewhat thick skinned. This is not a popularity contest; all suitable players will be considered equally, and the role can also be lost if trust with the staff is broken. The Mentor role is also a voluntary position and will not receive any in-game benefits. Mentors will however receive a Discord role and a badge on their in-game profile!
Applications will be reviewed during June and any players who pass will then be offered a 2 week trial in July. Trials must be kept confidential, as we want to see your involvement with the community, not their response to you being on trial for the position.
If you wish to apply to become a Mentor you can do sohere ←-clicky clicky. There are some rules to read and accept on the application so please familiarise yourself with them.
Good luck and we look forward to reading your applications. If you have any questions feel free to ask us in the FreeSO Discord or in-game.
Since the neighbourhoods update has been out for over a month and people have become settled in their new town halls, I figured it was about time for an update post on what we’ve been doing… and what we will be! Yes, this post will contain a full roadmap on what we are focusing on bringing to the game before leaving beta. Yes, that is still a thing. Feel free to skim any of the sections and just read headings, as many of them get quite technical.
(If you are still concerned about the contents of the last post, I suggest looking at the post date.)
Automatic Reconnection (anti-error 23 tactics)
Back in the olden days, the internet was a very unreliable medium. Transfer speed was low, cross country signal drops were frequent, and everything was just poor in general. Nowadays everything “just works”, and you can guarantee that most connections will stay connected for large periods of time. Most.
Assuming we were past the “extended suffering” period of the internet, FreeSO’s core networking was built with the assumption that when a connection is created, it is only destroyed when the other user quits out of the property/city or their connection drops entirely. It’s predecessor from the original TSO, “Aries”, had an additional feature for handling a third situation – disconnecting due to a temporary line fault, but being able to re-establish connection shortly afterwards via a slightly different connection handshake.
The internet is essentially a huge network with many different routes connecting points around the world. Essentially, depending on your global position, you would have a different route to our server. There’s no guarantee that all of these routes have 100% uptime, or behave nicely with long-lasting connections, so occasionally connections ended up dropping/terminating to some users more than others. This was what was causing “Error 23”, where the user lost connection to the City Server, or simply being booted from the property without warning. This disconnection was instant, and immediately destroyed the sim’s session, booting them from the property they were on.
To solve these issues, I first made this session live on for 30 seconds after the initial disconnection. Given the user has the right authentication available, they can then retry to re-establish connection and regain control of that session, without closing it. This lets users who drop connections or switch networks re-establish connection to the game without dropping out of the property or city! The networking on top of all of this is on another layer of abstraction, so it should all work the same – handling disconnects is just deferred until we know that we definitely cannot reconnect.
An interesting side effect of this is that you can now switch between different internet connections without dropping out of a property, such as a WiFi connection to a 4G one. This is only becoming more important as more devices are able to connect to cellular networks.
This is still work in progress, of course. In some cases the game attempts to reconnect in the wrong situations (a mistake that doesn’t do much) and there are very rare cases where re-connection could still fail entirely. It’s definitely many steps above the instant guaranteed drop we had before, which is useful when you’re doing something long term like a game of Band, Pizza or deep into a… future EOD.
Incremental Updates and New Updater
Since the start of beta, FreeSO updates have been distributed in a really simple way – when you log on, the server tells you the version it’s on and sends you a link to the zipped client with that version. If the version mismatches your client, then you are prompted to download it. When it was downloaded, a simple patcher application simply extracted all of the files in the zip, and reported any hiccups it ran into along the way. Unfortunately, when it hit these hiccups (usually due to access being denied to Program Files or multiple open clients) it usually ended up breaking the client, requiring a redownload via the launcher.
The process of creating this client zip was entirely manual. We had to download the build from our buildbot (servo) manually, add in extra files such as the splash screen, objects and catalog xml, re-zip it all and then upload it to a webserver. This whole process took a lot of manual time, and not all of the moderation team knew how to do it. A more recent problem came from the fact that users updating to the latest version were downloading the full update zip, which recently has been exceeding 120MB.
Updating the server has also been a lot of trouble – to minimize impact on players, we usually end up updating when the server restarts at its usual non-peak time at 9:30 GMT. This involves stopping the server during its restart, uploading a preprepared server zip like the client one mentioned above (this takes time to make) and then extracting it over the server files, making sure some config files are not overwritten. The server files are usually backed up in case a config file is wiped, the database is handled separately. The update download URL had to be updated in the config, and some more things had to be performed manually to make sure clients didn’t log in with the wrong version (before it auto-updated).
All of these things have been discouraging small bugfix updates, as the cost for us and the users is too high and I always have to guide the process, essentially. It’s due to this that I decided to rethink the entire update process, to make it easier to develop the game and cause less trouble when we fix issues or introduce new features.
If you felt sorry for us reading that previous paragraph, be assured that things are definitely much better now. For a start, ALL of these steps are now automated. The generation and upload of client and server zips from servo are automated via a “branch” configuration, and queued to apply after any given date on a server restart. This already saves a lot of work (and dependence on me to push the update), as now you can simply click a button to get the process started. This has greatly sped up generating updates for internal testing too, which helps catch bugs before they affect Sunrise Crater.
The real magic behind this automated generation is the ability to generate Incremental Updates. If you’ll remember, the regular client update is essentially the entire FreeSO client zipped up and downloaded every time, regardless of whether you had the game installed already. Our incremental updates are zips that only contain files that have changed from the last update, reducing the size of the update dramatically. For reference, a recent full update was about 126MB, and its incremental update from the previous version was 6MB. These also have a manifest with hashes of the old/new versions of files, and any files that are deleted.
This huge reduction in filesize is good for a lot of things – the bandwidth of client and server, the time taken to update and the number of files where something can go wrong. When you are a few versions behind, we can still use these incremental updates to save space. Say you are 3 versions behind – the full redownload may be around 128MB, but you can get to the current version by downloading 3 incrementals instead (6MBx3 = 18MB). Given that most things in the FreeSO client do not change between updates (existing objects, patches), this incremental update size will always be very small.
On the user side (what you’ll see), you’ll probably already have seen the new incremental updater that has been used for the most recent updates. It’s a lot more fleshed out than our last updater, which simply displayed the file it was currently writing and alerted on any errors. Now it can extract multiple files (eg. multiple incremental updates), shows progress visually, continue to extract files if one or two cannot extract, and rollback the entire process if something goes wrong. This prevents a ton of cases where the game would end up corrupted and unbootable.
If something goes terribly wrong, you switch between cities that use different versions, or you reinstall the game, you can still download the full update at any time. Note that the patcher is now supported on osx (rather than our hacky script solution), though we’re still working out some issues there.
Thanks to these changes, we’re able to be much more confident about pushing updates without worries that people will be locked out of the game, removing some anxiety from development. We look to further this more in future with runtime object/patch updates for live development and emergency fixes, which could lead into a CC platform in the future.
(note: we have also added an auto patcher for TSO version to the game, in case the user installs the wrong version of TSO when attempting to use FSO)
Phew! With all of that out of the way, It’s time to spill all the beans. We’re closer to release than ever before – it’s time to stop the feature creep and get down our core set of features. Here is what will come to FreeSO before it leaves Beta:
2D Mode Refactor (Currently in Progress)
If you have a powerful computer, have been on a few object heavy lots (sparkling’s is an easy choice) and have played in 2D AND 3D, you’ll notice that 2D mode actually ends up running a lot worse than 3D, with more stutters and slowdown than you’d expect from a 2D game. This is because 3D mode is intensive on your Graphics Card, and 2D is intensive on your CPU. 3D mode makes enough sense because it has more complex shaders and more triangles, but 2D mode’s shortcomings need a bit more explanation.
The way 2D mode works right now, it has two sprite modes: “STATIC” and “DYNAMIC”. Objects that don’t change often are lumped in “STATIC”, and objects that do are kept in “DYNAMIC”. When a “STATIC” object changes its graphic or moves, it hops into the “DYNAMIC” buffer, which causes the static buffer to be regenerated as the object is no longer there. Buffer regenerations like this are also caused when a wall or floor is changed, or even when you mouse over a wall to cause it to cut away. When changes do not occur, however, the static buffer does not need to be regenerated (or even redrawn in most cases), saving a lot of cpu and gpu power over 3D mode.
The problem is, right now any single change will regenerate the entire buffer – even elements which are far away from the change, are the same or use a different set of geometry. You’ll find that attempting to place flooring can lead to extreme slowdown, lots with many objects and walls stutter heavily when these buffers are regenerated, and the experience simply isn’t great on older PCs that can’t regenerate them quite as fast. The “DYNAMIC” buffer is no better – it could be caching sprite vertices for individual sprites in the buffer… instead it regenerates all of them every frame.
The goal is to get a lot maxed out running well on a laptop CPU, mostly through changes preventing data from being regenerated when it will be the same anyways. This may include other changes such as simplifying the grass shader, optimizing lighting etc – some of which have sliced 11.5% off of cpu time in a current dev build for 2D AND 3D. Similarly, optimizations to things like roofs, terrain and floors will apply to 3D as well, as these elements are shared between both modes. When the update drops, the goal is for the changes to be big enough that you can really feel the difference.
3D Hybrid Mode, 3D shader changes and Dynamic Textures
I’m also looking into adding an additional mode called “3D Hybrid” mode, which will allow us to display 3d-only objects within 2D mode. This will allow us to do a few things with custom objects that sprites typically limit us from doing, such as applying dynamic textures (eg. cc images on a poster), having objects with a very large number of states, or even animations. With correct pre-baked AO (and anti aliasing enabled from options), these should blend in pretty well with the other 2D mode objects, but should still only be used when required.
The focus on 3D hybrid should also work the other way – allowing for using 3D mode graphics to still play in 2D isometric, but with smooth rotation and better zooming.
With these changes I will also be looking into including a few more features for our 3D remeshes – such as specular lighting/cubemaps and perhaps normal maps. These would help us better represent objects with really shiny 2D sprites – which right now we simply fake by baking specular into the diffuse texture. I’m not saying we’ll have a full PBR solution, but any improvement will be an improvement.
Upgrade System for Objects and Revised Tuning
Tired of the same Moroccan chair in front of every table? Televisions which are good for nothing except decoration? We realise that one of the biggest problems with The Sims Online is not the number of objects available, but the number of which are viable. You shouldn’t be punished for wanting to have a rustic themed property, so what if you could upgrade your crappy furniture to the same stats as the best? This will essentially be done via a huge tuning replacement table, and the goal is to have similar furniture (chairs, beds) share “upgrade levels”, where objects may differ on which level they start from, but generally cost about the same to get to the best. Obviously crafted objects and rares will always be a cut above, but this should make the catalog a lot more interesting.
These won’t just be assigning the existing tuning values to upgrade levels – we will likely change how each object performs at its best, and add upgrades for objects where there is only one version (eg. the bubble blower fun object). These upgrade levels will be shown when purchasing the object, viewing it in buy mode etc. so that they are easy to identify when trading and selling objects.
Improve Skill Gameplay
Recently we introduced a concept called “group skill” with the maze object and wargame. This is a faster way to gain a particular skill that involves more user activity, via the Maze game and the increased motive drain while playing. We will be considering tweaking both of these objects to make their benefits more obvious, and adding more objects of this kind to cover more skills. We will also be looking into the speeds and behaviours of the idle skill objects and decay, to see what we can do about the game becoming boring for users not used to the slowed down pace of TSO gameplay.
Note that past beta, we will have a skill lock system that rewards active gameplay over sim lifetime. This will be important for the long lifetime we expect the server to have – as as things are right now (many users with max locks) the game stops making much sense.
Improve Server Infrastructure for Distributed Scale
Right now, the FreeSO server runs on the assumption that you’ll only be running one city at once, with the lots and api server running on the same FSO.Server instance. The server has been designed to support scaling in a few ways: multiple lot instance servers for each city server, multiple city servers for each database server, a potentially separate API server… but none of these things have been necessary yet, and do not work as seamlessly as we might like them to. A larger focus on this will future proof any future extensions to the server we might make, such as a second city or a city running a different game version! (similar to Test Center in the original)
Obviously scaling would not be good for our wallets, but it could be inevitable if the game gains a considerably larger number of players. The best approach is to prepare for it regardless!
Dynamic Distribution of New and Modified Objects Without Updates (Stretch)
This is more of a pipe dream, but over the course of beta there have been a few times where we have had to update the game just to add a few objects/patches, or fix a game-breaking bug with one. These updates didn’t change any client code or other binaries – just files that were loaded by the game on startup. But what if they could be dynamically loaded and unloaded AFTER startup, and potentially served from the server on demand, without an update?
Essentially, we would be able to push out “temporary” objects and patches on the server side which would be loaded into the server’s content system immediately. When a lot encounters one of these modified or new objects, it would then tell all of the clients about it, and force them to download any missing or updated files for the new object, then load it into their game. This is obviously a simplification, but it would allow live development and testing of new objects in a test server, and deployment of critical fixes or event objects without forcing an update.
This could also lead into a Custom Content platform in the future, where CC objects would be uploaded to the server and served out only to users who encounter them in properties. We’d have different rulesets for visual only changes (on top of the upgrades system mentioned above… you see? it all ties together :angel:), patched script changes and full new objects that would allow placing and using these objects without downloading ALL of them, but while minimizing any hitches that would come from doing so.
Over the course of these updates, we will be doing several bug rounds where we will squash some remaining bugs and small issues that have been around for a long time. The priority list is as follows:
Pets (free will misbehaving, rules around running away + email for it, occasionally teleporting out of world or becoming unusable)
Restaurant Bugs (Alignment of certain job lots, serving large groups of people breaking, round activity tracking)
Top 100 Avatars, Relationship Decay (top 100 needs relationship decay to stop its query locking the db for 100 seconds)
Chat Channels (fix bugs, make tab behaviour/hiding more obvious)
Various UI bugs and crashes
Minor simulator bugs, eg. erratic playback of simulation ticks in some cases.
Don’t worry if I missed any – during these bug rounds I will actively find out what player’s biggest issues are and target them directly. I’ll let you know when I’m doing one!
All the features listed here are just what I’ll be working on – you might still be surprised by some additional features, objects and events from the rest of our team in the coming months! Who knows? 👀
To keep better track of this roadmap, I’ll probably set up issues for it and a milestone on Github, alongside the split between master/develop/feature branches I’ve been planning.
FreeSO has always been a hobby project, so it has always been hard to predict how much time would be spent implementing a feature – and it has been especially hard predicting when we were going to leave beta. As always, thank you for being patient – hopefully you won’t have to be for much longer!
At FreeSO, we’re always committed to updating the game to match modern expectations for people sim video games. That is the reason we added 3D mode and new lighting, of course, but there are some crucial areas that have been missed when focusing just on engine improvements. One day, I was eating my 3rd McFlurry™ of the day, writing my daily essay about how McDonalds™ has shaped our planet for the better. I was just getting stuck into a scoop with the world renowned McFlurry™ Galaxy™ Caramel Sauce when I was struck with an epiphany. Solutions to modern problems, should come from modern feedback to modern games.
So I started work on FreeSO Battle Royale. That was too much effort, so I instead looked to criticisms of the latest iteration in a similar series, The Sims. I’ve never played The Sims before, so I’m surprised that their series has so much in common with FreeSO, including pools and the Adult life stage. Looking back on complaints that have been made over the past few years about their most recent iteration, it’s clear there as a lot to learn about making a crowd pleasing simulation game.
We couldn’t be bothered making the fancier pools that TS4 has with all the pool rooms, windows etc… so we have found a better way to improve pools and bring some of that modern charm to FreeSO. Introducing – the BALL POOL.
Yes, every pool in every property is now filled with inflatable balls, and the world is better off for it. We’ve been keeping close tabs on the reception ball pools received in modern Sims games, and decided that it was an overwhelming hit with fans and deserved inclusion in our completely original game too. We’ve decided to include two modes for the ball pit pool, which can be triggered by the complex shaders option. Want more 3D balls than you have ever seen in real life? Check that Complex Shaders option. Want the authentic TS4 experience? Turn it off.
Why would we add ball pools without a special class of sim to sit in them? Yes, you read the title right, toddlers are coming to FreeSO. Due to excessive fan requests, we have decided to add toddlers without adding any other life stages whatsoever. This means that we have spent as much time as possible on the toddler life stage, making it a more polished experience. There is also no aging, as that is not the story we want to tell (and with how long you play this game you’d end up dead pretty fast).
“how did you add toddlers so quickly?” I hear you say? “wouldn’t it take hundreds of hours making new models, textures, and creating new animations for the new skeleton?”. Simply load the game, to find out.
We’re also giving out a free, never before seen object, TODAY ONLY! To go with our update focusing on pools, what better object to roll with than a Pool Filter.
Pool filters are used around the world to keep your pool water from becoming dirty. What? Pools don’t have any water now that they’re filled with balls? I hope nothing bad happens when you try to pump plastic balls through a pool filter…
That’s all for today, folks. I hope you enjoy your day. April 1st is truly the real start of spring, as things do really start to heat up around this time of year.
Hey everyone! A few days ago, I pushed out the first major feature update in 5 months. We’ve worked out most of the issues introduced by the first build, so it’s about time I made a blog post about it.
The new update has loads of general improvements, such as an all new MSDF font renderer that is beautiful at any size, new roof rendering, new smoother routing, new contact hardened shadows, simulation optimisations and many other improvements. However, the one that is most worth talking about is our new Neighborhoods feature, which has been teased on this blog all throughout the last few months.
If you want a full changelog, check out the list posted on http://tsomania.net. The rest of this post will focus on neighborhoods, though I might post about new things like the font rendering and SimAntics JIT/AOT at some other time.
As explained on the previous post: http://freeso.org/help-us-name-sunrise-craters-neighbourhoods/ , neighborhoods in FreeSO are very different from those in TSO. The neighborhood you are part of is directly linked to the position of your property – which means your neighbors are in your… you get the picture. This means that when placing a lot, you can’t just completely ignore the location! To get the most out of the neighborhoods features, you can choose to live next to your friends or a community you want to be part of. Perhaps you might also choose to live somewhere just to start a campaign and take over next month?
Each neighborhood has a unique name and description, taken or inspired by suggestions from the community made over the last through months. They are centered around specific landmarks on the city, giving each neighborhood its own distinctive feature that lets you spot it from city view rather easily.
The top neighborhoods in the city have election cycles, where a Mayor is elected to create and manage that neighborhood’s Town Hall for a term lasting a month. Each neighborhood has its own page which details all of that, including the top 10 properties (overall, per category) and sims (activity) over the last few days. Each neighborhood also has a Bulletin Board, which lets residents post public messages about anything they wish, and contains updates on neighborhood activities like elections and achievements. If you live in a neighborhood with a mayor, you can even submit anonymous ratings for them, which are shown on the page and any future elections that sim participates in.
Need to pull your neighbors together for an event? Want to know what’s going on in a neighborhood? Bulletin boards are new public forums that each neighborhood has for helping residents organize events, start discussions or look for assistance. There are three sections in each bulletin board – Mayor, System and Community.
Mayor posts are messages written or promoted by the elected Mayor of this neighborhood, and will appear larger than most other posts.
System posts are made automatically as various events occur in the neighborhood, such as elections or notable individual achievements. Achievements are currently not listed, but will be in the future. (eg. residents reaching the top level of a career, etc.)
Community posts can be made by anyone, and can be about anything! If you live in this neighborhood, you can freely post in the community section, and even link a lot to your post! If the Mayor appreciates your post, they can promote it to the Mayor section for the most visibility.
You can get to the bulletin board using the button on the left of each neighborhood page, and also from the bulletin board object present on that neighborhood’s Town Hall property.
Note that neighborhood features and the bulletin board have their own set of rules, specifically forbidding harassment, election bribery and spamming. For more information see http://freeso.org/nhoodrules/ .
By far the most interesting and complex feature that neighborhoods have added – Mayors are sims that have been elected to be in charge of a particular Neighborhood in the city.
Elections happen on the last week of every month – Nominations open on Monday, Elections then happen on Friday, and the final tally is performed on Sunday night. During the nomination phase, members of an eligible neighborhood can nominate any other member of their neighborhood as a candidate for becoming a mayor. When a sim receives three nominations, they will be asked if they want to run for mayor, and to provide a campaign message if they do. The 5 candidates who receive the most nominations will be chosen for the final election, where voters must choose their mayor from just the selected candidates.
When a mayor is elected, they gain a few powers (these are by no means final, but they are what is available right now):
They appear in the neighborhood page’s Mayor tab, and can have their performance rated by residents of the neighborhood.
They gain control of the neighborhood’s Town Hall – from this same mayor tab mayors can create or move the town hall property within the neighborhood. They can also build/buy on it and enlist donators – see below for more information.
They gain control of the Mayor section of the bulletin board. This means posts with more visibility, less chance of getting pushed off the board by newer posts, and the ability to promote regular community posts to appear in this section too.
A top hat icon will appear on their person thumbnail when they are on a lot in their neighborhood. Your presence will be felt throughout the property.
As there are 34 neighborhoods, you can imagine that 34 simultaneous elections might become quite confusing for players to keep track of. Because of this, only the neighborhoods with top activity levels can have a Mayor elected. Because we are still testing these new features, only the top two neighborhoods will have elections this month, but following election cycles will see more neighborhoods become eligible.
There is no term limit, and each month there will be another election to enter. The only thing keeping you in office is your die-hard fans!
They don’t HAVE to be a town hall – the name simply implies that the location is that neighborhood’s designated public gathering spot, and that it is always open to everyone. Town halls, parks, law enforcement buildings or even prisons – lots of this type are the center of the neighborhood, and reflect the most eccentric nature of its inhabitants. This special lot type can be opened by anyone, and has a max sim limit of 128, and be built on by a maximum of 100 whitelisted donator sims. They are ideal for get-togethers like competitions, weddings and other celebrations! There are also exclusive objects you can only find on community lots, mainly to do with voting and the bulletin board. However, lots with this type cannot be given a lot category, so it’s not much good at money or skills!
Each neighborhood has one community lot owned by its Mayor, who has been nominated and elected by its residents. The mayor has complete control over the property, though they can enlist help via object ‘donations’ from whitelisted sims.
In a town hall, there are two ways you can place objects:
‘Normal’ placement behaves similarly to placing objects on player owned properties – you can freely move objects between the property and your inventory, and the objects will return when you move out.
‘Donate’ placement has a much higher object limit, but these objects can NEVER RETURN TO YOU and cannot be refunded. When you donate an object to a community lot, it is destined to become a long term fixture that belongs to the neighborhood as a whole, and may persist as the lot changes hands between different mayors. A reminder will appear each time you open your inventory, just in case you have plans to put any rare objects down.
There’s a huge benefit though – when you buy objects out of the catalog to be donated, they cost 1/3rd of the price! This makes it a lot easier to get started or do renovations worrying less about your contributions disappearing in future.
Phew – that’s all for now! Updates on the first elections, the other new features and future updates will likely come in another blog post, so stay tuned!
With the new year already having flown by, we are rapidly approaching the second anniversary of FreeSO’s launch! And with that, the Annual FreeSO Awards (AFA) ceremony is making its second debut (it is annual after all). So for anyone who missed out on lasts years event, you are definitely in for a treat!
The AFA lets you nominate your fellow sims in a variety of categories, and the most voted for sim wins their very own trophy to display on their lot. This year has some new categories, but there are still a total of 31 awards up for grabs. An example of some of the sim categories are Most Iconic Sim, The World Is Your Toilet and Best Roomie Award!
You can place your votes by logging in with your FreeSO account here – https://awards.freeso.org/ – you may only vote for each category once per account and per real life household (so if your family members also play, perhaps discuss your nomination choices as a team)
The ceremony will be taking place on the 10th of February at 20:00 UTC at the Sunrise Crater Town Hall. The lot will fit 128 players, so if you want a seat, the early bird gets the worm! The event will also be streamed for those who are unable to squeeze into the lot.
In other news..
A new role has been added to the FreeSO Staff Team! This role, which is known as C.O.U.S.I.N, stands for Community Outreach, Upkeep, & Sim Integration Network. These players help out the team by taking the lead with larger events such as the recent Halloween and Christmas events, and are now preparing for the AFA.
The Neighbourhood name/description submissions have now been closed. Thank you so much for participating and fingers crossed you will see some of your creativite works added to the game very soon!
Lastly, it looks like the weather forecast is predicting the temperature will finally begin rising above freezing, so make the most of the snow whilst you can.
We have plenty planned over the next few months and we look forward to sharing it all with you.