How much does it cost to build a mobile app

Introduction

Answering the question “how much does it cost to build an app?” is pretty much like the question “How much does a new car cost?” from a person who has never considered buying a car before.

While there are the lower and upper boundaries (the cheapest car in the US market is Chevrolet Spark with a base price of $14,095, and the most expensive is Bugatti La Voiture Noire for $12.5 million before tax), but such answer probably wouldn’t satisfy the person who asks. They need the price for the car they want and can afford, but that will require this person to do a market research in brands, body types, features, autopilots, safety assistants, passive security, etc.

Just as with buying a car you have to start with a budget, options, quality, maintenance costs; with app development you have to consider a lot of various factors. There is no way of getting a good deal without knowing the market.

If you are researching the app market to figure out the best price for you, then this article should be of great help.

The mobile app market is evolving

The market for mobile applications is growing rapidly despite its already incredible growth in the last decade. 

More and more people get smartphones as generations change. Young kids become older and need new apps built for 2020, not for 2010. And it’s no surprise that many people come up with their ideas of building mobile apps and researching the price of doing this. 

Businesses become more tech-savvy. If 10 years ago only the largest companies had their mobile apps, now even an opening business needs to have a website and even a mobile app, be it for its employees or its customers.

It’s worth saying that mobile app development also has changed dramatically in the last 10 years. Apps now have easily recognizable design guidelines, and developers can easily understand what users expect to see on their smartphone screens.

Examples of pricing

It makes sense to research what other mobile apps cost and which factors added up to the final price. 

We consider two versions of the app. A minimum viable product (MVP) is a version of the app that has only the most necessary functionality. Imagine an Instagram app without stories, user tagging, spam filters… Just an image sharing app with filters. It was like this in the beginning, and this MVP was enough to gain traction.

EXAMPLE 1. Uber

Making a copy of an Uber-like app could cost up to $200,000 and last about a year. The app does not have many screens for the user, but also requires a separate app for drivers, for the support team, and advanced billing. 

Team members: 

  • software engineers
  • UI/UX designers
  • project manager
  • product manager
EXAMPLE 2. Angry birds

Making an MVP of an Angry birds-like game would cost about $60,000 and take around 3 months. The game will be playable and showing some simple concepts, but the quality of graphics, physics and sound might not be up to par with what we are used to on the App Store.

Making a full game like Angry Birds would cost around $500,000 and last about 1-1.5 years. Though many games are highly profitable, creating a good game requires a lot of effort from a highly experienced team.

Team members: 

  • software engineers
  • 2D/3D graphics experts
  • UI/UX designers
  • game designers
  • game artists
  • level designers
  • audio designer
  • project manager
  • product manager
EXAMPLE 3. Instagram

Making a copy of Instagram in its MVP form (just photo sharing with filters) would cost around $50,000 and last around 2 months. This would be a simple app with just email authorization that could handle not more than 5000 users. Further expansion to a fully scalable social app with stories, support, direct messages that work on most of the smartphones would cost $100,000 more and take an additional 5 months.

Team members: 

  • software engineers
  • UI/UX designers
  • project manager
  • product manager

Types of apps

Enterprise

When you consider building an enterprise app, make sure that you understand the target business perfectly. The most successful enterprise apps are developed by ex-CEOs or ex-CTOs of the largest companies in the industry.

The best part about enterprise apps is that the users will forgive lack of beautiful UI if the UX is great or at least the software does its job.

Also, we want to note that many people take “enterprise” too seriously. An enterprise might be something very small and maybe not even conventional. For example, astrologers have an enterprise of their own, with the same business needs as bakers and lawyers.

Apps of this type require a lot of business analytics and software engineering, with less frontend work. Also, usually, even MVPs of such products have to go through extensive stability and security testing.

Infotainment

MVP for an infotainment app can be built relatively quickly – apps of this type do not need a lot of testing, as any errors usually do not lead to a loss of important information or financial expenses for the users.

Actually, infotainment apps ARE usually developed through a series of MVPs, to achieve the best results, as engagement and retention are extremely important.

Infotainment apps are mostly about great user experience, so extensive frontend development is needed, with not so much backend development.

Firmware/Internet of Things

Do you have your own device and need some software for it? It will consist of 3 parts – firmware for the device, client app (utility type), and administrator app (enterprise type). 

