Corona in 2022: new features, visuals, licensing, and more!

When we joined forces with Chaos Group four years ago, we started a project to integrate Corona with what is now the Chaos ecosystem in a way that would benefit you, and make our own development process faster and more efficient. Our goal was to benefit from being part of the Chaos family, while carefully preserving what makes Corona unique and loved.

This process was (and still is) challenging and has taken longer than we anticipated. On top of that, the 3D visualization market always keeps evolving, and we have to keep adapting to the changes as we go. However today, we are pleased to announce that we have now made significant progress, and we want to share all the changes that you will be seeing in the upcoming Corona Renderer 8 release at the beginning of 2022.

In short, we are introducing exciting new features at no extra cost such as Chaos Cosmos and Chaos Scatter, new visuals (and name!), and a new licensing backend shared with other Chaos products. In addition, we are making Corona pricing more affordable for long term customers, and we are offsetting the cost of these features by increasing pricing for short term and render node licenses.

Let’s go through the list in detail:

New Features

As part of our effort to integrate Corona into the Chaos ecosystem, Corona 8 will come with Chaos Cosmos (a library of smart 3D assets). Later, after the release of Corona 8, we will also add support for Chaos Cloud and Chaos Scans. The newest addition to the ecosystem, the scattering tool we are developing (now called Chaos Scatter) will be also included. Let’s look at these features in detail:

Chaos Scatter

After three years of development, the plugin (previously called Scatter Pro) is ready to be released with Corona version 8. It will be included in every Corona installation for 3ds Max and Cinema4D, and will fully replace Corona Scatter! Compared to the Corona Scatter that you already know, this is a full-featured, production ready scattering solution. Its major new features include:

  • Slope limiting (no trees growing out of cliffs!)
  • Include/exclude via splines (closed or open)
  • Surface color map (patterns on rugs, etc.)
  • Better viewport display
  • Limit scattering only inside camera field of view (frustum culling)
  • and more
Did you know – you’ve already seen Chaos Scatter in action, as we used it to create the city in the Corona 7 New Features video

Chaos Cosmos

Everyone needs tools that reduce how long a project takes, not just how long it takes to render — after all, your time is more valuable than your machine’s time. Chaos Cosmos does exactly that, by giving you access to hundreds of high-quality models, materials, and HDRI skies that will work seamlessly with your Corona projects, all accessible from within the integrated Chaos Cosmos Browser. Now you can find and integrate the assets you need in minutes, not hours! And the best thing is that the list of assets is growing all the time!

How much will it cost?

These new ecosystem features will be included in the base price of every Corona subscription. There will be no extra charge to access Chaos Scatter or the asset library, as we originally planned. Our goal is to provide the best possible software to as many users as possible, and this “all-inclusive” model will allow just that. To ensure our pricing is sustainable, we will instead adjust short term and render node pricing, as described below.

From the technical point of view, access to the Chaos ecosystem features will be facilitated by Corona switching to the unified Chaos licensing (scroll down to the “New Licensing Backend” section for more info on that).

Is that everything?

You will of course also get the expected dose of other new features. For version 8, this will include decals, new tone mapping, cryptomatte, slicer/clipper material, a curvature map, and more (see the end of the blog post for a development sneak peek).

New logo and name

You may remember that at the start of this year, Chaos rebranded with a new look and new names for the products. Corona was part of that rebrand internally, but we have waited for the integration into the ecosystem to unveil it publicly!

We’d like to introduce you to our new name and look coming with version 8:

The new name and logo, and how it will look alongside the other Chaos products

Adjustments to the pricing and subscription terms

Affordability was always one of the key features of Corona Renderer and we intend to keep it that way. We have never increased Corona prices since we first started sales in 2015, and we want to keep the same price level for our loyal customers in the future.

The way to achieve this in face of the universally rising costs of goods, services, and running a business is based on a careful analysis we did, which made us realize that we did not get everything right the first time — pricing was too complicated due to too many options, we did not have any way to reward loyal users, and we provided render nodes at a disproportionately low cost.

The first thing we want to note is this:

All existing subscriptions (monthly and yearly) continue without any changes at the release of Corona 8

