Post-Retirement Calculator: Will My Money Survive Early Retirement? Visualizing Longevity Risk

Posted In: Financial Independence | Money

UPDATE: I’ve added two additional mortality tables for each sex, one representing a very healthy individual and thus longer expected lifespan, and one representing an unhealthy (smoker) individual with a shorter expected lifespan. This provides 3 different life expectancy curves (essentially low, average and high life expectancy). I also upgraded the spending flexibility parameter to allow you to determine at what percentage of your initial balance does the spending reduction kick in.

Rich, Broke or Dead?

One of the key issues with retiring is the question of outliving your money. This is also known as Longevity Risk and is especially important if you want to retire early, since your retirement could be 50 years long (or more). This interactive post-retirement calculation and visualization looks at the question of whether your retirement savings can last long enough to support your retirement spending and combines it with average US life expectancy values to get a fuller picture of the likelihood of running out of money before you die.

It helps to answer the question: If I start out with $X dollars at the beginning of my retirement, will I run out of money before I die?

– Use this button to generate a URL that you can share a specific set of inputs and graphs. Just copy the URL in the address bar at the top of your browser (after pressing the button).

Probabilities based on historical cycles

The graph shows the likelihood of your balance being at different levels during each year of your retirement (and compares it to the probability of dying during this time). Red indicates failure (i.e. you’ve run out of money) and green indicates success (i.e. you haven’t run out of money). The probabilities are calculated based upon looking at stock, bond and cash returns from historical cycles between 1871 and 2019. If you expect to retire for 50 years, one historical cycle would be from 1871 to 1922, another one from 1872 to 1923, and so on until 1968 to 2019. Thus 98 different historical cycles are considered (in this case). It is important to note that these frequencies in the past are not the same as actual probabilities. Just because an outcome happened once in history doesn’t mean that there is a one in 98 chance (1.02%) of this same thing happening in the future. However, if your retirement portfolio survives most historical cycles, there is a good chance that it’ll survive in the future without any major black swan events. If something crazy occurs (e.g. a major nuclear war), your retirement balance may be the least of your worries, so we can safely ignore this, since there’s very little way to prepare for it financially. If you look over all these historical cycles, we find that a 4% withdrawal rate will generally last through a long retirement, though there are occasional cycles that are “failures”, i.e. you run out of money. See here for more info on the 4% rule and how historical simulations of withdrawal rate are performed.

Instructions (updated)

The fields are all pre-filled but you should modify the numbers to suit your situation or to explore other options. Press ‘Enter’ or ‘tab’ after you enter the value into the input box.

  • Hover over the input labels for more info.
  • Enter your expected spending per year in retirement and the savings amount you expect to have at retirement.
  • Enter your age at retirement and how long you expect to live (you can estimate on the longer side since the calculator will include life expectancy).
  • You can now choose between three different mortality tables (an average American lifespan based on the Social Security Administration mortality table, or a low and high life expectancy table from the Society of Actuaries)
  • Enter your target asset allocation for retirement.
  • Enter your sex.
  • If you think you’ll have some flexibility in your spending post-retirement, you can enter the percentage reduction in spending that will happen if your portfolio is below a certain threshold, as a percentage of your inflation-adjusted starting balance (see next point).
  • You should enter the percentage of your initial balance at which the spending flexibility will kick in. If you set it to 90% you will reduce spending when your portfolio balance is below 90% of your inflation adjusted starting balance.
  • Enter your average expected tax rate (not your marginal rate) – this will be applied to your annual spending and any additional income.
  • Enter your average investment fees (e.g. expense ratios).
  • Enter any additional income sources or expenses that aren’t applicable for the entire model period, and indicate both the starting and ending ages. If you have multiple income or expense streams, you can enter them all separated by a semi-colon (;).

You can also modify a few graph elements (to help you focus on different parts of the graph):

  • Show or hide the death probability wedge. Hiding it helps you investigate the portfolio balances with greater resolution for later years.
  • Show or hide different categories of success (green wedges). Success is defined as any outcome where you are not broke (i.e. balance <0). Additional categories of success include balances that are below your initial retirement balance (but still above zero) and balances that are more than double and five times your initial retirement balance.
  • You can download an PNG image of your graph (click on the camera icon in the lower right).