Developing firmware requires software engineers with special skills that are quite rare. They need to create a highly optimized piece of software that works with very limited resources of a device that usually works from a battery. Oh, and don’t forget – this device should be protected from external threats.

The good thing is, you do not need pretty much any other expertise for the firmware – firmware usually do not have their own user interface, they do not need any UX. So just find the most hardcore backend devs on the market.

Utility

If you have an idea for a calendar app, or maybe some productivity tool, those need some out-of-the-box UX solutions, as everything obvious has already been implemented.

But if you have a great idea for the UX, everything else is pretty much not needed. Most of the utilities can be built with a single software engineer, or with a team of 2 or 3.

Game

Building games is a very interesting process that requires a lot of coordinated effort from a team of professionals. Game development is expensive, but it pays off well – In 2019 mobile games generated approximately $70 billion in revenue, 10% higher than in 2018. So this market still grows with a considerable speed.

A good game always starts with a game design document, that describes the details of the virtual world, its lore, game mechanics and player’s goals.

Apart from software developers and UI designers, you will also need audio designers, 2d/3d modelers, animation artists, voice actors, text writers and level designers. That’s quite more talent than for building a productivity tool!

Type of software Product Vision UX expertise Beautiful UI Security protection from internal and external threats Extensive testing
Enterprise You should have the clear vision even before the start Must-have from the start Not necessary Must-have Must-have
Infotainment You can pivot and measure metrics on-the-go Must-have from the start Must-have Not necessary Not necessary
Utility/productivity You can pivot and measure metrics on-the-go You can pivot and measure metrics on-the-go Not necessary Not necessary Not necessary
Online store You can pivot and measure metrics on-the-go Just copy some store that you love Not necessary Must-have Not necessary
Firmware/IoT You can iterate, but each iteration is costly N/A N/A Must-have Must-have
2D Game You can iterate, but modifying an existing game is a very hard task Must-have from the start Must-have Not necessary Not necessary
3D Game You can iterate, but modifying an existing game is a very hard task Must-have from the start Must-have Not necessary Not necessary

Platforms

Web

If you want to start cheap, it really makes sense to start with a web app. The web app can be adapted to all the popular screen sizes, from very small to very large.

Pros of a web app:

  • Any device that has a browser, can show the page
  • Many media features for the online (text, audio, video) are very well developed by the open-source projects and make development cheap and fast

Cons of a web app:

  • No control over the devices that can use the app – you have to support very old devices and operating systems that are no longer supported even by their manufacturers
  • The app can be accessed only with an internet connection
  • Small cost to publish the app (domains start at $1)
Mobile app

Pros of a mobile app:

  • You can control the OS version – this is very important for MVPs, very old devices will not be able to access the app, and thus cause your support team trouble on the early stages of development
  • Performance is usually much better than web
  • The app can be accessed even if the device is offline

Cons of a mobile app:

  • Need to develop a separate version for laptop and desktop computers
  • Need to develop a separate version for each mobile version (or not – read “Hybrid vs native” below)
  • Relatively more expensive to publish the app – registration in each application store costs around $100 and requires some paperwork (though, quite simple)

Hybrid vs native

You probably heard about some hybrid frameworks that allow the apps to be published both to iOS and Android. How do they work?

Imagine that you have a conference where the speaker speaks Zulu, and some attendees that are from Uganda and don’t know English. You want to hire translators for your conference. You have two options:

1. Find a translator that knows both Zulu and Swahili. Possible, but very, very hard.

2. Find a translator that knows both Zulu and English, and another translator that knows both Swahili and English. It is much slower, your speaker will have to make long pauses, but this works and this is scalable – if you will also need Chinese and Spanish – it will be easy to find additional translators from English. But also, you can be sure that 95% of puns and other stuff that is hard to translate will be lost.

The same principle applies to hybrid frameworks. They translate your code to some intermediate language, and then to native code of iOS and Android. This works slower than native code, it does not allow to implement some native features of platforms, but it is great when you want to easily cover many platforms at once at a lower cost.

Can the same app be built for different prices?

When we talk about “the same”, we do not mean that it will be exactly the same app with the same source code. By “the same” we mean that it will look the same, feel the same by the end-user, but under the hood, it will be very different to maintain and add new features. 

