There are many schools of thought when it comes to proposals. Some estimators feels that a long document with extensive terms and conditions will insulate the firm from litigation. Other estimators prefer a more simplified proposal. The extremes range from an emailed dollar amount to a multi-page proposal. Good proposals strike a balance between brevity and controlling risk. This article will focus primarily on proposals for projects that don’t require specific bid forms.
Getting started with the ITB
Start with the objective of a proposal. The proposal is a contractual instrument submitted in response to an Invitation To Bid (ITB). Therefore much of what must be in the proposal will be addressed in the ITB. An estimator working for a General Contractor (GC) receives the ITB from the client or their design team. An estimator working for a Subcontractor (Sub) receives their ITB from the GC’s bidding the job. Something many GC estimators should consider is that they can include the clients ITB with the plans and specifications they distribute to the subs. There are a few concerns to be aware of. If the GC’s are trying to solicit early bids, the ITB will reveal the real deadline. Subs that are concerned about bid shopping will release their proposals just before the deadline to prevent the GC’s from having time to share their bid with competitors. Giving them the GC’s real deadline all but ensures that there will be no time to review their proposals before the deadline.
Mort will look you right in the eye as he’s doing it, he just doesn’t care.
Another potential concern is that some ITB’s list the pre-qualified GC bidders. Subs may send proposals to competing GC’s if this information is shared. Savvy GC estimators will include the pertinent information from the client’s ITB onto their own subcontractor ITB form.
The high points
Every proposal should be done on company letterhead with the company’s name, address, and phone number prominently displayed. The client, project, and project address should also be included. On small and simple projects, it may be reasonable to list important exclusions and exclusions along with the bid amount. More complex projects benefit from a scope narrative which helps to define how the project will take place. Often clients will request a schematic schedule or an anticipated duration on the ITB. Be careful about the differences between working days, business days, and calendar days.
Important factors
When your client receives your proposal, they are primarily looking for the cost. Public bid openings will generally read the bidder’s total along with a cursory check that the bidder has included all relevant construction documents before announcing “apparent low”. Some bidders place the final total at the back of the proposal in an effort to lead the client through their presentation of the project scope. Other bidders place the total in a summary/cover page with their narrative, schedule, etc. to follow. There are successful bidders using both methods however there are a few things to keep in mind.
Make it easier to use
Templates should be developed to ensure consistency, quality, and speed. Many companies fail to consider how difficult it can be to edit a multi-page proposal. Subtle items like monetary notation can encourage errors. For example, let’s say the proposal reads “We are pleased to present pricing for the Rutherford project. Our base bid proposal is Five Hundred Fifty Three Thousand, Two hundred and Two dollars ($553,202.00).” Spelling out the monetary amount involves typing ten words against typing eight numbers. Last minute changes may affect your base bid amount. A template that uses spelled out monetary figures and numeric figures greatly increases the odds of a typo.
Beyond typo’s, many word processor programs are plagued with formatting issues where page breaks are awkward or inappropriate. Considerable time get’s spent trying to move things around so the printed documents are properly formatted. Standardized templates built for quick data insertion are a godsend. Entering “$XXX,XXX.XX” as a place holder for a monetary amount allows the template to be formatted before the bid. Highlighting any placeholder text speeds the estimator through the template, adding last-minute information as needed.
Separate the dynamic from the static.
In some cases, it behooves the company to develop separate files for the summary, narrative, inclusions, exclusions, schedule, etc. Having all the sections within a single file document means the estimator will need to flip through many pages to make changes. Items like the narrative and the schedule are unlikely to change on bid day, however the summary and exclusion pages will almost certainly be modified several times. At a minimum, group the sections according to how likely it is you’ll need to modify them.
Put it all together
Regardless of how many files, programs, or pages you end up with, it’s good practice to consolidate the proposal into a single file that’s small enough to email. Whenever transmitting files, it’s good practice to use locked files visible through a free “reader” version of popular software. Many free programs exist which allow a program “printer” to be installed which allows the user to “print to the file format”. Scanners are another option provided they output to the desired file format. Image file formats native to one operating system should be avoided because they are cumbersome and can create formatting issues when printed on the client’s computers.
A proposal is not a contract
Consider how the proposal feels to the client. What does twenty pages of “boilerplate” communicate to the client? If the client provides a sample contract in the specifications, your firm’s boilerplate may have absolutely no bearing on the final contract terms. Some clients choose to sign a proposal and forgo a contract. In those cases, it could make sense to have a proposal that adequately covers contractual obligations, remedies, and so forth. Small projects for informal clients are more likely to go this route. Generally speaking it’s a better course of action to use a proper contract form, than to rely upon a proposal or a handshake.
A proposal and a contract are separate instruments. Combining the two is false economy. Contracts may be subject to negotiation after the notice of award, or notice of intent but there’s no guarantee. If the contract terms are unreasonable you must ask questions about them BEFORE THE BID. If the terms are still unreasonable, don’t bid the job. Tacking on your firms terms and conditions to the proposal is not likely to change anything when the contract is part of the construction documents.
Contingency
Local tradition and corporate culture often define how and when a contingency may be applied to a proposal . Those in favor of contingencies point to the relative ease in which initial changes are addressed to get the project off and rolling. Those opposed look at a contingency as the dollar value of the firms inability to build to the plans. The fact remains that very few jobs are built without change orders. Whether the local tradition is for the contractor or the client to carry the contingency is irrelevant, it’s good practice to admit that construction projects have risk to be accounted for. Be advised that contingency is an easy target for client frustration. When comparing two similar proposals, the bid with lower contingency may appear to be more confident or competent.
Now that’s a a guy who get’s things done!
Convey confidence
Does the proposal read well? Clients may not share your passion for how things come together. Long and pedantic narratives with trade-specific jargon aren’t likely to speak to your client. Ask yourself what the client is looking for. The client is excited about their project. They want to know that challenges are well met and that the build team is imminently capable. Weasel wording, artful dodging, and avoiding accountability will immediately raise alarms with experienced clients. Honesty builds trust, trust supports confidence. Many clients get their very first impression of your firm by reading your proposal, don’t try to sound like a lawyer, an auctioneer, or an encyclopedia.
Times where less is more
Laundry lists of inclusions are easy to generate for an estimator however they may create the impression that anything not explicitly listed is omitted. More general and sweeping inclusions can create a sense of competency and completeness to the proposal. Inclusions should attempt to bring particular focus to easily missed items or to costly items that are driving your price. Many clients compare competing proposals, so write inclusions with the intention of exposing items your competitor may have omitted.
Conversely, if you’ve found a good idea that saves money on the project without affecting the scope or quality of the work, it may be wise to keep mum about it. Unscrupulous clients may share your good idea with a competitor.
Inexperienced clients may prefer long proposals to better assuage their anxieties. A proposal is a sales tool, so it’s smart to tailor it to the client’s needs. Be cautious about generating questions or presenting extensive options with an inexperienced client. Many estimators treat an inexperienced client as though it’s perfectly normal to have a myriad of options available to every possible concern. This overwhelms the client with immaterial decisions that serve to delay contract award. Some issues are significant and must be addressed, others are flights of fancy. Keep the client on track by staying on topic. If the client wants to change direction, they should consult their design team who’s not as bashful about charging them for changing their mind.
Everything in business is about time and money so every price quoted needs an expiration date. Be sure to specify when your quote expires because you may need to revisit your pricing if the award is delayed.
Times where more is more
Not every set of construction documents will be a pleasure to work with. Incomplete, conceptual, or incorrect construction documents generate considerable risk to the bidders. Every effort should be made during the bid to secure answers to significant questions about the scope of work. Nevertheless there will be times that the estimator must protect their firm against a risky job. Simply excluding some scope of work on the grounds that it wasn’t well-defined is common practice. Depending on the project and the issue, an exclusion may get your bid disqualified.
For example, let’s say a project bid to remodel an existing office building. The plans include key notes calling for demolition of existing however no demolition plan or narrative was provided and there was no job walk opportunity. RFI’s seeking photographs, narratives, or job walks to verify existing conditions went unanswered. What do you do? Excluding demolition is likely to get you disqualified since it’s obvious that it will be necessary to do the job. Adding money to your proposal to pay for demolition may make you uncompetitive. In this case it’s wise to consider what you know. If the office building is occupied, then figure on a complete demolition of a typical office space. Items like hazardous waste, or salvageable materials need not be considered because “worst or best case” scenario’s are not “typical”. You could define the issue in your inclusions, along with a budgeted amount to pay for it. Depending on the situation it may be appropriate to note the RFI that went unanswered to prove your diligence.
Be wary of presenting too many solutions to design problems. Every price you provide may be used against you when unknown details are later revealed. Remember that the design team is paid to solve design problems and diplomacy is important to protect your interests. If you provide an allowance, expect to provide accounting for its dispensation and remuneration to the client for any unused portion. Many clients feel any profit on an allowance is unfair so bid accordingly.
Advice to subcontractors ; make it easy on the estimator
GC’s are reading subcontractor bids at 90 miles per hour. The estimator needs to have a solid subcontractor proposal for every scope of work. Once they have the entire project accounted for, they will pursue potentially cheaper subcontractor proposals. Time is of the essence for the GC, they may not have time to review every proposal coming through the door. Only those that seem lower than their apparent low proposals will get priority. It can be a big advantage to be the first apparent low since there may not be time for the estimator to review competing bids. Easy to read and understand proposals are more likely to be scoped. Anything that smacks of a “gotcha” issue may send your proposal to the bid room floor. Put THE ESTIMATORS name and direct phone number in a prominent location. If the GC need to call with a question, they’ll absolutely hate losing time to a receptionist or dial by name directory.
“Please put your estimator on the line….bad dog!…Bad dog!”
Given the choice, the GC estimator will avoid calling time-wasting companies. More than once I have had only enough time to make one call before the deadline. It’s a simple thing that lots of companies do wrong.
Speed reading vs. the checklist.
Long, drawn out proposals are slow to read and inevitably hide important information in blocks of unnecessary text. The only thing worse than a proposal with chapters is a checklist. Some subcontractors use a checklist/matrix where they list out standard inclusions and exclusions by row. Columns carry an icon to designate if it’s included, excluded, not applicable, or whatever. These are immensely irritating to read and interpret. It’s possible the idea is to speed up bidding by having a template that’s quick to fill out. Whatever time it saves the bidder, it costs twofold for the GC. Trying to read through thirty odd items that aren’t applicable looking for something important is very frustrating. It’s a bad practice that needs to end. For every “gotcha” victory claimed for the checklist, there’s an estimator quietly removing a bidder from the invite list.
Understand the default conditions
If your proposal isn’t furnishing and installing some scope of work, it should boldly declare “Material only”, or “Install only”. The default understanding is that a subcontractor proposal is to furnish and install everything for that scope of work. Fire alarm subcontractors often exclude conduit, back boxes, and pull strings even when they claim “turnkey” on their proposals. Often the bidders perspective is that “it’s always done this way” so they believe it’s their clients responsibility to address their shortcomings. This prima donna behavior is common among semi-autonomous trade retailers like Fire Alarm, Elevators, Kitchen Equipment, Pre-engineered building manufacturers, and office furnishings. These proposals generate additional risk with their confusing and duplicitous presentation. In some cases the shoddy proposal’s risk is high enough to merit hiring the second low bidder.
Some subcontractors refuse to include taxes on their proposals “to simplify” matters for themselves. Taxes may be complicated, but they are certainly not optional. Professionals should understand that whatever is required to actually do the job should also be included in their proposals. This potentially includes taxes, permitting, insurance, bonding, licensing, cranes, freight, and so forth.
Material handling, rooftop delivery… you know, standard stuff.
GC’s are understandably frustrated by subcontractors submitting bids missing obviously necessary items. Laying such a trap may backfire on you. If you don’t bid to the default conditions, the default decision may be to scuttle your proposal. Some GC’s will write contracts in full reversal of proposal exclusions like taxes that they view as entrapment. Attempts to “red-line” their contract or add to the bid-day amount typically end with a simple choice; do the job by their contract or be excluded from all future work.
Unit price your way out of a job
Some subcontractors submit proposals with unit pricing that goes on for pages. Concrete work is particularly given to complex contracts because companies often specialize in only site concrete, flat work, foundations, and/or rebar without consistently providing the materials. It may require the GC to write a half-dozen or more contracts pertaining to concrete alone. Long and detailed unit pricing forces the estimator to do dozens of calculations to answer basic questions. Many of these bidders feel that sharing every detail of how they arrive at their proposal will obligate the GC to accept any errors or omissions they failed to correct. This is trying to avoid accountability for their takeoffs which is unprofessional and indicative of a high risk proposal. Many times a professional bid would arrive with a single price to furnish everything necessary for all the concrete on a project. Often, after hours of calculations involving lots of bidders, the net difference between that professional’s amount and the cobbled blend of partial-proposals was very slight. That meant that even if the professional was more expensive, they were less risk and therefore better value. Partial scope bids communicate that the bidder has focused on exercising their limitations instead of their abilities.
Unit pricing everything enables the estimator to take incomplete competitor bids and accurately plug the gaps. This may leave the unit pricing subcontractor with only small, and unprofitable portions of a larger project. Any unit price you provide has the potential to be used against you not only for contracting, but for change orders as well. It’s less risk to use a unit price bid for smaller scope of work.
Good proposals lead to easy contracts
Subcontractors must understand that a proposal is a promise to tender goods and services for the project in exchange for a stipulated sum. The scope of work needs to be done per the construction documents, period. GC’s write contracts in broad encompassing terms like “all flatwork” , as opposed to listing the square footages of all flatwork on the project for that reason.
The estimator wants to know you’ve got everything and they want to know if it’s install only, furnish and install, or material only. If you’re providing those options, simplify to sitework, flatwork, and foundations.
Don’t hide exclusions
Every bid is based on its exclusions. Bids that are “shy” about presenting the exclusions take longer to scope. Long subcontractor proposals are especially prone to concealing exclusions. The estimator may be in a terrific rush to scope bids. As the deadline approaches, the amount of time they can spend reviewing a bid that’s not apparent low diminishes. It’s possible that your list of inclusions and exclusions will cause the estimator to revise their apparent low. Making your bid easy to read and understand is pivotal towards snagging such a success. GC estimators are often very thankful for your professionalism which builds trust. That trust may bring new opportunities.
One page
Opinions differ however the vast majority of subcontractor proposals are a single page. A well written proposal does not improve with higher page counts. Some companies require a hard copy of every proposal in the bid book. A one page proposal with four pages of boilerplate means more time at the printer and less time deciding if they’ll hire you. Estimators get plenty tired of reloading the printer. Do them a favor and stick to one page proposals. Some bidders will email two files, a one page proposal and a standard terms and conditions packet. This is one way to meet corporate requirements for boilerplate without irritating your client. Be sure to put the estimators name and phone number on every page. Wherever possible put the bidders direct phone number to avoid making clients call the main number and get transferred.
Final Thoughts
The proposal should be attractive, professional, easy to read, and informative. Photo’s and images on the proposal may not print or photocopy well. Digital watermarks may appear nicely on bonded stock but obscure the writing on cheap copier paper. Formatting needs to be based around standard 8.5″ x 11″ paper because not everyone will have legal paper stock in their printers. Provide enough open space on your proposal to make the writing easy to read. Landscape printing is not appropriate for text portions of proposals but has applications for schedules. It can be difficult to read a landscape printed page that’s stapled to a portrait printed packet. Every page should have your firm’s name, the project name, the page number and your phone number on it. It’s easy to miss a printed sheet in a busy office. Lots of packets get dropped before they’re stapled. Make it easy to assemble, collate, and verify that they’ve got the entire thing.
It should be obvious but run a spell check and have a colleague check your grammar. This is not the time to appear unprofessional. Clients may share your proposal with their colleagues, design professionals, even your competitors. Make sure that your proposal reflects well on you and your firm.
For more articles like this click here
© Anton Takken 2014 all rights reserved
February 15th, 2015 at 3:26 am
That is really attention-grabbing, You are
an overly professional blogger. I have joined your feed
and stay up for searching for extra of your excellent post.
Also, I’ve shared your web site in my social networks
LikeLike
March 6th, 2015 at 6:15 pm
Thanks for joining my feed. Feel free to let me know if there are any topics you’d like me to cover.
LikeLike
February 26th, 2015 at 6:14 am
Very goood article. I’m experiencing a few of thee issues as well..
LikeLike
March 4th, 2015 at 10:18 am
It’s actually a cool and useful piece of information. I’m happy
that you simply shared this helpful info with us. Please stay us up to date like this.
Thank you for sharing.
LikeLike
April 6th, 2015 at 6:48 pm
Explain to the employees per hour expenditures that you sustain, and thus the
requirement for time management.
LikeLike
June 8th, 2015 at 7:17 pm
Spot on ԝith this wгite-սp, I honestly think this site neweds fаr
moге attention. I’ll ƿrobably be bacƙ agtain to reаd tɦrough moгe, thankѕ fοr the advice!
LikeLike
June 9th, 2015 at 8:24 am
Thank you very much. You can sign up to follow me and get new posts emailed to you.
LikeLike
July 9th, 2015 at 9:39 pm
Excellent post. I was checking constantly this blog and I am impressed!
Very useful info specially the last part 🙂 I care for such
info a lot. I was seeking this certain information for a very long time.
Thank you and best of luck.
LikeLike
July 10th, 2015 at 5:46 pm
Thank you very much.
LikeLike
July 14th, 2015 at 6:05 pm
It’s not my first time to pay a visit this web site, i am
visiting this site dailly and take good facts from here daily.
LikeLike
July 15th, 2015 at 7:12 pm
Great article.
LikeLike
July 19th, 2015 at 12:52 pm
Hello there! This article could not be written any better!
Going through this article reminds me of my previous roommate!
He always kept talking about this. I most certainly will send this post to him.
Fairly certain he’ll have a very good read. I appreciate you for sharing!
LikeLike
July 19th, 2015 at 6:09 pm
This is a topic that’s near to my heart… Thank you!
Exactly where are your contact details though?
LikeLike
July 20th, 2015 at 4:01 am
Magnificent website. A lot of helpful information here.
I’m sending it to some pals ans also sharing in delicious.
And of course, thanks in your effort!
LikeLike
July 20th, 2015 at 6:19 am
Thanks for finally writing about >Proposals – How to make yours a winner |
Estimators Playbook <Loved it!
LikeLike
July 20th, 2015 at 4:34 pm
I truly love your website.. Pleasant colors & theme.
Did you create this site yourself? Please reply back as I’m looking
to create my own site and would like to find out where you got this from or exactly what
the theme is called. Appreciate it!
LikeLike
July 21st, 2015 at 8:34 am
Thanks for any other magnificent article. The place else could anybody get
that type of information in such a perfect approach of
writing? I have a presentation subsequent week, and I’m at
the search for such info.
LikeLike
August 3rd, 2015 at 4:13 pm
Hi! Would you mind if I share your blog with my twitter
group? There’s a lot of folks that I think would really enjoy your content.
Please let me know. Thank you
LikeLike
August 4th, 2015 at 5:27 pm
Please do! Thanks for reading
LikeLike
October 10th, 2015 at 11:44 pm
This is the perfect site for anybody who wishes to understand this
topic. You know a whole lot its almost hard to argue with you (not that I really will need to…HaHa).
You definitely put a new spin on a subject that has been discussed for a long time.
Excellent stuff, just excellent!
LikeLike
October 17th, 2015 at 2:52 pm
Thank you for sharing your info. I truly appreciate your efforts and I will be waiting ffor your next
write uups thanks once again.
LikeLike
October 24th, 2015 at 6:07 pm
Hello there, You’ve done a fantastic job. I will definitely digg it and
personally suggest to my friends. I am sure they will be benefited from this website.
LikeLike
October 26th, 2015 at 11:53 am
Thank you very much!
LikeLike
October 25th, 2015 at 1:33 am
I am curious to find out what blog platform you happen to be
using? I’m experiencing some small security problems with my
latest site and I would like to find something more safeguarded.
Do you have anyy recommendations?
LikeLike
November 1st, 2015 at 10:30 pm
Very good blog post. I definitely appreciate this site.
Stick with it!
LikeLike
December 30th, 2015 at 1:36 pm
I like the valuable information you supply in your articles.
I will bookmark your blog and check again right here regularly.
I’m quite certain I’ll be told a lot of new
stuff right right here! Best of luck for the following!
LikeLike
January 5th, 2016 at 9:53 pm
This is my first time pay a quick visit at here and i am really happy to read
all at one place.
LikeLike
February 2nd, 2016 at 12:10 pm
Hello! I’m at work surfing around your blog from my new iphone!
Just wanted to say I love reading your blog and look forward to
all your posts! Keep up the outstanding work!
LikeLike
March 24th, 2016 at 11:20 pm
Enjoyed reading through this, very good stuff, thanks . “Love begets love, love knows no rules, this is the same for all.” by Virgil.
LikeLike
March 28th, 2016 at 9:53 pm
you are in point of fact a just right webmaster.
The website loading velocity is amazing. It seems that
you’re doing any unique trick. Furthermore, The contents are masterpiece.
you’ve performed a fantastic task on this subject!
LikeLike
May 26th, 2016 at 9:26 am
Useful info. Fortunate me I found your site by chance, and I am surprised why this accident did not took place
earlier! I bookmarked it.
LikeLike
May 30th, 2016 at 4:42 pm
I think it is very very important tips for me personally. As well as i’m glad reading all your brief article. But yet have to say at very few total facts, The place form is ideal, a posts is absolutely outstanding.
LikeLike
June 20th, 2016 at 5:29 am
After exploring a few of the blog articles on your blog, I
seriously like your way of blogging. I saved as a
favorite it to my bookmark website list and will be checking back in the near future.
Take a look at my web site as well and tell me what you think.
LikeLike
October 24th, 2016 at 2:43 am
Can I simply say what a relief to find someone that really knows what they are discussing online.
You definitely understand how to bring an issue to light and make
it important. More and more people really need to look at this and understand this side
of your story. I was surprised that you’re not more popular because you certainly have the
gift.
LikeLike
October 25th, 2016 at 5:26 pm
Hiya, I am really glad I have found this info. Nowadays bloggers publish just about gossips and web and this is actually annoying. A good blog with interesting content, this is what I need. Thank you for keeping this web-site, I will be visiting it. Do you do newsletters? Can’t find it.
LikeLike
October 26th, 2016 at 9:15 am
Chasity, you can click the “follow” button on the about page to get emails whenever I post something new.
Thanks for reading.
LikeLike
October 25th, 2016 at 6:20 pm
Simply wanna input on few general things, The website style and design is perfect, the articles is rattling excellent. “Earn but don’t burn.” by B. J. Gupta.
LikeLike
October 26th, 2016 at 10:01 am
Heya i’m for the first time here. I found this board and I find It truly useful & it helped me out a lot. I hope to give something back and aid others like you aided me.
LikeLike
October 27th, 2016 at 8:49 am
Thank you!
LikeLike
November 26th, 2016 at 4:39 am
Hi, I do think this is a great site. I stumbledupon it 😉 I will revisit once again since i have book marked it.Money and freedom is the best way to change, may you be rich and continue to guide others.
LikeLike
December 5th, 2016 at 2:20 pm
Great article. I am going through many of these issues as well..|
LikeLike
March 2nd, 2017 at 3:38 am
It’s an awesome article designed for all the web viewers; they will obtain benefit from it I am
sure.
LikeLike
May 6th, 2017 at 10:16 am
I could not resist commenting. Well written!
LikeLike
July 4th, 2017 at 1:09 am
Have you ever thought about publishing an e-book or guest authoring on other sites?
I have a blog centered on the same topics you discuss
and would really like to have you share some stories/information.
I know my audience would value your work. If you are even remotely
interested, feel free to send me an email.
LikeLike
July 5th, 2017 at 2:27 pm
I enjoy what you guys are usually up too.
Such clever work and exposure! Keep up the amazing works guys I’ve incorporated you guys to my blogroll.
LikeLike
July 6th, 2017 at 3:52 am
This page definitely has all the information and facts I
needed about this subject and didn’t know who
to ask.
LikeLike
March 27th, 2018 at 1:54 am
I really like this website a lot. Hot pickles!
LikeLike
May 22nd, 2018 at 10:30 pm
Just fabulous. Who wrote this and how can we get more?
LikeLike
August 25th, 2019 at 10:16 am
Appreciating the time and energy you put into your website and detailed information you present. It’s great to come across a blog every once in a while that isn’t the same outdated rehashed information. Great read! I’ve bookmarked your site and I’m including your RSS feeds to my Google account.
LikeLike
January 21st, 2021 at 8:31 am
I’m truly enjoying the design and layout of your blog. It’s a very easy on the eyes which makes it much more pleasant for me to come here and visit more often. Did you hire out a designer to create your theme? Outstanding work!
LikeLike
October 30th, 2021 at 3:29 pm
I’ve read some good stuff here. Certainly worth bookmarking for revisiting. I wonder how much effort you put to create such a wonderful informative website.
LikeLike
November 9th, 2022 at 1:35 am
Great post. I am facing a couple of these problems.
LikeLike