Huge tip of the hat to maizeman who first developed this type of graph and was helpful in putting these graphs together. Thanks! Here is maizeman’s github repo. It is also inspired by many hours of playing with cFIREsim and FIRECalc.


Visualizing Longevity Risk

One of the most valuable things about these sorts of interactive graphs is that it allows you to understand how the results vary as you modify the inputs (asset allocation and length of retirement). So I encourage you to play with the inputs to calculator and the ways to visualize and see how the results and hopefully your understanding of the processes change.
One of the key takeaways from this is how large the ‘Wedge of Death’ gets as you get older and how the likelihood of dying is much higher than running out of money.
Another important takeaway is that if your retirement has a large likelihood of success (e.g. 4% or lower withdrawal rate), your retirement balance is most likely to be large (more than 2x your initial balance).
As mentioned earlier, it is important to remember that past performance does not predict future performance.

Data source and Tools Historical Stock/Bond and Inflation data comes from Prof. Robert Shiller. Average life expectancy data is from the Social Security Administration. High and low life expectancy mortality tables are from the Society of Actuaries Standard Ordinary Tables. Javascript is used to process and aggregate the retirement balance results over all historical cycles and graphed using javascript graphing library.

Update: – I’ve gotten alot of really good feedback on this tool. I’m really happy that people find it useful and informative. I’ve also gotten a long list of suggested additions to the calculator, so come back and check to see if I’ve implemented any.

First update: I added the ability to toggle between looking at nominal and inflation-adjusted success values. i.e. if we are looking at 2x the original starting balance, 2x can be in nominal dollars (i.e. $2 million on a $1M starting balance) or 2x in inflation adjusted dollars (i.e. more than $2M, whose exact value depends on the historical inflation for a particular cycle). You’ll notice that the success bands look worse when comparing to the inflation-adjusted (real) starting balance rather than the nominal starting balance.

2nd update: I added a few requested features. The first two are the ability to specify you annual tax rate on income and also fees (like expense ratios) on your investments. The main addition is the ability to add multiple income and expense streams with specified starting and end dates to the calculation. This is useful for adding income streams like social security or pensions and temporary expenses like a mortgage or childrens’ college expenses.

3rd update: I added a 5x category just because in many cases (especially less than 4% withdrawal rate), you see huge growth in your portfolio in many/most cases. I also added a button to generate a URL that you can share specific parameters and scenarios with other folks.

4th update: I added a simple spending flexibility parameter that allows you to specify how much you could reduce spending when your portfolio is below a certain threshold (in this case, your original retirement amount (inflation adjusted)).

5th update: I’ve updated the market data to include annual data up to and including 2019.
I also fixed a small bug which affected real stock market returns so you may see a very slight reduction in real average returns and success rates.

retirement calculator