As an analogy, you can imagine an early Tesla and Lotus Elise. It is easy to mistake them from the outside, but inside they are two absolutely different cars.

Lotus is a classic car with an internal combustion engine. It requires gas refills, oil changes, ignition changes, its engine can break due to hundreds of reasons. It does not get updated. Once you buy, it will stay the same (actually, it will get old and become outdated).

Tesla, on the other hand, has very little moving parts, with its motors connected directly to the wheels. It does not need oil or gas. Its maintenance is pretty cheap, and software updates happen on-the-air for free (note: here we mean newer models of Tesla, but you get the idea).

So, two same cars can look almost identical on the outside, but be very different on the inside. How did Tesla create a much more advanced product? They spend much more money and time on the design step vs implementation step. If you want to have a great app, you also have to spend a considerable amount of time – much more than you want! – designing an app, instead of writing it.

What are the important things that you should consider when designing an app?

  1. Architecture: the app should consist of replaceable or updateable modules, it should be ready for future updates
  2. Admin panel: all the main actions with users (create/delete/modify), payments, subscriptions, analytics should be done without the help of software specialists
  3. Infrastructure for updates deployment: new updates should be easily deliverable to the end-users, they should be backward compatible with user data. Also, expect that all versions of your app will be installed by some portion of the users.
  4. Dependencies: use only popular libraries actively developed by the community, or very stable old libraries without extra dependencies. Never depend on resources hosted on other servers without backup options – servers tend to freeze or even die, leaving you with a broken software and causing emergencies where you could avoid them.
  5. Code: the developers should follow SOLID and DRY principles when writing code. It will help to modify the code easier.
  6. Testing: Always test each version of the software before releasing it. Have test plans for old and new features, run them regularly

The basic rule here is “One minute of planning saves an hour of implementation”. So even though planning is an expensive and tiring process, it saves a lot of time and money if done properly.

Freelancers vs Development Agencies

Choosing between a team of freelancers and development agencies is what every startup has to go through.

Freelancers are much cheaper, because they are working alone, while development agency will provide you a bunch of various specialists, 

Pros of freelancers:
  • Cheaper
  • If paid per-project, usually much cheaper than agency
Cons of freelancers:
  • If paid hourly, may delay the release
  • Has knowledge limited to one person
  • Has conflict of interests – tends to take shortcuts
  • No QA testing
  • No to little documentation
  • Can stop responding
  • Does not have reputation to lose, can break NDA
Pros of development agencies:
  • High quality standards, because many people work on the same code and have to coordinate
  • Work is done and checked by different people, shortcuts are penalized internally

Development agencies, contrary to individual developers, offer you many different specialists in various fields. It means that instead of doing tradeoffs and getting a good backend developer with intermediate frontend skills (or a good frontend dev with average backend skills), you will get a coordinated effort of frontend and backend experts, plus expert UI & UX designers, plus text writers, plus managers and so on.

Development agencies are obviously more expensive since you hire not one, but many people. But the result of that is you getting not a collection of tradeoffs, but a well-done all-around professional product.

One more bonus of working with a development agency is that the documentation for the product basically comes for free and it is well-done and tested by real people because it is an artifact of the team working and communicating.

Pros of development agencies:

  • High-quality standards, because many people work on the same code and have to coordinate
  • Work is done and checked by different people, shortcuts are penalized internally
  • The documentation for the product is done and was actually used to work on the product, so it is of good quality and will allow you to invite additional collaborators if needed
  • Agencies are bound with the contract and will not disappear in the middle of the process
  • Work is done by contract and might be fixed for free

Cons of development agencies:

  • Much higher cost than individuals or small teams of individuals
  • Much longer process of writing the specification for the project (might be an advantage for you)
  Freelancers Development Agencies
App architecture No. Builds on-the-go. Yes. They design your app from the ground up to allow many people to work on it efficiently.
Dedicated UI/UX designers No. You have to hire separately, control the result and coordinate work of designer and developer Yes, they have their own UI/UX designers that work with developers by the proven process
Communication You communicate directly with the developer, but he/she can disappear or stop responding You communicate with a manager that has to answer to you quickly
Technical documentation Usually none You will have a lot of artifacts left after development
Dedicated testers No. You have to test yourself. Have dedicated testers that run the same scenarios over and over again, making sure no regression happens
Price Low High

Structure of the development team

