Spring ’21 Release Notes

Spring '21 Release Notes

Yeah, new release is around the corner (or already in your instance) and with that some short summary of my finding from release notes.

622 pages of disappointment, if you want to hear the most important summary. Sadly, I don’t see much use for majority of the things mention there, but there are exceptions.


I usually finish with all those great things they deliver in flows, as they are at the end of release notes. But I’ll start with that this time, because it is pretty awesome and they did so much progress on it in last few releases that it should get some hands clapping

  • previous values in record triggered flows – you might want to add „finally“, but better later then never;
  • scheduled path to record triggered flow – what was possible in PB, do something immediately and something a while later, but not on scheduled basis;
  • multi-column screens (beta) – looks like we can make nice looking flows declaratively and don’t need lightning components any more;
  • revisit screen values – before when you returned to previous screen you had there the new values, not you can choose whether there should be original or new values;
  • debug failed flow – this is one of the best thing, directly in the error email you have a link to debug and can see the run of the flow, no need to start from scratch;
  • debug scheduled flow, show DML & SOQL limits – wasn’t possible before;
  • custom property editor for lightning components – I always hated this for the custom components (and some SF default one as well), how non-intuitive the configuration is and now you can provide nice UI for that as well;
  • enforced data access in merge fields – be careful, Salesforce will respect access rights for related records, so if you have a merge field from different record to which you don’t have access ….;
  • paused interviews resume in the same context (enforced in Winter 22) – this might actually be nice update, that it will restart with the same user not Automation Process.
Multicolumn screen flow

Lightning Application Builder

Dynamic Actions are now supported for more objects (still not all standard), there is an improved Page Performance Analytics, which might help you with slow pages and – and I’m surprised I didn’t realised it before – you can use custom labels and thus have translations to other languages.

With custom labels you should also be aware, that they will disable HTML rendering for them, which looks like no big deal, but I remember that once upon a time I used it to store the <br> value for new line as that was the only way how to do it back then. And don’t remember where it was.

Longer Field Level Help Text might be useful as well, I don’t use them heavily, but just last month one customer put there really long text and didn’t fit in.

In-App Guidance getting some love as well, obviously more if you are using myTrailhead, but even with standard you now have more places where you can put the pop-up, users are able to snooze the tip (not just close it) and what I like probably the most, even though I don’t feel users will notice, are relevant Trailhead modules on top of each page, next to the help icon.


Some nice things for developers as well, probably the most awaiting feature is Salesforce Functions, which will be available in beta a while after Spring will hit instances, we need to watch when exactly.

API up to version 20 will be retired, but hopefully no one is using it.

Salesforce DX can track – I mean you need to enable – changes in sandboxes. To me it looks like the same what works with scratch orgs, so not a big deal, but I can imagine there was a big effort in background to achieve it.

Speaking about DX – there is a lot of new parameters in scratch org definition file and you can enable a lot of new features/licences there like myTrailhead if you want to play with it.

Platform Event Triggers can be run under specific user and with batch size you can set.

You can create a lookup field to Opportunity Products and you can use Lightning Email Templates in automations, so nicely looking emails are finally here (?).

End user features

The biggest one, for which you need to add relevant related lists, is the ability to add Accounts to Campaigns (in beta). On account you will be able to see all campaigns where the account is added as well as all campaigns where some contact from the account is added. I’m curious how it will work as account doesn’t have email field, so you probably can’t include them in the email blast from campaign, but still need to test it out.

Reports got some new features as well – you can drag multiple fields from the left sidepanel to the report at once, which I probably won’t really use as I type them in the field directly, XLSX export is supported, you can filter dashboards directly from URL (as you are able for reports) and Enhanced Folder Sharing will be enforced, so you should check all your folders whether people still have access.

Einstein Analytics is now called Tableau CRM (I would say to confuse people as „Tableau“ will not be enough anymore) and from all the great new things I really like the most the fact that it can push data to Snowflake/CSV/Salesforce/Tableau Online. I read it as you can transform the data as you wish with all the available transformations and push it back where you need it for further processing/use.

Meeting Digest & Meeting Studio in Performance and Ultimate edition looks pretty interesting, but I don’t really have customers on these licences, so sadly won’t be able to use it

Meeting Digest

Salesforce Mobile

There is a new Mobile Home screen, which you need to enable and which looks really good.