If you have an active Corona subscription (or start one before the release of Corona 8) then we will not unilaterally change it — so nothing will change for you, unless you explicitly ask us to make a change. Your subscription will continue with the same conditions for as long as you keep it active, and will even include the new additions such as Chaos Scatter, Chaos Cosmos, etc. This applies to the changes coming with Corona 8, but of course there could be other changes to the licensing and / or pricing in the future.

With that said, we can now look at the changes that will come with new subscriptions after Corona version 8 is released:

Fibers on fabrics, one of our internal tests with Chaos Scatter

Cheaper yearly license, more expensive monthly license

Yes, after 6 years of being the same price, from Corona 8 onward a yearly license will in fact be slightly cheaper for those of you who do not use any render nodes — 280 € ($310) per year rather than 290 € ($330), to reward our loyal users. That being said, we need to increase the price of the monthly license to 40 € ($45), up from 25 € ($28.50).

The reason is that we want to reward the dedicated customers, but we also need to offset the rising cost of development and running a business. Corona today is much more complex than it was 5 years ago, requiring much more effort to maintain and develop (for illustration, Corona 1.0 had 100 000 lines of source code, currently we have 835 000 lines!). At the same time, the starting salary of a C++ developer roughly doubled in Prague, among other cost increases.

Our secondary motivation is that the monthly licenses tend to break more when rebilling with payment cards, which generates more support tickets for us and even loses us some customers after repeated issues. With this change we want to motivate new customers to prefer the yearly licensing.

George Karampelas, using the in-development Chaos Scatter

Render nodes as a separate purchase

According to our telemetry data, over 90% of Corona users never activate a render node, and most render node usage comes from a few big players. In this situation, having bundles of render nodes with GUI licenses both complicates our offering (with three different subscription plans multiplied by two billing frequencies), and users running smaller production pipelines who never use render nodes are in fact subsidizing the cost for the bigger players who do use them.

Our solution is to stop bundling render nodes with Corona, and make them into a separate purchase. The planned pricing is shown below:

  • 1 Node: 100 € ($110) per year, or 36 € ($40) per month 
  • 5 Nodes: 8% discount
  • 10 Nodes: 18% discount
  • 20 Nodes: 30% discount
  • 50 Nodes: 40% discount
  • 100 Nodes: 60% discount

This will make the pricing more fair, by introducing price differentiations between bigger productions with their own internal render farms, and freelancers without them. It also makes the pricing more understandable and straightforward — you pay for the exact number of computers you are using, and only when using them — you do not need to fit your overall computer usage into one of several arbitrary tiers.

Your base Corona subscription can still be used for network rendering as before —  we’ve included some examples in the “Licensing Under the Hood” section at the very end of the document.

Note that this does not affect commercial rendering services, which are using and will continue using individually negotiated contracts.

George Karampelas, a WIP using the new decals

No extra cost for extra features

Remember, the extra standalone products which are not part of the renderer that will come bundled with it (Chaos Scatter and Chaos Cosmos) will now be priced in the core subscription rather than requiring extra, separate costs.

Box licenses

5 years of sales show only a handful (few percent) ever purchase a Box license, so we’ll streamline the purchasing process by removing Box license details from the website. Organizations whose policies forbid purchase of subscription software can still get in touch with us to purchase them, same as before.

Student licenses

We will increase the symbolic price of student licenses to 40 € ($45) per year, so it is still equal to the cost of a single monthly license.

The Corona 7 Physical Material in action

Summary of the new Corona pricing:

Let’s summarize it all quickly:

Existing subscriptions

  • Pricing, terms, bundled render nodes stay the same
  • Will gain Chaos Scatter and Chaos Cosmos

New Corona GUI licenses

  • Will include Chaos Scatter and Chaos Cosmos
  • Will not provide additional render nodes
  • New yearly cost: 280 € ($310)
  • New monthly cost: 40 € ($45)
  • New student cost: 40 € ($45) per year

Additional render nodes now purchased separately:

  • Yearly: 100 € ($110)
  • Monthly: 36 € ($40)
  • Discounted packs available for multiple render nodes
Getting ready for the road ahead! A WIP from George Karampelas

New licensing backend

Corona 8 and later will use the same licensing implementation as Chaos. This will actually appear in an upcoming daily build of Corona 8, to give us time to test it. Earlier versions of Corona will continue on the old licensing system for the time being (including after the release of Corona 8).