If you are going to hire a development team, it’s good to know who will be working in that team and what roles can you hire to strengthen your product

Product manager

Job description: The task of the product manager is to make sure that the product is needed by the target audience. This position is closer to business than development. The product manager does not know how the product is built but knows how it should work, look, and feel.

Use case: you have a person from the target audience, but don’t know how to ask and what questions? Ask the product manager to interview the person and develop the product that will solve the person’s problem. Note: product managers do not search for the target audience, they will work only with people you provide

Project manager

Job description: The task of the project manager is to make sure that all tasks are done on time, and that the schedule is correct and can be relied upon. Project managers are closer to development than business.

Use case: do you want someone to always control what developers do, push them to meet the next deadline, and give you estimates if you can squeeze in one more feature until next release? That’s a project manager

Backend developer/Desktop app developer

Job description: There are many backend development languages: C++, C#, Java, Python, Javascript. backend developers never know all languages, but they often have 1-2 major languages and 3-5 languages they can write simple code in. 

Note: in a low budget, backend developers can be tasked to write frontend parts. But they will not be happy about that 🙂 

Use case: this is the person that writes the main logic of your app. You will always hire a backend developer.

Frontend developer

Job description: Frontend developer is an artist that implements the app’s look and feel. Frontend devs do not dive into what’s under the hood: they do not write algorithms or data parsing. But they will make the picture look nice, button press smoothly, or responsive UI for any screen.

Use case: if you need the app to look really nice, you have to hire a separate frontend developer

QA Tester

Job description: any code written by the software developers is considered to be buggy until it is tested. It’s never possible to think that a developer can write code that does not have to be tested. Testers do just that – they run the same routine test scenarios over and over again, making sure that no regressions happen between releases

Use case: if you cannot afford to have a buggy app (it might be that you have a demonstration, or your app works with finances), you have to hire a QA tester or even a QA testing team for medium and large projects.

Team location

Though it may not seem fair, even with fully remote teams the developers have different salaries based on the region they live in.

It makes some sense, because of different approaches to coding, average knowledge of mathematics in the country, knowledge of English, etc.

But also you have to pay more to Western European and North American software developers just because they have a higher cost of living. It makes sense for offline jobs, but not for fully online jobs.

There was an article by HackerRank https://blog.hackerrank.com/which-country-would-win-in-the-programming-olympics/ that shows which country has the best developers. 

And you can see that there is little to low correlation between average compensation of software developers and ranking of the country.

Makes you think!

Employee Title Russia Western Europe Eastern Europe North America
Business Analyst $30-$40 $55-$80 $35-$45 $60-$75
Architect $35-$65 $90-$120 $40-$70 $90-$130
Project Manager $30-$40 $55-$65 $35-$45 $90-$110
Jr. Developer $20-$30 $40-$50 $25-$35 $50-$70
Mid-level Developer $25-$35 $45-$65 $30-$40 $60-$80
Sr. Developer $35-$45 $65-$80 $40-$50 $75-$105
Lead Developer $35-$50 $70-$90 $40-$55 $90-$115
Junior QA $15-$25 $35-$45 $20-$30 $45-$60
Mid-level QA $25-$35 $45-$55 $30-$40 $60-$75
Senior QA $30-$40 $50-$65 $35-$45 $75-$90

Who should create the app’s architecture?

This is one of the most overlooked important factors that influence the price and the quality of the product. For some reason, many of us do not make a simple analogy – hiring a single worker to build a house, and creating the project by ourselves, is actually just the same as hiring a freelancer and writing the spec by yourself.

In the more physical scenarios, it’s clear that we might need some project first from an experienced architect. Otherwise, we might end up with a house that does not have enough insulation under the roof, so in winter snow will melt and cause heavy icicles to appear, that might damage the roof by their weight.

But in the software world, many of the customers cannot even understand how bad their apps are architecture-wise. Oftentimes they can be compared to houses with differently shaped windows, and wings from Boeing. 

Using React Native instead of Flutter, making audio calls with Asterisk voicemail instead of exchanging audio files, relying on network security instead of using JWT tokens – those are the things a non-professional would never even think about, but just as icicles damage the roof and cause significant trouble, bad architecture decisions in software make maintenance of an app impossible in case it becomes successful.

If you are building an MVP, it is fine not to hire an architect. MVP are purposed to be of bad quality and thrown away after a few months. 