Mobile Home

Also with the new security Apple is pushing there might be problem with some custom VF pages which will be blocked and will need some love from developers.

Mobile Publisher will support iPad and landscape mode, yeah!


Community Cloud is called Experience Cloud and communities are sites, will have hard time in setup to find it for a while. Also double check your guest user profile and rights as they will loose all Edit/Delete/View All/Modify All access to objects and if they permission set with these rights assigned it will be removed from them. And it looks like APEX Classes access will be reset as well 🙁

Knowledgebase supports alt tags for images (and again I cannot believe I didn’t notice it before).

You can embed Survey in webpage (but need special licence for that) and you can add Surveys Participants via rules & flow. Looks like a way to make it easier for users to dynamically send surveys to people.

High Velocity Sales for Call Couching & Call Collections, Sales Cadence can be assigned to Opportunities to help them progress to final sale.

Field Service (is not Field Service Lightning anymore) got Product Service Campaigns which should simplify recalls of specific products, Advanced Maintenance Schedule (I want a big cleaning once a year and small one every 3 months but not in the month of big cleaning) and customer notifications about technician’s arrival is part of the standard implementation now.

Last but not least Salesforce has some new product/industries:

  • Loyalty Program;
  • Batch Management – which should complement scheduled flow and allow processing more than 250 000 records/day;
  • Decision Tables looks to me like pricing rules, but I don’t feel they are really connected with CPQ (Revenue Cloud from new terminology);
  • Data Processing Engine – looks like something Tableau CRM should be doing but at the same time it is something separated.


Yeah, developers got finalisers (don’t ask me), but I want to finalise this article here. A lot of notes, to me the outcomes are great things in flow, accounts in campaigns and nicely looking emails we should start using.

What others found?

Napiš komentář, díky!

Salesforce v Česku s Michalem Mravináčem

A je to tady, došlo k tomu, co jsem nikdy neměl rád. Pustil jsem se do podcastů.

Vždycky mi přišly pomalé, čtení je rychlejší, ale současně jsem si loni uvědomil, že mi chybí pokec s lidmi a že proč ho pak nezpřístupnit i ostatním. Takže tady je první díl a doufám, že se mi jich letos povede udělat více.

Zápisky z povídání:

  • Michal má za sebou humanitní studia, takže vlastně typický Salesforce člověk, který úplně změnil kariéru;
  • vždycky se zabýval transformacemi, kouká na věci ze strategického pohledu a proto jenom necpe software, ale přemýšlí zda to bude dobrý fit. Díky tomu možná není Salesforce pro každého, ale zase ho pak lidé méně opouštějí;
  • málokdo tahá kreditku a rovnou kupuje, někdo si to upraví podle sebe a jiní kontaktují partnera;
  • evropská centrála v Dublinu, 9 lidí (před 3 roky byli 2) pro Česko a Slovensko (mluvící po našem), část z nich teď sedí v Česku, protože co v Irsku, kde je stejně zavřená kancelář;
  • EMEA je nejrychleji rostoucím regionem, úplně nejsilnější v CEE tím jak se roste z nižší základny;
  • v Salesforce (a Quipu) drží všechny znalosti, hodně používají Chatter (i na „schvalování“ věcí formou komentářů a na auditování dohod, protože v emailu to nikdo nedohledá);
  • neformální pravidla na co se používá který nástroj;
  • Quip na spolupráci s externími lidmi, na dokumenty ve kterých je potřeba mít živá data, jako depositář složitějších dokumentů (pravidla);
  • Salesforce Anywhere jako real time zdroj informací o změnách na klíčových projektech;
  • v Tableau vidí velký překryv aktivit, protože umožní správně vizualizovat data, datová kreativita tady chyběla. Prodávají primárně přes partnery, kteří ale nemají moc zájem řešit jiné oblasti, naproti tomu SF partneři jsou spíš business konzultanti a zase úplně nevidí do datových hrátek;
  • kdo správně nakládá s daty je vítěz, kdo nikoliv je na chvostě;
  • je Salesforce CRM nebo není? Customer 360 zní líp, ale vlastně je to CRM, akorát ho vidí ve větší šíři než jiné firmy v této oblasti;
  • produkt pro prodejce (Sales cloud) dělá cca 40 % obratu;
  • v Česko-Slovensku se nejvíc prodává Sales, Service a Experience (Community) Cloud. Platforma se používá také hodně pro zákaznický vývoj čehokoliv;
  • cca 400 zákazníků na lokálním trhu, z toho cca 150 z nezisku (číslo cca rok staré), naprostá většina SMB (cca do 200 zaměstnanců), přes 80 % zákazníků do 10 zaměstnanců (celosvětově jich je přes 30 %);
  • přestože mají cca 50 000 zaměstnanců tak se pořád částečně chovají jako startup a lidé mohou být hodně akční a brát iniciativu do vlastních rukou;
  • zajímavé implementace – Patrik Diamant (jedna licence, všechno automatizované) a naproti tomu D2G (řízení výroby, platforma v té době uměla 30 % toho co potřebovali a zbytek si dopsali);
  • starší implementace byly typicky hodně customizované, zvláště tam, kde si to dělali sami. Ale postupně se učíme a držíme se standardu;
  • partnerů máme na trhu dost, asi kolem dvaceti – ty aktivní, cca 7, a ty pasivní co mají dohodnuté projekty ze zahraničí a v Česku berou vlastně jenom pracovní sílu;
  • Salesforce je schopen pomoci s nalezením vhodného partnera, ví jaké mají reference, co znají a s kým by si mohli sednout;
  • čeští partneři se úspěšně profilují na Západě, takže nemusíme mít strach že by se báli konkurence ze Západu, kvalita je srovnatelná. Nicméně některé produkty tady třeba nikdo neimplementoval (Commerce Cloud);
  • Commerce Cloud je ideální pro zákazníka, který je na víc trzích (minimálně třech) a potřebuje je řídit v reálném čase z jednoho místa, zrychluje deployment a změny obchodní politiky. Pro zákazníky s jedním trhem asi není konkurence schopný.