This means that:

  • You can gain access to all other Chaos products (e.g.,  Chaos V-Ray, Chaos Phoenix, Chaos Scatter, Cosmos, Scans, etc.) with a single account.
  • We can easily add Chaos Cloud access for Corona to your account in the future.
  • You will gain better control over your licenses with the more advanced and well-maintained Chaos Licensing Server. The poorly maintained Corona Licensing Server will be discontinued.
  • You will have more granular control over which emails you receive from us — e.g. if you only use 3ds Max, you won’t need to be notified when there’s a new release for Cinema 4D, and more
  • And we’ll be honest, we benefit too — it will make things much easier on our side for handling licensing, purchases and orders, which will let us spend more time on Corona itself!
Our Corona 7 robot!

Corona 8 Sneak Peek

Of course, none of this changes our plans for adding new tools and functionality into Corona 8, and we’re excited to share some behind-the-scenes early looks at what we are cooking up!

  • Decals (already in the daily builds)
  • Tone Mapping
  • Cryptomatte support
  • Curvature Map
  • Slicer/Clipper
  • The Reflection Tail parameter (already in the daily builds)
  • And more!

Decals (already in daily builds)

These are much more powerful than the name sounds! Sure, you can use them to “add graffiti onto a wall” but you will find their potential goes much further than that. Try it for yourself in the daily builds!

You can see a quick test video below showing the Decal in action in the Corona 8 daily build, since it’s always easier to see something than read about it!

Let’s break down what we can see here. A Decal will be an object that you add to the scene, apply a material to it, and then you can move it to intersect other geometry and it will apply the decal to that geometry.

The Decal is visible in the viewport for easy adjustment, and then you can move, scale, and rotate it to align the decal on the receiving object.

There’s no need to prepare the object receiving the decal in any way — you don’t need to adjust its material, you don’t need to enable a checkbox for it to accept the decal, simply drag the Decal object to overlap it.

As well as projecting a material onto the receiving object, the Decal also projects displacement, making it easy to add things like manhole covers to roads.

Some examples of how decals can be used

It is easy to stack Decals, and you control the layering of which Decals are on top of others using the “height” (or distance from the object they are being projected on to, which may not be the scene height).

The Decal can be moved from object to object, can project onto multiple objects at once if it overlaps them all, and you can remove individual objects from being affected by the Decal using an Exclude list.

Decals also correctly respond to motion blur.

Decals are already in the Corona 8 daily build, so you can try them for yourself!

Also, in the first half of 2022, presets for Decals will be added to Chaos Cosmos, so you can look forward to having instant content on hand for use with Corona’s Decals functionality.

Tone Mapping

Our rework of tone mapping in the VFB is going well, although it remains a large and complicated task! It will feature several new operators for modifying the look of your render, and a new UI that will give you great flexibility in things such as the order of post-processing effects etc.

You can see a VERY early take of it in action below to give you some idea of the functionality you can expect:

Cryptomatte Support

Make your post-processing easier than ever by being able to accurately create masks that account for anti-aliasing, motion blur, depth of field, etc.

Cryptomatte examples, Name and Layer modes
With Motion Blur (beauty, Cryptomatte Name, Mask from Cryptomatte)
With Depth of Field (click for full size version)

Curvature Map

An internal build exists for this, so were able to make a quick test image to answer the question you may have – “In what way is the Curvature Map different from the AO Map?”

Click for full size comparison

Both can be used to add wear and tear to edges (amongst other things), and the above will give you a quick guide as to why you may want to use one rather than the other!

Early tests using Curvature mixed with a Noise to add “dirt” or “wear” into crevasse-like areas

Slicer/Clipper

Ever wanted to show a cutaway of a car so you can see the interior or engine from the outside? Or wanted to cut away walls to peek into the interior of a room (or even avoid a wall blocking a camera view from a certain position and field of view)? The Slicer/Clipper will let you do just that.

We made a video of it in action, early demo only!

Below you can see a render from that final scene shown in the video, with an interior with the GI preserved (by using the Slicer material into a Rayswitch for Direct Visibility only):

You can preserve interior lighting by using the Slicer Material in a Rayswitch, affecting Direct Visibility only

Reflection Tail (already in daily builds)

This Advanced parameter for reflections lets you raise the Reflection Tail, to get a stronger reflection outside of the reflection peak. You can try it for yourself in the daily builds, and below we’ll explain what it does.

