If you’ve been binging Wild Wild Country on Netflix, then you may have felt the familiar tug of simultaneous awe and fear as a natural-born crime queen came into her own on this week’s Good Girls. This series is at its best when it focuses on the catalyst for Ruby, Beth, and Annie’s foray into a life of crime: They didn’t stumble upon a gang leader who took advantage of their good-girl-naïveté, as Beth insinuates to her husband in “A View From the Top.” There were so beaten down by their own circumstances, so unable to bear every burden placed upon them, so desperately in need of a fix for the lives they had so little control over that they decided to rob a grocery store.
When firing on all cylinders, Good Girls is about the powerless feeling of being expected to stay inside the lines that society has long drawn for women, while also bearing the burden of problems that extend far beyond those roles. Robbing a grocery store is an extreme reaction to this pressure, but needing a quick and convenient fix just to keep the wheels from falling off is not.In “A View From the Top,” Good Girls makes its cleverest parallel by mirroring the rise of Ruby, Beth, and Annie’s criminal activity with something that looks and acts quite a bit like a pyramid scheme.
There’s a reason that the multilevel marketing companies of yore often target women, and especially stay-at-home mothers. Selling makeup or face creams or essential oils from one’s home exists at the idealistic intersection of having it all: If you just work hard enough, the pitch goes, you can be a full-time mother and a full-time businesswoman who finds creative fulfillment by being her own boss.
I would not be surprised if the entire premise of Good Girls was first conceived as an exaggerated satire of women in the insidious world of direct sales. Beth, Annie, and Ruby saw the promise of quick cash when they came up with the idea to rob a grocery store. Now, suddenly, they’re pitching a dangerous lie to a bunch of moms in their living room, just to keep their own lies from blowing up. Beth tells the women she’s gathered to blindly do her dirty work in return for a small sliver of the profits, “We are giving you an opportunity to make your own money, to do something for yourself — this is about being, a strong independent woman!” She is both lying through her teeth for her own benefit, while also believing in what she’s saying enough to make them believe it too.
In Beth, we see a woman who could have made a fortune selling tales of empowerment to other women for her own gain, but she didn’t have that kind of time. She had just enough desperation to rob a grocery store, propelling her to use the skills she might have otherwise used to invest in an entrepreneurial lip-gloss venture, into leading her friends through the exciting world of counterfeit cash. But what once seemed destined to solve all their problems is suddenly seeming a little measly when the women finally get their cut. “I’ve never worked so hard for so little, and I’ve worked a service job.”
Ruby wants to cut their losses and quit while they’re ahead, a pitch that adorably includes the line, “We’ve learned so much!” when she relays it to Rio. But Beth cuts in with a different solution: “We need more.” Beth isn’t ready to let this opportunity slip away, so she tells Rio that they can clean $500,000 at the next drop, five times what they did in their first outing. “I was thinking about our future,” she tells Ruby and Annie later, as they look at her like a crazy person in a cardigan: “I robbed a grocery store, I didn’t do it for nothing!” She tells them that they can pull this off, they just need some extra hands. “This isn’t Mary Kay,” Ruby hollers back. “You can’t just serve a bitch a mini muffin and invite her to join you in a life of crime!”
Okay, but what if it was? Cue the mini muffins…
Beth comes up with a plan to trick other women into doing their big-box store hauls for them by telling them it’s for a company called “Secret Shoppers” that stores hire to buy and return products, and evaluate the customer service they receive. This is … incredibly dangerous. For absolutely no other reason than to invent a problem down the road, Tyler, the man-child security guard from Annie’s grocery store, is also invited to the all-female recruiting session. At first, the plan goes off swimmingly, with all of Beth’s new mini-mes easily completing their tasks … until Tyler tells Annie that some of his items were stolen out of his car before he could return them. $20,000 worth of items, to be exact.
That money still has to make its way back to Rio, so Annie pulls out their trusty ski masks, saying there’s no other option but to pull one of their classic robberies. But Beth realizes, “We don’t need the money, we just need the merchandise.” The women put themselves in some wigs, then head to Cloud9 to do some old-fashioned shoplifting. Beth sets off the alarm on purpose, distracting the buggy attendant while Annie scoots out with $20,000 worth of stolen goods.
But when Beth gets home, she finds Dean waiting on her — and he recently had a visit from Agent Turner with some new information. “Maybe you can tell me why you stole a car and ditched in it a lake,” Dean asks her, with a tone that’s pretty rich coming from a man currently faking prostate cancer. Dean told Agent Turner that after Beth found out he was cheating on her, she stole the car, trashed it, and went on a Canadian spending spree, but now he’s demanding the truth from her. Beth tells him that they needed money fast. “Maybe you could get a job!” Dean — the man who spent all their money on tacky thongs for his mistress — yells back at her, nearly causing me to tackle my television.
Dean yells at Beth to sit down and tell him the truth, and 100 different emotions play over Christina Hendricks’s face. It’s unclear just which one she’s settled on until Beth starts demurely agreeing with everything Dean says: that the “bounce house guy” roped her into this; that these gangs prey on “good, innocent people; that he’s going to take care of this (ha! ha! HA!); that she’ll stay away from that guy for good.
Ruby’s lies are catching up with her at home too, but the problem is different: She actually cares about lying to her husband. So when her former boss from the diner hears that Sara is sick and shows up with food, both Stan and Ruby look heartbroken at the realization that Ruby has been lying about going to work. She tells Stan that she was too embarrassed to tell her she was fired, and all this time, she’s actually been out looking for work. Stan lets her go on and on until he finally has to say what they’re both dreading: He doesn’t believe a single word coming out of her mouth.
Ruby tells Annie and Beth that Stan has never looked at her like that; Beth tells them that the FBI found the car. When Rio arrives to count their newly cleaned cash, Beth asks him how he never gets caught. “I flip my game,” Rio tells her. You can move knuckle-bags of herb fast because everyone knows a knuckle-bag man — that’s why they always get caught. Smart dealers turn knuckle bags into dimes, dimes into pills, and so on until you’re so far up the chain no one knows where you are. “While they all got their back turned, I’m over here with a bunch of suburban bitches selling Monopoly money,” Rio finishes. “We’ll see where that gets me.”
As for Ruby, Beth, and Annie, their successful return of $500,000 real U.S. dollars seems to have unexpectedly flipped their own game because now Rio is handing over $750,000. “Because you delivered,” he explains.
With some words of affirmation from the workplace, Beth and Ruby return home with a little more confidence. Ruby tells Stan that she was lying to him — she started a business, Secret Shoppers, and she didn’t tell him because it was risky. But now, Ruby pulls out stack after stack of cash to show Stan how well she’s done, and he’s so proud of her. They’re celebrating, and they’re so happy, and I love these two so much, and I live every Monday night in fear of what’s to come for them.
On the other hand, it is my greatest hope that Beth will dispose of Dean for good. There is, however, the small problem of him being a completely untrustworthy dummy who knows she’s up to something. It would certainly be wisest to keep him in the dark. But when Dean starts going on and on about how no one will be messing with Beth anymore “on [his] watch,” Beth can no longer stand his ignorance. “How little you must think of me,” she seethes. “You have no idea what I have done, or even who I am — and that wifey of yours who lived to make you dinner has left the building, and she is not coming back.”
Then she dumps a couple hundred thousand dollars of counterfeit bills in his lap and tells him he doesn’t need to worry about her. She’s not afraid of the dark.
A Few Loose Ends
• The coordinated dance/rap that Stan, Beth, and their li’l son do for Sara to “Lodi Dodi” is, per usual, the cutest.
• I’m not sure what’s to come of Annie coming clean with Marion (June Squibb! Still crazy that she’s here!) and becoming adorable best friends, but it annoys Boomer enough to make him plant drugs in Annie’s work locker. Ugh.
• I loved the general structuring and story of this episode, but there are still some major logistical flaws. Like, why wouldn’t Stan question that all of Ruby’s new business earnings are in cash?
• Speaking of: The ladies made $20,000 each this week, they stand to make $30,000 next week, which combined is, uh, probably more than Ruby or Annie’s annual income … in cash. Beth’s six-month plan is cute with its “honeypot” and “legitimate investments,” but they might have to add “laundering” and “offshore accounts” to that the itemized agenda.
By submitting your email, you agree to our
Terms and Privacy Notice
and to receive email correspondence from us. This site is protected by reCAPTCHA and the Google
Privacy Policy and
Terms of Service apply.
or
Already a subscriber?
What is your email?
This email will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
Password must be at least 8 characters and contain:
Lower case letters (a-z)
Upper case letters (A-Z)
Numbers (0-9)
Special Characters (!@#$%^&*)
This password will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
You’re in!
As part of your account, you’ll receive occasional updates and offers from New York, which you can opt out of anytime.
or
Already a subscriber?
What is your email?
This email will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
Password must be at least 8 characters and contain:
Lower case letters (a-z)
Upper case letters (A-Z)
Numbers (0-9)
Special Characters (!@#$%^&*)
This password will be used to sign into all New York sites. By submitting your email, you agree to our Terms and Privacy Policy and to receive email correspondence from us.
You’re in!
As part of your account, you’ll receive occasional updates and offers from New York, which you can opt out of anytime.
Already a subscriber?
Already a subscriber?
`;
// integrate Sub(x) scripts and elements
if (hostname !== 'subs.nymag.com') { // do not integrate on this subdomain
document.head.appendChild(trackingScript);
document.body.insertAdjacentHTML('beforeend', subXAnimationElements);
}
There was an error processing the request. Please try again later."}).catch(e=>console.error("Error verifying email: ",e)))(r.querySelector(".content"),o.bannerCTAVerification)})):(l.remove(),s.remove()),o.dismissable||n.remove(),o.useAlertIcon||a.remove(),r.classList.add("show"),n.addEventListener("click",()=>{u(),r.classList.remove("show")})}else r.remove()}});
}, {"1":1,"6":6,"12":12,"35":35,"40":40}];
window.modules["global-nav.client"] = [function(require,module,exports){"use strict";const dom=require(4),auth=require(12),signInButton=dom.find(".user-signin"),signOutButton=dom.find(".user-signout"),globalNav=dom.find('[class^="global-nav"]'),body=dom.find("body"),dropdownItems=dom.findAll(".dropdown-wrap"),gtm=require(1),appendLandingPageParams=require(135),pageUri=require(124).getPageUri(),subscriptionPromoLinks=dom.findAll(".persist-params"),searchString=window.location.search||"";function closeDropdowns(e){let n=globalNav.querySelectorAll(".dropdown.open");dropdownItems.forEach(function(t){let o=t.querySelector(".dropdown");!n||t.contains(e.target)&&27!==e.keyCode||o.classList.remove("open")})}function gtmSendReport(e,n,t){let o={eventCategory:"ecommerce",eventAction:"componentClick",brand:e,dimension23:"global-nav",list:pageUri,pageZone:"header",variant:"nav-link"};"global-nav-link"===t&&(o.eventLabel=n.href),gtm.reportNow(o)}function updateElementTargetUrlsIfQueryStrings(e){if(searchString){const n=new URLSearchParams(searchString);let t=e.href;if(t.includes("?")){const o=t.split("?"),i=new URLSearchParams(o[1]);for(let e of n.entries())i.set(e[0],e[1]);t=`${o[0]}?${i.toString()}`,e.href=t}else e.href=`${t}?${n.toString()}`}}function init(e){const n=e.querySelectorAll(".to-landing-page");window.addEventListener("auth:init",()=>{signInButton.addEventListener("click",function(e){e.preventDefault(),auth.showEmbeddedLoginFlow("top navigation")}),signOutButton.addEventListener("click",function(e){e.preventDefault(),gtmSendReport("Sign Out",e.target,"user-info-link"),auth.logout()}),auth.isAuthenticated()&&e.classList.add("signed-in"),auth.isSubscriber()&&e.classList.add("subscribed"),e.querySelectorAll(".user-link").forEach(e=>{e.classList.add("active")}),subscriptionPromoLinks.forEach(e=>{updateElementTargetUrlsIfQueryStrings(e)}),appendLandingPageParams(n)})}dropdownItems.forEach(function(e){e.addEventListener("click",function(){e.querySelector(".dropdown").classList.toggle("open")})}),body.addEventListener("click",closeDropdowns),document.addEventListener("keydown",closeDropdowns),globalNav.addEventListener("click",function(e){let n=e.target;n.classList.contains("global-nav-track")&>mSendReport(n.text,n,"global-nav-link")}),module.exports=init;
}, {"1":1,"4":4,"12":12,"124":124,"135":135}];
window.modules["aaa-module-mounting.legacy"] = [function(require,module,exports){"use strict";const _pickBy=require(221),_each=require(406),Fingerprint2=require(408),DS=require(407),Eventify=require(246);function registerGlobals(){window.DS=DS,window.Eventify=Eventify,window.Fingerprint2=Fingerprint2,DS.value("Eventify",Eventify),DS.value("Fingerprint2",Fingerprint2),DS.value("$document",window.document),DS.value("$window",window)}function mountDollarSliceComponents(){DS.service("components",["$document","$module",function(e,n){var o=_pickBy(n.definitions,e=>e.providerStrategy===n.providers.controller),r=Object.keys(o);function t(e){return o=>{try{n.get(e,o)}catch(e){logMountError(o,e)}}}_each(r,n=>{var o=e.querySelectorAll('[data-uri*="/_components/'+n+'/"]'),r=e.querySelectorAll('[data-uri$="/_components/'+n+'"]');_each(o,t(n)),_each(r,t(n))}),this.components=r}]),DS.get("components")}function logMountError(e,n){const o=e.outerHTML.slice(0,e.outerHTML.indexOf(e.innerHTML));console.error("Error attaching controller to "+o,n)}registerGlobals(),"loading"===document.readyState?document.addEventListener("DOMContentLoaded",()=>{mountDollarSliceComponents()}):mountDollarSliceComponents();
}, {"221":221,"246":246,"406":406,"407":407,"408":408}];
window.modules["ads.legacy"] = [function(require,module,exports){"use strict";const _map=require(118),_forEach=require(107),_isString=require(268),_intersectionWith=require(409),_isEqual=require(274),_each=require(406),_debounce=require(182),_sortBy=require(205),page=require(124),visit=require(114);DS.service("adService",["Eventify","$cid","$document","$window",function(e,t,a,i){var o,n,s,r,d,c,u,l,g={},p=this,h=[],f=visit.getQueryParamsObject(["utm_campaign"]),m=document.querySelector('script[data-type="ad-a9"]'),b=[],w=!1,v=[],y=document.querySelector('script[data-name="ad-doubleverify"]');document.querySelector('script[data-name="concert-ads"]')||(i.NYM={},i.NYM.analytics={},i.NYM.analytics.adStartTime=i.performance.now(),i.googletag=i.googletag||{},i.googletag.cmd=i.googletag.cmd||[],u=i.googletag,(m||y)&&(i.googletag.cmd=i.googletag.cmd||[],i.googletag.cmd.push(function(){i.googletag.pubads().disableInitialLoad()})),m&&(l=i.setInterval(function(){void 0!==window.apstag&&void 0!==window.apstag.timeout&&(i.clearInterval(l),window.apstag.cleared=!0,l=null)},10),setTimeout(function(){l&&(i.clearInterval(l),i.googletag.pubads().refresh(),window.apstag||console.log("MESSAGE: Timeout for A9 load exceeded, aborting"))},500)),y&&(b.push(new Promise(function(e){w?e():v.push(e)})),c=i.setTimeout(T,2500)),o=function(e){var t,a,o=e.data,n=[];return o.loaded?e:(o.loaded=!0,t=null,(t=o.sizes?u.defineSlot(o.name,o.sizes,o.id).addService(u.pubads()):u.defineOutOfPageSlot(o.name,o.id).addService(u.pubads())).setTargeting("adid",o.id),f.hasOwnProperty("utm_campaign")&&t.setTargeting("utmcamp",f.utm_campaign),a=p.getAdCount(o.label),t.setTargeting("label",o.label+"_"+o.site+"-"+a),u.display(o.id),u.pubads().addEventListener("slotOnload",function(){i.NYM.analytics.firstAdLoadTime||(i.NYM.analytics.firstAdLoadTime=i.performance.now(),i.NYM.analytics.firstAdLoadLabel=e.data.label)}),n=_(o),Promise.all(b).then(function(){n?window.apstag&&window.apstag.cleared?window.apstag.fetchBids({slots:[n],timeout:window.apstag.timeout},function(){u.cmd.push(function(){window.apstag.setDisplayBids(),u.pubads().refresh([t],{changeCorrelator:!1})})}):y&&u.pubads().refresh([t],{changeCorrelator:!1}):u.pubads().refresh([t],{changeCorrelator:!1})}),e.slot=t,e)},n=function(e){var a,i,o,n=t(),s=e.getAttribute("data-name"),r=e.getAttribute("data-sizes"),d=e.getAttribute("data-label"),c=e.getAttribute("data-site");n=e.id,r&&r.length?(r=r.split(","),a=[],_map(r,function(e){e=e.split("x"),i=parseInt(e[0]),o=parseInt(e[1]),a.push([i,o])})):(e.classList.add("oop"),a=!1),this.data={id:n,name:s,sizes:a,loaded:!1,label:d,site:c},g[n]=this},r=function(e){u.cmd.push(function(){var t=o(e);g[e.data.id]=t})},s=function(e){var t=[];e.slot?(t=_(e))&&window.apstag&&window.apstag.cleared&&window.apstag.fetchBids({slots:[t],timeout:window.apstag.timeout},function(){u.cmd.push(function(){window.apstag.setDisplayBids(),u.pubads().refresh([e.slot],{changeCorrelator:!1})})}):e&&r(e)},u.cmd.push(function(){var e,t,o,n=page.getMeta("article:tag"),s=page.getMeta("author"),r=i.location.href,d=(e=a.head.querySelector(".head-gtm"),t=a.body.querySelector(".gtm"),e&&"top"===e.getAttribute("data-gtm")?"gtmtop":t&&"bottom"===t.getAttribute("data-gtm")?"gtmbottom":"");o=[],_forEach([n,s,d],function(e){_forEach(e.split(","),function(e){(e=e.trim().toLowerCase().replace(/\s/g,"-").replace(/\'|\’/g,"")).length&&o.push(e)})}),u.pubads().setTargeting("kw",o),u.pubads().setTargeting("entry_group",o),r=r.slice(r.lastIndexOf("/")+1),u.pubads().setTargeting("pn",r),u.companionAds().setRefreshUnfilledSlots(!0),u.pubads().enableAsyncRendering(),u.enableServices()}),this.load=r,this.create=function(e){return new n(e)},this.refresh=function(e){var t;_isString(e)?(t=this.getById(e),s(t)):s(e)},this.remove=function(e){var t=e.data.id;a.getElementById(t).innerHTML=""},this.getAdCount=function(e){var t,a=0,i=Object.keys(g);return _each(i,function(i){(t=g[i]).data.loaded&&t.data.label===e&&a++}),a},this.getById=function(e){return g[e]},d=_debounce(function(){var e={TopLeaderboard:1,RightColTopMPU:2,outOfPage:99,"homepageTakeover/TopLeaderboard":1},t=_sortBy(h,function(t){return e[t.data.label]||10});_forEach(t,function(e){return e.data.sizes?r(e):i.setTimeout(function(){r(e)},2e3)}),y&&window.PQ.cmd.push(()=>{try{window.PQ.loadSignals(["ids","bsc","vlp"],T)}catch(e){T(),console.error(`There has been an error loading Double Verify signals: ${e}`)}}),h=[]},10),this.addToPageLoadQueue=function(e){h.push(e),d()});function _(e){var t,a=e.sizes;return a=_intersectionWith(a,[[970,250],[970,90],[728,90],[300,600],[300,250],[320,100],[320,50]],_isEqual),e.sizes&&e.sizes.length&&(t={slotID:e.id,sizes:a,slotName:e.label}),t}function T(){i.clearTimeout(c),w=!0,_forEach(v,function(e){e()})}}]);
}, {"107":107,"114":114,"118":118,"124":124,"182":182,"205":205,"268":268,"274":274,"406":406,"409":409}];
window.modules["cid.legacy"] = [function(require,module,exports){"use strict";DS.service("$cid",function(){var r=Math.floor(100*Math.random());return function(){return"cid-"+ ++r}});
}, {}];
window.modules["client.legacy"] = [function(require,module,exports){"use strict";require("cid.legacy"),require("ads.legacy"),require("facebook.legacy"),require("aaa-module-mounting.legacy");
}, {"cid.legacy":"cid.legacy","ads.legacy":"ads.legacy","facebook.legacy":"facebook.legacy","aaa-module-mounting.legacy":"aaa-module-mounting.legacy"}];
window.modules["facebook.legacy"] = [function(require,module,exports){"use strict";DS.service("facebook",[function(){this.fb=function(i){window.FB&&window.FB[i].apply(this,Array.prototype.slice.call(arguments,1))}}]);
}, {}];
require=(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o typeof key === 'string' && key.match(/\.legacy$/)).forEach(key => window.require(key));
}
function tryToMount(fn, el, name) {
try {
fn(el); // init the controller
} catch (e) {
const elementTag = el.outerHTML.slice(0, el.outerHTML.indexOf(el.innerHTML));
console.error(`Error initializing controller for "${name}" on "${elementTag}"`, e);
}
}
/**
* mount client.js component controllers
*/
function mountComponentModules() {
Object.keys(window.modules).filter(key => typeof key === 'string' && key.match(/\.client$/)).forEach(key => {
let controllerFn = window.require(key);
if (typeof controllerFn === 'function') {
const name = key.replace('.client', ''),
instancesSelector = `[data-uri*="_components/${name}/"]`,
defaultSelector = `[data-uri$="_components${name}"]`,
instances = document.querySelectorAll(instancesSelector),
defaults = document.querySelectorAll(defaultSelector);
for (let el of instances) {
tryToMount(controllerFn, el, name);
}
for (let el of defaults) {
tryToMount(controllerFn, el, name);
}
}
});
}
// Make sure that a `window.process.env.NODE_ENV` is available in the client for any dependencies,
// services, or components that could require it
// note: the `` value is swapped for the actual environment variable in /lib/cmd/compile/scripts.js
window.process = window.process || {};
window.process.env = window.process.env || {};
if (!window.process.env.NODE_ENV) {
window.process.env.NODE_ENV = '';
}
// note: legacy controllers that require legacy services (e.g. dollar-slice) must
// wait for DOMContentLoaded to initialize themselves, as the files themselves must be mounted first
mountLegacyServices();
mountComponentModules();
// ]]