I am 5'3", 138lbs, bust 32D, and carry most of my extra weight in the belly (apple shape). I originally ordered a medium based on some of the reviews.  It was absolutely enormous and ridiculous looking on me. On a whim, I decided to try the XS... and surprisingly, it fit really well.  Just for kicks, I ordered a small to compare. It took me awhile to decide which one to keep, but ultimately i decided on the XS because the shorter sleeve length and less fabric around the middle just fit my frame better. Because of my belly, I wear it with the waist band higher up, almost empire style. I wish it was a tad longer - XS hits my ankles, whereas the S just barely skims the floor when I am barefoot.

Since Rayon/Viscose tends to shrink, I went ahead and washed the XS (on cold, then draped it over a chair to dry). It did not noticeably shrink  - however, rayon gets really weak when it is wet and can easily tear or stretch, which I found out the hard way after the skirt stretched into the shape of the chair - ie the fabric has a section where it is pulled into a square.  I'm hoping I can iron it back into shape.  For those not familiar with different fabrics, I really like rayon/viscose because it's so light and breathable in the hot, humid area where I live. Just be aware that you have to handle it carefully, and the best way to dry it in to roll it in a towel first, then lay flat.  Do not put in the dryer or wring/twist it.  If you need to iron, do it from the backside and use an ironing cloth, as it can scorch if it gets too hot.

Overall, super cute dress at a fair price.