Zaujalo? Tak ho hoď do své aplikace, ať nepřijdeš o další díl!

Listen on Apple Podcasts Listen on Spotify
Napiš komentář, díky!

B2C Solution Architect

B2C Solution Architect, the latest addition to the growing list of Salesforce certification you can achieve. Exam which is demanding, it will take probably a long time before you can really use it on some project, not many people will probably reach it but it gives you a lot of food for thoughts.

Salesforce Ben wrote about it a while ago, but I would say he didn’t really say all about it.

First of all, it has some prerequisites:

  • Platform App Builder
  • Marketing Cloud Email Specialist
  • Integration Architecture Designer

Frankly, I’m not sure why Email Specialist is on the list as I would say it won’t bring you any knowledge you need to have. Marketing Cloud Consultant is more appropriate I would say. But besides these you also need to know about Heroku, Shield, Social Studio, Audience Builder or Community Experience Cloud. It even tests your knowledge about Order Management System, which will be GA in February 2020.

How to learn is the second important question. Trailhead has a lot of B2C modules, just a minimum of them will be of any use. The exam has a dedicated trail, which is way more useful. But the real gold is in the Partner Academy, where only partners have access. That course will bring you even more details in some areas and is short in others, but overall really worth to spend those roughly 40 hours it requires. (they open it on Trailhead and this trail)

What are my main takeaways?

  • in cross-cloud implementations the unique identifier should come from Service Cloud and be used across clouds;
  • leads mean complications for Marketing Cloud, as the ID will change;
  • Customer 360 Data Manager to the rescue, I mean get to know your ultimate „human“ behind multiple different contacts, but don’t be surprised with limitation;
  • probably the first exam, where „that would be nice“ approach doesn’t work and they are not afraid about their limits – no API integration with Customer 360 (it would be super cool in a lot of scenarios), no native integration of Marketing Cloud and Customer 360, max 50 million unique source records in Customer 360, Customer 360 Data Manager is good for linking human based on „traditional“ identifier (phone, email), if you want to link Twitter/Facebook and other digital identities use DMP or Social Studio, B2C Service Cloud Connector is not supported by support, not production ready and only supports person accounts, the list goes on.

Leads in Sales Cloud and Service Cloud help with contact record data quality, but they can damage the data quality in cross-cloud implementations.

With multi-clouds there is also a question of system of record and sync of data, the recommendation here is to sync as little as possible and make real time call-outs to get the latest data/update them.

Multi-cloud architecture