But if you are building a full project, you need to make that investment.

Type of work Freelancer Standalone architect Development agencies
Choose core tech stack (MongoDB vs RavenDB, AWS vs on-premise, etc.) Poor experience, usually works with something he/she already knows Makes conscious choice, but does not provide people who know how to work with the tech, so you will have to search on your own and measure expertise level Make conscious choice and have experts for any tech
Design modules and their interaction, design APIs of modules, prepare the architecture for high loads Doesn’t do it, because works alone and codes as-you-go A lot of experience, has done it for many projects Have a special person that designs modules for tens of projects every month and has a lot of experience in it
Design security layers, Design authentication flow Poor experience as never has maintained large projects with large teams Have experience with large projects and protecting them from external threats, both implicit and explicit Have experience with large projects and protecting them from external threats, both implicit and explicit
Estimate maintenance costs Some experience, probably has maintained small project(s) before Can give an estimate, but it will strongly depend on people who implement the project Have a long track of maintenance for many projects, can estimate maintenance costs for your future architecture
Communication between architect and developer The same person No to little communication Good communication
Estimate hours for building the product Gets paid hourly, usually underestimates, estimate should be multiplied by 2 or 3 Can give a rough estimate, but this will depend on the people that will implement the design Get paid per-project and give costs upfront, and take all risks on them
Choose small frameworks (video player, animation on the screen) Good experience Good experience Good experience
Price Lower than others High, but you can save on developers Higher than other options
App Do you need at least a standalone architect?
Minimum viable product No
Pitch demo No
Product that will be developed in iterations Yes
Release version Yes

If you are short on funds, we really recommend to hire a highly experienced architect to create a blueprint of your app, and control the development, at least one full day (8 hours) a month.

Cost of an architect: $200/hour. Blueprint will take 20-100 hours.

Features and their cost

There are hundreds of different app features, and if start to describe them all, our approach to them and their pricing, it would be of no interest to probably anyone except our competitors 🙂

But we are going to present some main features and their approximate cost. It’s important that the cost is approximate, because the same feature can be done differently. Even the login form can vary from a simple “please provide your email and password” to some sophisticated forms with many fields, identity validation, and social network login.

So do not take this table as our price-list, it has informational purpose

0. Platform

We make it a 0 because it is a zero point – it goes even before you decide anything. You need to select the platforms for which you want to have your app available. This requires scrupulous business analysis.

We cannot provide the exact numbers here, but selecting the platform works more like a multiplier. If we take the cost of any one platform as 1x, then development for iOS and Android would be around 1.3x, development for web and one mobile platform would be around 1.4x, and development for all 3 platforms around 1.6x.

Platforms Estimated price multiplicator
Web 1x
Android 1x
iOS 1x
Android + iOS 1.3x
Web + Android 1.3x
Web + iOS 1.4x
Web + iOS + Android 1.6x
1. App-defining features

These are some larger features that span across multiple screens and greatly shape how the app is perceived. When pitching the app, these features will help people understand the essence of the app.

What is your app about? Development time, hours Comment
Shopping cart 30-80 Will users be able to buy more than one product/service at a time?Example: online stores
Rating system 30-80 Can one user give a rating to another user or item?Example: riders rating drivers in Uber, customers rating goods
Reservation/booking 30-80 Can users create bookings with other users or your business?Examples: riders booking drivers in Uber, booking hotels at booking.com
CRM 50-130 Customer Relationship Management. Do you need to track your progress with the users?Example, an HR app tracks progress of hires.
User profiles 30-60 Do users have their own page which can be seen by other users?Examples: Facebook profile, YouTube channel
Activity feed 30-70 Can users view the latest activity of other users?Example: Instagram feed, Facebook feed
2. Basic features

These features will not help the main idea of the app, but give some specific tools for the user interactions