77 Responses to Post-Retirement Calculator: Will My Money Survive Early Retirement? Visualizing Longevity Risk

  1. jenny says:

    great web tool for understanding how the liklihood of different outcomes change as you change the numbers. This is great for planning for our ER in 5-7 years!

  2. kelly says:

    This is very cool. Thank you for making it!

  3. Jeff says:

    Good tool just needs the ability to include Social Security to the forcast.

    • George says:

      I just entered our Social Security Income + Pension Income in the “Extra Income” line, along with start date, and end date at the end of my retirement period. Seems to work.

      • adam says:

        I found that you can enter a negative number for “extra expenses” if you want to add extra income that doesn’t fall in the exact timeline of your other added income.

        • Andrea says:

          You can enter multiple amounts and timelines separated by semicolon. ie: income 40000;20000 start: 50;60 end: 60;90 = 40,000 between 50 and 60 and 20000 between 60 and 90.

  4. socks5 proxy says:

    That’s interesting article for me..
    I added your website into my bookmarks!
    🙂 Looking forward for new updates.

    Best regards,

  5. […] for dying. (Ever notice how many of those we have?) In another neat tool from, Will Your Money Last If You Retire Early? adds some helpful nuance to this analysis. You input the same types of information, but now in any […]

  6. dawn says:

    I don’t understand why at age 90 it says my red zone (broke), is 2.3%, but when I uncheck the Death Zone part, it shoots up to 8.2% for the same exact age, age 90. Shouldn’t it remain the same?

    • chris says:

      The percentage goes down when you include the wedge of death because the percentages have to add up to 100%.

      So if you remove the death wedge the three green and one red wedges add up to 100%. And 8.2% of your survival percentage at age 90 is 2.3%.

      Hope that is helpful.

  7. dawn says:

    It would be nice to also be able to adjust the withdrawal rate, perhaps to 3.5%, instead of using the fixed 4% amount.

    • chris says:

      The withdrawal rate is changeable. Just modify the annual spending or beginning savings amount.

      Hope that helps.

  8. Sabrina Oesterle says:

    Love the calculator. But it assumes that you will spend the same amount per year the whole time. That seems unrealistic. Are there calculators that let you vary the annual spending? For example, I want to retire when I am 53 and I expect to spend way more early on than when I am older. How could I figure out what the implications are for that?

    • Roger says:

      I just put in $20,000 extra expenses for years 55 – 75 to reflect travel during those years, since most folks slow way down or stop after that. You could also add several tiers by putting semicolons in between expense tiers, (i.e. Extra Expense:20,000;10,000 Start Age:55;75 End Age:75;80) to reflect +$20,000 years 55-75 and +10,000 for years 75-80….

  9. Garrett says:

    Can you please fix this so that it doesn’t break at 150 years of retirement?

    Many of us in the longevity community expect to have life & excellent health FAR past age 100. Many of us into the multiple hundreds.

    • Martyn says:

      If you are going to liv te that long then you have plenty of time to learn how to do this yourself. You will need a hobby to stave off the depression arising from outliving all your friends and any children/grandchildren you might have.

  10. Martyn says:

    Dear Engaging Data,
    Thank you for posting this very useful simulator. One question – is the amount spent annually increased with inflation (what rate used?) or is it a nominal, fixed amount which will lose its purchasing power over time?

    • chris says:

      Spending is increased annually to account for inflation and is based on the annual inflation rate in each historical cycle.

  11. Mike OBrien says:

    This is one of the most insightful illustrations of retirement planning that I’ve seen. Thank you!
    A couple questions:
    (1) Is “Spending/yr” intended to be pre-tax or post-tax?
    (2) Is “Spending/yr” adjusted up over time factoring in inflation? $100,000 today isn’t going to go as far in 15-20yrs from now.
    (3) Ideas to factor in:
    a) Social Security payments
    b) Annuities, IRAs, 401Ks – these don’t kick in at the same time so adjusting for these would be helpful
    (4) Is there any way we can get access to the underlying data – xls download?

  12. Mark says:

    I never put much faith in these calculators. I think we are in unprecedented times that we have never been in before. Quantitative easing did that. It will be interesting

  13. This is a really cool visualization! I haven’t used before, but have some D3/Tableau experience. How have you liked working with I’d be curious about trying it.

    • chris says:

      Thanks for your kind words. I like plotly and have used other versions of JavaScript maps like amcharts, zing charts, etc. they have a set of built in chart types which makes it quick to get a chart up though I find I can spend a fair amount of time tweaking them to be just right.
      I haven’t used D3 though I’d like to learn at some point. I hear it’s very flexible and powerful but takes a bit of work and learning.

  14. […] This post has a built-in FIRE calculator with a graph that changes with the inputs. From Engaging Data, Will Your Money Last If You Retire Early? Visualizing Longevity Risk. […]

  15. James Baker says:

    Hi Martin,
    I’m assuming that if expect SSI payments in the future (crossing my fingers on that) we could simply lower our spending/year plan? Is there a way to have a two tiered spending plan on your tool? Say, one for before SSI payments and one for after? thanks in advance… nice tool and article btw… thumbs up

  16. Dan Griffin says:

    Very nice tool. I’ve created very similar things using homemade monte carlo simulators, but mine haven’t had the nice graphics. This is great for visualizing and thinking through scenarios. If, for example, you retire at 45, and are trending toward the bottom of the graph, it is probably worth jumping back into the workforce to reduce the risk of failure. It’s one thing to read about sequence of returns risk, but another to be able to visualize it. Thanks!

  17. Tyler Jones says:

    Nice job. can you integrate a change of investment from start to finish. could be simple linear move from high stock to high bonds or what ever. its unrealistic for the average investor to keep 80% stock to age 90 thats a lot of risk to carry for most people.

  18. […] simulate the post-retirement period when you start to draw down your savings. That can be done on this post-retirement calculator (Rich, Broke or Dead) which compares the frequency of various outcomes in retirement (running out of money, ending up […]

  19. Randy says:

    Chris, this tool is terrific. Thanks so much for taking the time to put it together.
    Question about retirement years and % probability of death. If I start retirement at 55 and assume a 30 year retirement, I would assume the tool to return a 100% chance of death at 85, based on the inputs. But in my case it displays 65.6%. Is this because people are woefully poor about determining their longevity and tend to estimate on the low side? If that’s the case, then shouldn’t the tool keep calculating the %’s for the 34.4% chance I have for living past age 85?
    Thanks again

  20. Jim says:

    Can you please constrain the stock/bond/cash percentages to add up to 100%? I made the mistake of investing 105% and it took me a while to notice why the results were overly optimistic.

  21. Tom says:

    This is the most useful chart i’ve ever seen. Thank you

  22. George says:

    Only problem I’ve seen from casual use is the generate the URL for my data, upon reload, changes my sex from M to F. Its OK as I realize its not really happening!

    Great tool to compare with the Fidelity calculator that I have access to. Thanks

  23. George says:

    Multiple “Extra Income” and “Extra Expense” lines would take the format tedium out of typing the semicolons and ordering corresponding ages correctly. I would think three of each line would be good.

  24. JWI says:

    If I understand correctly, if I have two sets of Extra Income: coming in at ages 55 ($20,000) and 63 ($11,000), I would enter as follows – does this look correct?

    Extra Income: 20,000;11,000 Start Age:55;100 End Age:63;100

    • chris says:

      Yup that’s correct.
      Edit: oops that’s not correct. Put the two start ages in the same box and two end ages in the end box.

      • JWI says:

        *** Duh, I just look at what I originally wrote (above). Actually, I think I have it wrong?

        For two sets of Extra Income: coming in at ages 55 ($20,000) and 63 ($11,000), both with End Age: 100
        Instead of:
        a. Extra Income: 20,000;11,000 Start Age:55;100 End Age:63;100

        Should it actually be:
        b. Extra Income: 20,000;11,000 Start Age:55;63 End Age:100;100

        A second question, regarding common Start Age: and End Age:

        Assuming that b. (above) were correct, If the end dates or the start dates of multiple Extra Income (and multiple Expenses) are the same, would we still need to enter all the dates?

        For example –
        Extra Expense coming in at ages 51 ($12,000), 55 ($15,000) and 62 ($7,000), all ending at a common age of 87 young, we would enter as follows:

        c. Extra expense: 12000;15000;7000 Start Age:51;55;62 End Age:87;87;87

        But could we also enter as follows? :
        d. Extra expense: 12000;15000;7000 Start Age:51;55;62 End Age:87

        Similarly, if Start Age were common (let’s say age 51) but End Age were different (e.g. 76,85, and 87), would writing as follows also be correct? :
        e. Extra expense: 12000;15000;7000 Start Age:51 End Age:76;85;87

  25. Tony says:

    Excellent work and visualization.

    I’m wondering: are you using life expectancy at birth? If so, the results may look much different for life expectancy at say, 50 or 60.

    In any case, thanks!

  26. Archie says:

    Interesting tool. Couple of questions on the calculations:

    I’m trying to figure out why the calculated probability values (for everything except the life expectancy) jump around from one predicted year to the next. For example, using the default figures, the probability of being in the “success balance < start" zone has two prominent spikes, 13 and 16 years after the start. There's nothing inherently different about the 13th and 16th years of retirement, so the "real" graph (whatever that means) should be smoother than the tool shows. I'm guessing it's an artefact of the historical investment data. But shouldn't a "bad investment year" feed in to the figures once as "year 1", once as "year 2" and so on and therefore affect years 14 and 15 just as much as years 13 and 16 ? Maybe it's caused by unusual years near the start and end of the datasets ? Depends how you're doing the calculations, would be nice to know a bit more.

    Also: I don;t see why my estimate of my "retirement years" should affect any of these figures – it doesn't change either the historical investment returns or my life expectancy – but it does change the results in the calculator. E.g, again with the default values, and a 50 retirement years estimate, I have a 33.7% chance of being in the light green zone after 20 years. But with the same assumptions and a 20 retirement years estimate, I have a 32.8% chance. Why the difference ? It's the same 20 years of investment.

  27. Que Tiene says:

    seriously nice web tool for seeing how the likelihood of having different amounts of money change as you change the numbers and over time. Knowing the probability of dying is scary and eye-opening at the same time.

  28. Ben says:

    Hi, is the annual spending amount pre or post tax? Is it my annual withdrawal amount from accounts before considering taxes (cap gains, income, etc.)? Or is it post-tax spending (liquid funds)?

  29. Nice tool! We have spreadsheets with various retirement scenarios, but this is so much easier.

    • chris says:

      thanks. Spreadsheets do offer more flexibility in some ways (and I’ve made alot of them) but I wanted to make something that was easy to share and helpful for educating people.

  30. William Ciocco says:

    Great tool.
    I have enjoyed playing with it.
    One addition you could add is for expected lump sum like a sale of an asset or an inheritance. I worked around it by adding it as a year of income in a place where I expect it might happen by.

  31. Tweedie Gam says:

    It would be useful to have extra income/expenses which are and are not inflation adjusted. For instance, many pensions and annuities are not adjusted for inflation and expenses like mortgages are not either. But college costs and SS should be adjusted.

  32. […] wanted to share a really cool retirement visualization tool. The following charts are all via the Post-Retirement Calculator on I use a 90/10 stock/bond portfolio with 0.05% expense ratio […]

  33. Bill says:

    Fantastic tool; I’ve seen a lot of Monte Carlo retirement simulators but this one makes the visualization process much easier. Thanks for making it and keep up the good work.

  34. anthony says:

    The spending flexibility parameter is a game changer, thanks. Most of the calculators are too static and don’t replicate the fact that we can make real-time adjustments.

    An interesting feature would be to display the opposite: “when your inf-adj-balance is superior to e.g. 150% of your initial balance, you can spend 15% more this year and reevaluate next year”

  35. Matthew Liggett says:

    Thank you for this.

    (A) It’d be great to have a version of this for couples! Tricky not to make it too complicated, but at the same time the odds of *one of you* surviving to a ripe old age do increase.
    (B) It might be nice to be able to have an absolute “lifespan increase” field. For those using the calculator, they probably have increased longevity risk than average because wealthier, more educated people live longer. And my partner is an Asian female, so she has a substantially longer life expectancy than the averages would suggest.

  36. MO says:

    Great tool! One question, when filling in the “extra income” section, should I include my expected annual dividends? Or are those already factored into the appreciation of stocks/bonds?

  37. Anthony says:

    I do not understand why the inflation perimeter gives me worse odds when using “Nominal” than my inflation-adjusted odds of survival

  38. Al Cam says:

    Great tool!!

    Please can you confirm that the balances graphed are year end values. Also is it correct that “Extra income” (and/or “Extra expenses”) are paid/deducted from the birthday – which I assume is effectively the start of the year in question?

    Also, can you explain a bit more about how the Spending/Year is taken from the various assets – e.g. is it deducted monthly or annually; is the spend pro-rated across the assets or do you always re-balance the assets after deduction of the spend to maintain the initial asset ratios, e.g. 60/40, or ….?

  39. […] Engaging Data creates absolutely amazing data visualizations and one of them struck me right in the heart (see below). It shows the possibility of my portfolio balance being at different levels during each year of retirement and compares it to the probability of me dying during that time. That grey ‘death’ section sure is large and imposing – and I suspect this longevity data is based on white female numbers – from everything I’ve read, me being a black female decreases my long living prospects further. […]

  40. Debbie says:

    We have 2 financial advisors at 2 different firms. This completely supports the financial plans they have both provided. However, your graph makes it so clear, simple to understand, and easy to modify. Most importantly, since I am 65 and my Hubby is 72, it provides me with comfort of “seeing” that I can take the big leap into retirement without fear of living in a cardboard box and eating cat food when I’m 90. Predicated, of course, on the assumption that this country regains it’s sanity and can recover from the last 3 years.
    Thank you so much for your excellent work, and the comfort it brings.

  41. Mr Simpleton says:

    Thanks so much for making this tool – I especially love the risk of death – I sometimes forget that the risks are not just running out of money.

    I heard Carl (Mr 1500) on a What’s Up Next Podcast saying something like “You might run out of money, but you’re definitely going to run out of time” It’s so great to see it in the graph – when your risk of dying is three times the risk of going broke it really makes you think about risk differently!

    Actually thanks for your whole awesome website.

  42. Mike says:

    If I have flexibility in spending what is meant by “the inflation adjusted starting balance”? Is this the balance you started with in year 1 of withdrawals? If I am in year 20 do I need to reduce spending based on the year 1 balance? I am basing my withdrawals on a 30 year retirement.

  43. Gnomeozurich says:

    This is a great tool! I love this visualization including the likelihood of death (even if the ssa table is a bit too aggressive for most people doing this, since income and wealth both correlate with longevity, the average person using this tool will probably live a couple years longer than the SSA estimates).

    I love the way you put in the ability to model a bunch of income/expense streams with semicolons without cluttering up the interface for those who don’t care.

    I have no idea if you’re considering working on this more, but I have a few suggestions if you are:

    The spending cut is a great addition as well, but I think it would model most people’s willingness to cut better if it was triggered at threshold below the initial portfolio size, say somewhere around 75-80% Or even 90%. I doubt most people are going to cut their spending because of some minor correction or flat year. But after 10-20% down, it makes sense. It would be good to see the model where the spending cut gets activated somewhere most people would really do it, after a significant correction or bear, or a few low/flat years in a row. In addition, in the graph, it would be really helpful to see how often you dip into danger territory, not just what percent you’re below 1x initial. Having a couple more zones under 1x like 75% (or whatever you use for spending cut threshold), 50% and 25% would be really helpful. Maybe you can even code the 50/25 as light pink :).

    Anyway, I hope you agree with my suggestions if you work on this again, and generally great idea and brilliant work!

  44. […] for dying. (Ever notice how many of those we have?) In another neat tool from, Will Your Money Last If You Retire Early? adds some helpful nuance to this analysis. You input the same types of information, but now in any […]

  45. […] look again at some charts from Engaging Data. Here are sample results for the early retirement scenario at 4% withdrawal rate at age 40 ($40k […]

  46. This is THE BEST retirement calculator I’ve ever seen. Absolutely love it! Is there a place to donate to you,brother, because this is incredible.


    • Nate Greene says:

      Josh- Thanks for showing this site on your YouTube channel. This calculator is very comforting to me as I look at semi-retirement in a few years. I think I can do this. And THANK YOU to the person who created this site.

  47. vic says:

    did i miss something? Did this calculator figure in social security? Do you enter that under extra income?
    Post retirement Calculator…
    Thank you

    • Nate Greene says:

      Hey Vic- I entered SS as extra income. This makes sense because SS benefit varies from person to person (as does the age you intend to begin), and the tool couldn’t know that.

      • Nate Greene says:

        Vic- I just double checked in the directions, also, to confirm this: “The main addition is the ability to add multiple income and expense streams with specified starting and end dates to the calculation. This is useful for adding income streams like social security or pensions and temporary expenses like a mortgage or childrens’ college expenses.”

  48. Tim says:

    A tabular format would be interesting.
    Also it would be nice to be able to adjust extra income, e.g., Social Security with a Cost of Living Adjustment.
    Also to be able to add a series of expenses and/or a series of incomes per year or month.
    I _really_ like the % chance of death. Also the ability to add different mortality tables based on health, e.g, see

  49. Rick says:

    Is the spending amount reflect actual spending or the yearly withdrawal amount from your savings.

  50. Robert Paton says:

    This is my favorite FIRE calculator — thank you!!!!

  51. […] article on the topic: again, Big ERN’s “you are a pension fund of One“. Bonus: this amazing calculator, with a visual representation of odds of ending up rich, broke or dead over […]

  52. Bill says:

    A great calculator. I would really like to see 3 extra incomes to allow you to put in your SS, your wife SS and a pension. You can gain an extra income by putting a negative number in the expense instead of a positive one.

    • chris says:

      You can put unlimited numbers of incomes into the box (just keep them separated by a semi-colon), same as the age box.

  53. Jonathan Schoeller says:

    Thanks for making this. Looks like there might be a bug in the “Generate URL” button.

    1. Enter 80% as the Flex threshold
    2. Click Generate URL
    3. Refresh the page

    Expected: Flex threshold contains 80%
    Observed: Flex threshold contains “NaN”

Leave a Reply

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