I just loved the following picture, which you will see hundred times during the course and which I try to explain to every customer. It is always super hard, because they feel they should want the best possible and don’t want to admit they are not ready for it.

Evolutionary Process

For every use-cases in the training they will describe those 4 phases and how can you improve step by step, some of them looks like something super simple, but obviously there are clients for which even the most simple scenario will be hard. So ordering on behalf of customer should start with anonymous shopper, continue with authenticated, then you can include assisted shopping and other things.

Or another great example – BOPIS (buy online, pick-up in store). Sounds easy at the beginning, right? But are you sure your inventory is up-to-date? What about flash sale, will the store be able to deduct the numbers quickly enough? Have you thought about allowing customers to book their pick-up time? Will it have impact for you, because one customer bought quickly but will pick-up later, after another delivery, so you could sell more. What about curb pick-up, when you will deliver the goods directly to the trunk of parked car – do you have enough shop assistant to do that? Can you cooperate with the parking to maybe enter the order number when entering and guiding customer to specific parking place? All in all – you can make it super complex, but the customer might not be ready for that.

The final step is to give Lorene „superpowers,“ which will enable her to not only fully service her customers, but to also deliver relevant recommendations, apply discounts, and so on. The scenario above is not easy to implement. What’s happening behind the scenes is complex. It takes a deep understanding of the two products involved — B2C Commerce and Service Cloud — and how to integrate those products.

“What do we want to show each person?” vs “What does each person want to see?”

The training is surprisingly practical, I still remember my Service Cloud certification and how I struggled with the best practices, here you have it all. Including parts which you might consider as project management, but that’s part of the architect life as well.

Einstein everywhere. You know that, I know that, still surprise me how powerful it can be. And also how much you need to think about how to utilise it and which one.

There is Einstein Recommendation in B2C Cloud, which makes sense for the product details and search, as people really appreciate if the search „knows“ them and provide relevant products. And I’ve been surprised how many strategies for product recommendation there is:

  • Customer recently viewed items
  • Customers who bought also bought
  • Customers who viewed also viewed
  • Customers who viewed ultimately bought
  • Product Affinity Algorithm
  • Real-Time Personalized Recommendations
  • Recent Most-Viewed Products
  • Recent Top-Selling Products

But there is also Einstein Recommendation in Marketing Cloud which you should use when sending emails, but not on product pages. It is totally ok if the recommendations are different, as long as they recommend similar types of products.

Be sure to add suppression when implementing behavioral triggers. For instance, if a shopper has purchased a product in the past „X“ days, they’ll be categorized as ineligible. This ensures the user isn’t overwhelmed with marketing material.

Abandoned basket is process you probably heard about, nothing hard, right? But even that things can be complex and I would say is implemented in surprising way – B2C has MC collect.js on the page, which reports all the products you see/add to your basket and MC behavioral triggers will decided when and what to send. Surprisingly the process should not stop with the email, but when the user click on the link in the email, the shop should pre-populated the basket with all the things which were there and report back, when customer bought it, so you have correct KPIs.

Show me any shop which does it, I mean almost no-one is using this technique (abandoned cart), even less have it than complex.

Abandoned cart schema

Books and links

A lot of additional great resources mentioned along the course, which are worth getting deeper:

Should you take it?

Well, it depends, see what other think:

  • B2C solution architect to me reads like the pre-sales Solution Architect at consulting firms, high level knowledge of basic things, absolutely useless when you get into the weeds;
  • I was just like nope, I can and have designed and built fully integrated and operational b2c solutions for my clients that do not involve Marketing Cloud and Mulesoft. They do not come into any decision making;
  • Cross cloud is the direction everything is moving in. This is to the solution engineer point. Being able to paint that vision of filling in top of the funnel with leads, push MQL to salesforce to be qualified by sales. It’s understanding the whole life cycle and how everything is connected;
  • Solution architecture is not product specific but is a mindset in building a scalable solution per customer requirements and does not do the certification justice if this is the route they want to go;
  • It would help to grow an area that Salesforce wants to, and is a mess while making visible other architect career paths. I don’t see it as a logical path to CTA at this time, but another option;
  • There is definitely a weak spot when it comes to the multi-cloud/platform implementation side of things. With each of these acquisitions needing their own unique resources and time tables to get right.

