ByDevon Ivie,
a staff writer covering classic rock and TV
“My first feeling was relief — relief that it was funny and relief that it wasn’t too cruel on the band.”
Photo: NBC
Bruce Dickinson puts his pants on, just like the rest of us, one leg at a time. Except once his pants are on, he makes gold records. Such is the premise of Saturday Night Live’s Mount Rushmore of a sketch “More Cowbell,” with the music producer (Christopher Walken) trying to iron out the melodic kinks of Blue Öyster Cult’s enduring hit “(Don’t Fear) The Reaper” alongside the band. You see, Bruce has a good ear and even better instincts. As soon as Gene Frenkle (Will Ferrell) begins to bang that cowbell and explore the studio space with his body, his bandmates are distracted and furious that it’s drowning out the other instruments. But all Bruce hears is a “dynamite sound” that needs to be cranked up to 11, and he doesn’t understand why this additional percussion isn’t being met with greater enthusiasm. “I’m telling ya, fellas,” he declares, “you’re gonna want that cowbell.” There’s a prescription that needs to be filled for his fever, too.
Airing as the final sketch of the Walken-hosted April 8, 2000, episode, “More Cowbell” has leaped from Studio 8H’s gold-plated diapers into cultural ubiquity. The phrase has even merited an entry into the dictionary. (Idiom, informal: “An extra quality that will make something or someone better.”) Donald “Buck Dharma” Roeser, Blue Öyster Cult’s co-founder and front man who wrote “(Don’t Fear) The Reaper” for their 1976 album, Agents of Fortune, has managed to maintain a healthy relationship with the sketch, but he admits the fate could’ve been a lot different if he didn’t find the premise genuinely humorous. “It’s been a 25-year journey with the cowbell and riding that horse,” Buck Dharma explains. “I can’t complain about any of the history and what’s happened. It’s all good.”
The sketch aired in April 2000. Prior to this moment, can you tell me a little bit about how Blue Öyster Cult was navigating the new millennium? How did you view yourselves as a band nearly 30 years into your history? Of course we became — I’m looking for the right word — I want to say an “adult” or “mature” group, because we’d been together longer than most pop groups stay together, at least in my experience of a lifetime. The fact that we’ve been together 52 years now is ridiculous. But it’s been a great ride and I have very few regrets, if any. But in 2000, we were below the pop radar. We weren’t selling records by then. We were still recording but to a specialized audience. We were doing very well with touring. We’ve always done well with touring because we were a great live act, and people would come out and see us and the fans are loyal. Once the internet became something, our popularity got a big boost. Even as it killed the legacy-record business, it was doing very well for their personal awareness with new audiences.
How specialized was your audience? Even in our heyday, Blue Öyster Cult was always a rarefied choice among rock-record consumers. We never really had the double-platinum or ten-platinum record like the biggest artists did. But our brand of humor, the way we presented ourselves, the way we sounded, and the way all of us played, people just liked it. I’ve always been grateful to have made a good living doing this.
Were you ever invited to play SNL as a musical guest? It seems like an oversight that you never swung by in the 1970s. We never got the call. I don’t know how those decisions are made as far as who gets on the program and why, but I would’ve certainly done it. We did a few TV shows in our time, but not SNL.
The very first words spoken by the narrator in “More Cowbell” are “After a series of staggering defeats …” Of course, this is silliness to tee up the rest of the action, but looking back at Agents of Fortune, what would you say were the most taxing elements of its creation? I would say Agents of Fortune was an evolution of the band’s development more than anything else. The big difference for Agents was the invention of affordable multitrack tape recorders. All the band members got their own four-tracks at home. So when we wrote songs, we could bring them in with more thought-out arrangements than we had done in the past, which was basically: You’d come in with a guitar and an idea, you’d explain it to everybody else, and we would arrange it all in real time and see if it worked. There’s something to be said about working that way, but the difference for Agents is that the songs were, in turn, more considered and fleshed out by the time they were brought to the band, even if those songs demanded more work afterward. They were actual, realized visions of the composer’s intent.
Also, we recorded at the Record Plant in New York City, which was the gold standard. That was the first time we recorded in that studio. We’d previously used Columbia’s old studios in the city, which was required as part of their labor agreement with their people. John Lennon, Aerosmith, Cheap Trick, Blondie, and a lot of the really successful acts were recording there. To be around those types of artists put things into perspective real quick.
Did you have any memorable studio run-ins? We had a friendly rivalry with KISS. Frankly, it was just nice to meet other artists and say hello. I was born and raised on Long Island and not living in the city, so going to Manhattan to record became a nice social thing.
What moment in the recording studio do you wish cameras were actually there and rolling to capture? We always enjoyed working in the studio, but it was fairly purposeful, businesslike, and pleasurable when you knew you recorded something that sounded great on the playback. For “(Don’t Fear) The Reaper,” the iconic guitar riff just came out of my fingers at a time when the tape recorder was in front of me. I guess that could’ve been my Paul McCartney in “Let It Be”moment. I was able to capture it and realize it was the start of something. The first two lines of the lyrics just sort of sprang into my head. From that, I had the idea to write a song about a love story that survives the death of one of the lovers. So that was the crux of it all.
What do you recall about the conversations revolving around the cowbell inclusion for “(Don’t Fear) the Reaper”? Did you always understand the instrument’s vision? In reality, the cowbell was an afterthought on the part of David Lucas, who was one of the producers of that record. He thought that the groove in the verses could use a stead-four on the floor accent, because the drum part didn’t sound quite like that. Also, it wasn’t unusual to put a cowbell on a song. It wasn’t an idea that was unique or unheard of. I’ve never met Will Ferrell, but I would love to ask him how he conceived the idea of the cowbell, because the cowbell has become such an iconic cultural touchstone.
The sketch aired in the early hours of Sunday morning. How soon after did you take notice of it? When the sketch aired, I wasn’t watching television, but my wife got a call from her mother who was still up that late and watching it. She said, “Oh my God, Donald is on television.” So we were a bit confused and turned SNL on and, of course, it wasn’t me. It was SNL lampooning the song and doing a sketch about it. I saw about the last 25 seconds of it. It wasn’t long after that I was able to get a VHS tape of the whole episode.
When you finally watched the full sketch from that VHS tape, what was your gut instinct about how you felt about it? My first feeling was relief — relief that it was funny and relief that it wasn’t too cruel on the band. SNL had done some rather cruel things about Neil Diamond and other artists over the years, so I was happy it was actually hilarious. While it poked fun at Blue Öyster Cult, it wasn’t mean-spirited at all.
There’s a lot of breaking in the sketch — Jimmy Fallon, as always, is a big offender despite having two lines. Do you feel this enhances the hilarity of “More Cowbell,” or do you wish everyone kept straight faces? Christopher Walken is so amazing in the sketch that I don’t see how I could have not laughed if I had been there. When the cast breaks, I think it makes it funnier. I don’t think anyone could have done it as well as Christopher Walken. He’s been on SNL a lot of times, and every time he’s on, he’s funny because he’s got that unique delivery and a real comedic sense.
Did any of your peers in the music industry express jealousy that this gave Blue Öyster Cult a resurgence of interest? I never know if there’s a competitive aspect to this sort of thing. Not to my knowledge. Nobody has said anything to my face. I don’t know if you’d wish it on anybody, but certainly we’ve had to live with the cowbell whether we liked it or not. It just overtook the band in a lot of respects in the same way when people come up to Christopher Walken, who’s had such a storied career, and all they say to him is, “I need more cowbell.” I’m sympathetic to that. I have never contested the basic hilarity of the sketch.
Are your fellow band members as accepting as you are about this? Sometimes you just get carried along by the culture. You don’t really control it. We’re all riding the worm like in Dune. The worm knows where it’s going.
Did your relationship with the song change in the aftermath of this sketch at all? The first change was we began playing the cowbell in “(Don’t Fear) The Reaper” live. For 20-odd years, we didn’t use a live cowbell for our shows and never considered it. We had to play the cowbell because there was just no getting away from it. I’m grateful that as significant as the sketch is — because after 25 years, it still is — it didn’t kill the song, its original intent, or its original mood. It’s still used as a cue in horror movies when you want that mysterious and metaphysically uneasy vibe. So I’m glad the sketch didn’t kill the song and didn’t make it one big joke.
Will Ferrell has said, quite seriously, that Christopher Walken told him he ruined his life with “More Cowbell” because he’s been constantly inundated with quips from people about it. As someone else who’s been affected by this piece of SNL history, what advice would you give him? It’s funny to think about. I feel bonded to Will and Christopher in a way, because we’re all at the mercy of the cowbell sketch in different ways. I feel a little bit of kinship and sympathy with them. Will’s character, Gene Frenkle, was made up. We dedicate the song to him sometimes. But I would tell Christopher: It’s all bearable, I suppose. Blue Öyster Cult got through it and we persevered. When we play “Reaper,” people still mimic playing the cowbell, and we had to ban people from bringing actual cowbells to the concerts. But, again, it’s a tiny cross to bear.
Did you ever favor shirts as tight-fitting as Will’s fictional cowbell player? Maybe. The costumes in the skit were patterned after a photo of a greatest-hits compilation record we had. Bruce Dickinson, who’s the producer in the sketch, was actually a Sony legacy staff producer who assembled that greatest-hits record. He wasn’t actually the producer of Agents of Fortune, but all the outfits were copied from that photo. So you could see the photo and judge how tight.
Judging how tight!
This is tangentially related to our discussion, but I was keen to bring it up anyway: I was reporting from Cleveland for this year’s Rock Hall induction and talked with some Blue Öyster Cult fans who lamented how the band hasn’t yet been nominated. How do you view the organization? Is this an achievement you’d like to be a recipient of ? I certainly wouldn’t mind being inducted, but I’m not holding my breath. I assume that Blue Öyster Cult is just not meeting whatever criteria is necessary to get in. Maybe there’s not room for everybody else. I know they’re down to putting people in posthumously now, so it’d be nice not to be dead before they do it or not.
In hindsight, do you think the song could’ve indeed used a little more cowbell? I think the cowbell was just as loud as it should be.
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,"17":17,"35":35,"40":40}];
window.modules["global-nav.client"] = [function(require,module,exports){"use strict";const dom=require(4),auth=require(17),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 i=t.querySelector(".dropdown");!n||t.contains(e.target)&&27!==e.keyCode||i.classList.remove("open")})}function gtmSendReport(e,n,t){let i={eventCategory:"ecommerce",eventAction:"componentClick",brand:e,dimension23:"global-nav",list:pageUri,pageZone:"header",variant:"nav-link"};"global-nav-link"===t&&(i.eventLabel=n.href),gtm.reportNow(i)}function updateElementTargetUrlsIfQueryStrings(e){if(searchString){const n=new URLSearchParams(searchString);let t=e.href;if(t.includes("?")){const i=t.split("?"),o=new URLSearchParams(i[1]);for(let e of n.entries())o.set(e[0],e[1]);t=`${i[0]}?${o.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()||auth.isMobileAppRequest())&&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,"17":17,"124":124,"135":135}];
window.modules["aaa-module-mounting.legacy"] = [function(require,module,exports){"use strict";const _pickBy=require(221),_each=require(408),Fingerprint2=require(407),DS=require(406),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(408),_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,"408":408,"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();
// ]]