To translate that from “light transport speak”, it means reflections will take on a softer and more distributed look with higher Tail values. While similar to raising the Roughness, the result is very different, with a softer look that gives more “depth” to the metal. You can see some examples below:

In this example, you will notice that the caustics are also correctly affected by the Tail parameter

The Tail also affects Refraction. It can also be mapped, as seen on the metal tray (we varied the Exposure of the bitmap to change the effect, so the tray doesn’t specifically match the Tail values shown in the overlay text)

The image comparison below shows the difference between using Tail (left image) and Roughness (right image) to adjust reflections — with Roughness, the entire reflection becomes blurred, while with Tail there is less blurring of the overall reflections while highlights remain equally affected:

For this example, the Roughness was set to 0.16 in that example (with a Tail of 0), and a Tail of 0.87 in that example (with Roughness 0). For comparison, here is the render with neither Roughness nor Tail used:

The sphere with no Roughness or Tail used

Corona on M1 Machines (already in daily builds)

This recently appeared in the daily builds, so you can try it for yourself. This brings a 45 – 50% speed increase compared to running Corona under Rosetta. Below you can see Corona running on an M1 machine:

Dome Mapping for Environments in Cinema 4D (already in daily builds)

Ideal for automotive visualizations, product renders and more, this mode lets your 3D objects “stick in place” in the environment map as you move the camera around. You can try it yourself in the daily builds, and see it in action in the video below:

Chaos Cosmos

Below you can see an early demo of Cosmos functionality, using Corona for Cinema 4D:

Thank you!

We hope you’ve found this look at what is coming with Corona 8 interesting! If you are technically-minded, and want a more detailed breakdown of how the licensing will work (e.g. if you want to see if you would require any render node licenses), you’ll find a breakdown with example scenarios below.

Meantime, we would like to thank all of you for your support of Corona!

Thanks!

Ondra, and the Corona Crew

Extra: Licensing Under The Hood

To provide more flexibility, the licensing is changing under the hood. This won’t affect you on a day-to-day basis, but we wanted to tell you about it anyway so you understand certain terms if they ever come up. This should also let you calculate whether you need any additional Render Nodes or not.

A Corona subscription will grant you a license which comes in two parts. The first, the GUI license, lets you see and use the Corona interface whenever you open the Scene Settings / Render Settings in Max or Cinema 4D respectively.

The second part is the Render license, which is what is used whenever you render an image. These are separated so that you can work on one machine, but render on a different machine. Examples will make this clearer:

a) You open your host 3D software, and start working on a scene that uses Corona, using IR as you go before doing a final render on that machine. Both the GUI and the Render license are in use on that one machine.

b) You open your host 3D software, and start working on a scene that uses Corona. You do not use IR or render at all, but send the image to a remote machine for it to render. The GUI license is in use on your machine; the Render license is in use on the remote machine.

c) You have three artists in your office, each with their own computer and each with their own Corona license. You are in the office on your own (you do know you should take weekends off, right?!) — you open a scene that uses Corona and work with it, and use distributed or network rendering to use all three machines to render the image. One GUI license and one Render license is in use on your machine — the other two machines are using the other two Render licenses (but not GUI licenses since no-one is working in the host 3D applications)

d) You have the same three artists etc. as in the last example. In the evening, you leave a job rendering using network rendering. This uses all three of the Render licenses, and (if you submit through network rendering management software only) none of the GUI licenses. (As a note, you could open a scene at home on your laptop to work with it, using one of the GUI licenses — you just couldn’t use IR or render that scene while the three Render licenses are in use in the office)

e) You own a subscription to Corona for 3ds Max, and another for Corona for Cinema 4D. The Render license is not tied to a particular host software, so this means you could use two machines for rendering from 3ds Max (so long as Cinema 4D was not rendering at all), or two machines for rendering from Cinema 4D (so long as the 3ds Max machine wasn’t rendering at all). Please note — you cannot use a V-Ray Render license to render using Corona, or vice versa.

You’ll see from the examples above how the split works, and how this means a “Corona license” gives you access to both the Corona software and UI, while keeping the rendering part of the license free to be used on another machine entirely, even from different host software.

You can also add additional Render licenses that ONLY provide rendering functionality (they have no GUI license, which is why they cost less than a “full” license with both parts) — this is handy if you have your own render farm, where you have machines that are never used to work in a 3D application and are only used for rendering.