Feature Development time, hours Comment
Email authorization 20-60 Use email and password, with email verification and password recovery
Social networks authorization 10-30 per social network The first social network will be more expensive, since it requires adding some security features to the back-end. The second and next social networks are cheap.
Search bar 30-80 Do you want to add a search bar where users can type queries and look for something?Example: search in an online store
History of orders 30-80 Should users see all the orders they have made so far?Example: Uber ride history
Messaging 30-70 Should users speak to other users or representatives of your business?Example: Facebook chats, Online chat in an online store
Push notifications 20-40 Do you want to send push notifications on the user’s phone?Example: Uber reminder that the ride is coming in 2 minutes
Maps 30-80 Do your users need a map for some activity?Example: map in Uber
Sync between devices 30-70 Does your app synchronize data between devices?Example: Dropbox syncs files between all your devices
3. Video, audio features
Audio features Development time, hours Comment
Pre-recorded audio playback 30-80 Press “play” and listen to some pre-recorded audio, with ability to seek and replay.Examples: music player, voice messages
Audio recording 30-80 Ability to record sound using the user’s device and save it for future playbackExamples: sound recorder, voice messages
Live audio streaming 50-120 One-way communication – one speaks, others listenExample: internet-radio
Live audio calls 80-190 Two-way communication – both parties speak and listen. More than 2 people can participate in the callExample: whatsapp audio calls
Video features Development time, hours Comment
Pre-recorded video playback 30-80 Press “play” and watch some pre-recorded video, with ability to seek and replay.Examples: YouTube, Netflix
Video recording 30-80 Ability to record video using the user’s device and save it for future playbackExample: Instagram stories
Live video streaming 70-180 One-way communication – one streams, others watchExamples: Instagram live, Twitch
Live video calls 100-250 Two-way communication – both parties stream and watch. More than 2 people can participate in the callExample: Zoom conferences
Video masks 30-80 Attach masks to users’ faces. Does not include masks development, only preparations to use them.Example: Snapchat
Video filters 30-80 Use filters to modify the pre-recorded video. Does not include filters development, only preparations to use them.Example: Instagram video filters

The cost of app UI/UX design

Designing an app is a crucial step in the development process, though it is often overlooked when working with freelancers. A customer can suppose that it is possible to pivot the app development on-the-go, and thus can give some basic directions to the freelancer and think about the design later.

This approach works, but it is VERY expensive. Instead of just drawing an interface, the developer actually implements all the functionality in it, just to understand that the UI is not easy to comprehend and it has to be redone, so it goes to the trash can together with the functionality.

It’s much better and cheaper when all the app is drawn using so-called mockup software (one of the most popular is Moqups, but use others also).

App design is a hard thought process on its own, even if it’s done only in drawings. When you think that the app consists of 5-10 pages, in reality it will be close to 100 when you start counting different screen sizes, confirmation dialogs, controls, animations, etc. Designing a mockup of the app takes a lot of time and iterations until it’s done right.

After the mockup is done, it’s time to bring in colors and style. This is usually done in one go, as it doesn’t influence the product usage patterns and just gives some extra feel to the app.

The cost of app design can vary from $5,000 for some simple projects to $20,000 for large ones

Design Hours Cost
80-100 screens (simple app) 80-120 $4000-$6000
250 screens (average app) 200-300 $10000-$15000
500+ screens (a large app) 400-600 $20000-$30000

The cost of logo

Designing a logo is a long process and it takes time. To do it right, you need to understand the idea of your business and squeeze it into one picture. The usual cost of that varies from $1000 to $5000. 

App maintenance costs

It’s important not only to build an app, but also to know how much it will cost to maintain an app. 

Just like when buying a car, you study prices for parts, labor for the specific make and model, mileage between oil changes, etc.

What are the important factors when considering building an app?

  • Paid 3rd party software, servers, services: it is often much cheaper to develop an application with help of 3rd party applications, be it a mail server, a video streaming server, CDN, etc. But those are the costs that come every month, so you have to keep them in mind!
  • Domains, SSL certificates: not even mentioning the hosting part, you need to have domains and SSL certificates renewed every year
  • Software developer: systems tend to degrade without control. Because of that, you still need a software developer at least for 5 hours a months just for periodic check-ups. Most usual things that happen at nobody’s fault: server freeze, server data damage due to electricity cutoff, internet disconnect, 3rd party API updated to a backwards-incompatible version, etc

Hosting: if you are not ready to have a loud machine at home working 24/7, you need to rent computing power. With dedicated servers, it could cost a few hundred dollars a month, but with smart usage of AWS or Google Cloud, this could be as low as $30-$50 a month

Price calculator

You can use our calculator to get a very close estimate of the app development cost: https://oqtacore.com/calculator

In progress:

Conclusion

Comments are closed.