It took me a while, but I made it. And must say that this certification feels like a really fun, I learnt a lot, probably the most from all certifications I got.

Salesforce Certified B2C Solution Architect
Napiš komentář, díky!

Time Warp vs Timeline

There are two great component on AppExchange. Timeline has been around for a while, Time Warp is pretty new. Both of the has been published under the Salesforce Labs account, meaning they have been developed by Salesforce people, went through standard security process and provided for free to customers.

What they do? They visualise how all the records follow after each other. You know, by default we are used to those related lists, when we speak about contact you can see all those campaign they have been part of, at different related list all the opportunities, completely separated are activities, meaning emails, tasks, phone calls. And when you want to see what followed what you are pretty lost and that’s exactly what these two (and probably plenty others) components solve for you, each of them in a bit different way.


This component is a bit older, you can find documentation and even future roadmap and it can basically replace the standard Activities component we are used to see on the right handside.


You can filter by object and you can specify the time frame when viewing on record.

What I really like is the configuration. It is like a wizard, where you select the parent object and then can add multiple (probably unlimited) number of related record, for each of them you need to select the title and date field and can add additional fields, which are visible when you „expand“ the record. Plus you can add a filter if you want to see just subset of those documents. You can also create a multiple different configurations for the same parent object, but you cannot put the same child object into one configuration twice (even though there is no check during configuration but it will fail during runtime).

Time Warp

Time Warp has documentation as well, the main difference in configuration is, that it uses Custom Metadata Types, meaning it will transfer between sandboxes, but you need to specify it manually and there is no configuration wizard. The great part is, that it is preconfigured for the standard objects, so all you need to do is put it on the Lightning Page and you might be good to go.

It visualise the data differently – as the „real“ timeline where you can scroll left and right.

Time Warp

Again, you can filter on the component to see only some objects, you can make it smaller or higher, you can see „into the future“ as well. Sadly you cannot (as a user) zoom out to see more at the same time, but as an admin you can specify both the time range into history and future as well as the zoom range. Another drawback is, that you cannot filter records it shows, when you want to see just subset of records.

Which one?

I would say both of them might be beneficial for your implementation, go and check them. It looks they are both production ready, I tested on an instance with a few million records and there was do speed consequences on opening the record details.

Napiš komentář, díky!

NPSP features & extensions

Nonprofit Success Pack:

was built for, and with, our community of over 47,000 nonprofits, with out-of-the-box capabilities and a relationship-first view of all the people in your universe. Free and open source, it turns the #1 CRM for businesses into a Constituent Relationship Management system for nonprofits.

In nutshell, this thing is a bunch of managed packages installed on top of standard Salesforce, which are specifically designed for non-profit needs and help them manage donors, fundraising and a few other things.

What always impress me is that it can do much more plus a lot of those things any company can find use for. Or put it the other way around – a lot of non-profits don’t really know what all it can do besides the basics. To iterate on that – not even the Nonprofit Cloud Consultant certification covers them.

Plus one more great thing – most of the things mentioned here are accessible in public repo under the BSD-3-Clause licence, which allows you to re-use it in your own development.


One of the most obvious things in NPSP are households, which automatically creates a new account for any contact, but you can put multiple contacts under one household. No person accounts, no bucket account, but some logic behind.

When we do NGO implementations in Czech Republic, we speak about this feature every then and now, but surprisingly, at the end, rarely implement it. The reason behind is, that it is pretty hard to manage people when they get together (actually this part is doable) and when they separate (here is the really scare part). So it is better and cheaper to communicate with each donor separately rather then try to somehow manage it.


What is super awesome feature in all the „new“ clouds (read NPSP, EDU, Financial and Health) are relations between people. For some reason Sales Cloud only cares about linking people to companies, but relations between people are probably even more important and I’m still surprised not many companies want something like that.

Small but lovely detail is, that when you create a relation, it automatically create the relation from the other side and change its name accordingly (child vs parent, brother vs sister). And yes, this part is in the certification.

Relationships Viewer showing Contact Valencia Robledo connected to two additional Contacts.

Soft Credits

Another thing in which Czech non-profits are not interested. We are awesome in tracking hard credit (money they actually got), but they don’t care about who influenced it. Together with the relations this might be super powerful for seeing the right picture about my donors, at the same time put additional effort to get such info.

Recurring Donations