74 thoughts on “Corona in 2022: new features, visuals, licensing, and more!

  1. This is a well communicated and well thought out plan. And the new pricing seems very fair. A big departure from some other companies! Good work.

    1. Thank you – we thought long and hard about how to do this, to keep it fair, and also how to walk everyone through everything in a way that we hope is clear and understandable!

    1. Thank you for the feedback! Clipper is awesome, having tried it out, so easy and useful! Looking forward to seeing what users come up with using it (and all the other Corona 8 features!)

  2. Well done guys, congratulations on taking care of your existing customers. I think everyone will appreciate it. I can’t wait to try the Chaos Scatter in action.

  3. Every new update you guys just keep making me amazed. All of it seems nice. I am curious about Chaos Scatter and the new tone mapping. The pricing is just perfect, very fair for all the users from now on.

    Is there a possibility that you implement the lecture of OCIO files to implement ACES worflow for example?

    1. And we are very much looking forward to seeing what you, and all our users, create with the new features!

    1. Thank you for the kind words! We’re looking forward to seeing what everyone does when making use of the new features! Always the best part, after the work put into development, seeing what people create using it 🙂

    1. No need for an apology, happy to let you know it’s already in the latest daily! Give it a go, let us know your feedback over on the forum, I hope it is just what you have been waiting for! Thanks!

    1. Hi! Unfortunately there are no plans to develop Corona for anything other than 3ds Max and Cinema 4D. Sorry.

  4. Hi! Regarding box licenses – will they be available per request for organizations only or for freelancers as well?

    1. Box licenses have always been only by request, and exist purely for organizations that disallow subscription licensing (usually Government or sometimes Educational establishments). That remains the same after Corona 8 too. Thanks!

  5. Just want to chime in and say you guys are awesome, I can’t wait for this release to be out officially. New pricing seem fair and very appreciated you taking care of old customers. Corona is getting better in leaps, despite being the best render out there all ready 😉

    1. Thank you! We are excited to get those out to you all (some already in the dailies of course, but more to come!)

  6. At the moment I have a student license, should I buy a normal license to have a benefit to paying the actual price?

    1. Depends on your situation – if you are going to be a student again next year, then best to just wait and buy at the student pricing next year (since the price change there is small). If you are not going to be a student next year, but will be moving to a full commercial license, it would then be up to you whether to start that before the release of Corona 8 in order to have the current pricing or not (e.g. if you never use Render Nodes and will be purchasing an annual license, it will be better to wait, because that will be slightly cheaper after the release of Corona 8). Hope this helps!

  7. Will this merge the 3ds max and c4d corona license be great to have an option for one price to have both – or even better to have phoenix fd + corona render 3ds max + corona c4d in one price but still cheaper than one at a time

  8. Will this merge the 3ds max and c4d corona license be great to have an option for one price to have both – or even better to have phoenix fd + corona render 3ds max + corona c4d in one price but still cheaper than one at a time

    1. It won’t merge Max and C4D licenses, no – you will still need a separate license for each host software, same as just now. There is no current news on any bundling of products etc. either, sorry.

  9. Awesome updates coming for Corona! Just wanted to clarify something on maintaining current pricing. Currently we pay monthly for 3 WS + 10 render nodes. So 30 nodes total. If we choose to continue on this plan, it will go unchanged even though it’s charged monthly? Thanks!

    1. Thank you for the feedback on the updates! Just to confirm you are 100% correct on the pricing/licensing – existing yearly and monthly continue at the same pricing and licensing arrangement so long as they keep renewing, which means that you will continue to pay the same amount and continue to have 3 WS + 10 Nodes, so long as it keeps renewing, even if that is monthly. Hope that clears things up!

  10. Hi, I have a monthly license. The price of my subscripition stays the same? Or i will pay the new price? I will downloading corona 8, this is change the value of my subscripition?

    1. Hi! Yes, as the blog says, so long as you keep renewing your current subscription, then the pricing and number of render nodes stay the same, even if you download and install Corona 8. You will also still get access to the new items like Chaos Cosmos and Chaos Scatter. Only if you cancel your renewal at some point, then when you come back to activate a new monthly renewal (after the release of Corona 8) would you be on the new pricing and licensing. Hope that helps!

  11. All this is wonderful. But you can answer when you make the History persist even after the scene is closed. This option has been in V-ray since time immemorial. And you still cannot make the Render History in Corona functional. Thanks.

  12. Is there a chance to convert some of our Vray Licenses to Corona License since they’re both be under license server?

    1. There are no plans at present to enable converting one license to another, sorry. Both are still separate products, even though the licensing server is shared, so the purchase/cancellation of each would remain separate. You can always contact the sales or support teams if you have some very specific issue that needs addressing. Hope this helps!

  13. Hi, So Currently 1 have one machine fully licensed and three render nodes which cost me; 27.5 Euro.

    What will my monthly and yearly cost be when you change systems…. your explanation of render node costs per month seems a bit vague ?

    1. Hi David! So long as you keep renewing your subscription, your situation will not change – you will get the same number of render nodes, for the same price. Only new purchases will be on the new pricing scheme.

        1. If you are an existing Corona subscriber, the price is exactly the same as it always was for you, you get the same number of GUI and render nodes as before, so nothing changes (other than you can now use Corona 8 and all the new goodies that come with it such as Chaos Cosmos and Chaos Scatter), so long as you keep your subscription active and renewing.

          The new pricing and licensing only comes into effect for new purchasers of Corona who do not have an active subscription.

  14. Hi,
    On cinema 4d how do you send a scene just for rendering without using the GUI?
    with which plugin?

    thanks

    1. The inbuilt Team Render in Cinema 4D does this, without any need for an extra plugin of any sort. You can use Team Render to Picture Viewer, or Team Render in Client/Server mode. Check MAXON’s documentation for how to use Team Render, as it works the same for Corona as all other render engines. Hope this helps!

  15. Please consider introducing GOBOs on the lights. This is now a standard feature which all other render engines offer including Arnold. Currently, when using GOBOs, we cannot see the final effects on the Corona IPR! This is only visible on the final render using C4D renderer.

    Test out Arnold’s GOBO features and you will see how easy it all fits into C4D. Also, I think you should also introduce some propper light systems using Corona generic systems including distant lights, spot lights etc….. Using C4D’s lights with Corona is not the best option as it does not integrate properly.

  16. actually much more expensive if you use render nodes!!!
    effectively they hit you with 5 licenses … outrageous.!
    My costs would be 27 Eu increased to 140 Euro a month.

    1. Only if you are a new purchaser. If you have an existing ongoing Corona subscription from before the release of 8, you have access to 8 (and 7, 6, etc) with the same number of render nodes as before, at the same price you have always paid – so long as you keep that subscription renewing and active.

      1. Congratulations to the new Corona 8, looks like a really nice update!
        I was planing to subscribe, but I need 15 render nodes, because I mainly do industrial animations. And for the old price I would have subscribed, but now the prices for the nodes are way to expensive for me. I’m a one man freelance animation artist, this is too much for me and I’m a bit disappointed about that new pricing structure. It was the same with vray, which I used for many years, but they started to charge even more for the render nodes. If you only work on stills the prize for the workstation license is cool, but doing animations gets far to expensive this way for freelancers and small studios. So I have to look for another renderer. It’s a shame, really… Maybe if there will be some kind of indie license for corona in the future, then I would think again about subscribing to corona.

        1. Sorry to hear you won’t be subscribing. Keeping the price unchanged for 7 years is pretty unique, but eventually we had to raise the price and the reasoning on why that was necessary was detailed back in our blog in November (https://blog.corona-renderer.com/corona-in-2022-new-features-visuals-licensing-and-more/ ). More than 90% of our users never use render nodes, and for them the annual price is actually less expensive, so a case like yours where you as a single individual has 15 machines is very rare. We hope you will consider subscribing in the future! Best regards.

  17. Hi. We are coming to the end of 2022 and I hope Chaos Cloud support will be added to Corona Renderer as promised(fingers crossed). Any updates on that?

    Thanks

    1. Hi! Do note that Chaos Cloud support was mentioned as being after Corona 8 but not pinned to a particular version. That support will not be in the upcoming Corona 9 on the 17th (but Chaos Scans compatibility is), but it’s still in our plans to implement it (https://corona-renderer.com/features/in-development for a look at where things are today). Thanks!

Leave a Reply to Rye Fanoni Cancel reply

Your email address will not be published. Required fields are marked *