In every single org we have something we called „kočkopes“ (mix of cat and dog). Darujme, our biggest donation portal probably everyone uses, allows to track recurring donations. Integration done by CRM pro neziskovky, can get this info to Salesforce and organisations want to see that the donation was part of this regular payment.

Surprisingly so far I only saw handful of organisation who identify donors as regular donors and only one of them – over all those years – attributes donations paid on bank account correctly to appropriate category as well.

But probably none of them use it for any forecasting, how much money they have „guaranteed“ in a few months.

Multiple payment donations are kind of similar, I saw just one organisation handle this part in some way, but that was more about the related contract they need to generate for it.

Engagement Plans

This is something everyone should use and also something similar to what a lot of 3rd party tools do – manage tasks which need to happen when specific thing occur.

Manage Engagement Plan Tasks screen

Together with NPSP Levels, where you can define automatic transitions of donor’s statuses based on specified thresholds it can lead to better handle of repeated donors.


This repo catch my attention just because of the name. Four years old, no description but it looks like something which can help you manage campaign members and filter them from other campaign. Something like Campaign Combiner – an app I found a long time ago, presented on NPSP Day in Amsterodam (my first entry into the community world) and which is not available on AppExchange anymore, but you can still find the page on its author website including a link to the repo.

Program Management Module (PMM)

Extra package you need to install if you want to use it. Quite often campaigns might be enough, but maybe you want to be more structured as your programs have services, cohorts, schedules, etc.

Program Management Module Entity Relationship Diagram

Hmm, maybe we can even use it for training and conferences?


Our typical solution for volunteers is a checkbox on contact, when the organisation is extra demanding we add a picklist with skills and maybe an extra object to track what works they provided, so we are able to report based on it.

This package from Salesforce provides something extra. It provides web page where volunteers can sign up, search engine, definition of jobs and shifts and reporting. From what I can see the only downside is that it counts with „regular“ volunteers, who can dedicated you a time on every Thursday, not that great when you look for people who might have 3 hours any day in a week.

A diagram showing the relationship between a Campaign, Volunteer Jobs, and Volunteer Shifts

Outbound Funds (OFM)

There is the minority of non-profit organisations who are on the „other“ side and provide grants for others.

Outbound Funds Module Entity Relationship Diagram

So if you want to allow people or organisation to request money from you this is the right package. Just list your program, let people request money from them, approve requests, monitor reimbursements and link it with GAU, where the money are allocated from donations. Great finish of the whole fundraising effort and you can see the flow of money from the beginning till the end.

As an addition to Outbound Funds you can also get Grant Management, which is a paid add-on with a few of extra features, most important of them probably being the grant portal/community.

Accounting Subledger

The latest addition – and a paid add-on – to the whole money thing, which should help to „translate“ the donations you enter into Salesforce into accounting system thus simplify the whole communication between fundraisers and accountants.

Well, that would be nice, from my experience those are two different worlds which needs to communicate and it leads to a lot of confusions on what should appear where and when.

Nonprofit Cloud Case Management

Another paid add-on which sits on top of Program Management Module and well … should simplify the case management. But after going through the Trailhead module you can see it is much more. Kind of lead management at the beginning, something similar to Engagement Plans, recording of the whole interaction inside specific program plus tons of sexy looking custom components.

The Case Management homepage

Also the data model might provide some clarity but I would say in this case the Trailhead is better as it gives you better idea how to use it. Worth additional 360$/user/year?

Case Management/PMM Entity Relationship Diagram


This program is – sadly – not available in Europe, costs just 5000$/year and provide the important „beginning“ for the whole fundraising – ability to create Giving pages and process payments including recurring payments.

Some reporting, tight integration with Salesforce NPSP, yes, this looks super cool. I’m just curious how much costs extra transactions (as just 5000 is included in the price) but even though the price looks high it might be very well worth it, taking into account that banks usually take 1 – 2 % from transactions.


This is not module, this is the whole ecosystem around. Non-profits have their own „success“ community called Power of Us Hub to discuss all the things (and there are some long terms plans to merge it with the normal Trailblazer Community.

The second great thing are community sprints, which anyone can join and help create something good, which will be later on shared with everyone. The next one will be at the beginning of February plus you can also monitor relevant repos with additional useful things (event app, short videos of features, data generation tool, membership management and much more.

Napiš komentář, díky!