91³Ô¹ÏÍø

Watch CBS News

Man charged with killing 2 men whose bodies were found behind Massachusetts Walmart

A Massachusetts man is being held without bail after he was charged with the killing of two men whose bodies were found in the woods behind a Salem Walmart Wednesday afternoon.

It's a gruesome murder allegedly involving 30-year-old Jay Blodget, a man experiencing homelessness, who was given a court appointed attorney at his arraignment Thursday.

Bodies in woods behind Walmart

One body was first found by a person walking a dog in the area and Salem Police were called in.

"We eventually found two individuals with apparent blunt force trauma and stab wounds that were deceased. They were hidden in the woods by various items and dirt," said prosecutor James Gubitose. He claimed Blodget implicated himself in an interview with police, but few other details were provided in court about the crime near a popular shopping spot.

"Can I reassure the public? We made an arrest in this case," said Salem Police Chief Lucas Miller.

After speaking with Blodget, defense attorney Michael Phelan said, "He was cordial, he was polite, asked intelligent questions."

Prosecutors have not provided a motive and have not yet identified the two victims.

Accused of breaking and entering last week

Blodget has been seen by neighbors in the woods in the area for sometime. In fact, he was arrested then released just last week for allegedly breaking into a private storage locker in woods across the street from Walmart, tossing the contents and laying down a mattress to sleep. The storage unit's owner, Tonie Singh, told WBZ-TV he was shocked to encounter Blodget when he went to the unit to retrieve some items.

"He was very polite, he came out on his own and he was very apologetic. He was just like, 'I'm sorry, I'm sorry, I'm sorry,'" said Singh. He said Blodget offered him $2,000, apparently from panhandling, to make good.

Before then, Blodget had been seen living in a nearby encampment and now Singh is stunned he was face to face with an alleged murderer.

"We are so shocked, my kids are so shocked, I thought he was under arrest for breaking and entering, I didn't know that he was out," said Singh.

Blodget is due back in court for a probable cause hearing on May 28.  

View CBS News In
CBS News App Open
Chrome Safari Continue
const link = doc.createElement('link'); link.rel = 'stylesheet'; link.href = '/fly/fly/bundles/cbsnewscontent/css/cmp-banner.min.css?v=50747257b890e014813016b79ece0fb2'; doc.head.appendChild(link); doc.body.innerHTML = CONSENT_MESSAGE; } else { el.insertAdjacentHTML('afterend', CONSENT_MESSAGE); } }); } function hidePrivacyMessage() { // Remove from the main document document.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); // Remove from inside any iframes document.querySelectorAll('iframe').forEach(iframe => { const doc = iframe.contentDocument || iframe.contentWindow.document; doc.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); }); } function activateGatedScripts() { // Handle both new format (cmp-gated-script) and old OneTrust/Ketch format (optanon-category-4) const gatedScripts = Array.from(document.querySelectorAll('script.cmp-gated-script, script.optanon-category-4')); // Activate scripts sequentially with a small delay to avoid timing issues let delay = 0; gatedScripts.forEach(function(placeholder, index) { setTimeout(function() { // Skip if already processed if (placeholder.hasAttribute('data-cmp-processed')) { return; } placeholder.setAttribute('data-cmp-processed', 'true'); const newScript = document.createElement('script'); newScript.type = 'text/javascript'; // Try new format first (data-cmp-src), then fall back to old format (data-src) const src = placeholder.getAttribute('data-cmp-src') || placeholder.getAttribute('data-src'); if (src) { newScript.src = src; } else if (placeholder.textContent) { // Inline script - just copy the content newScript.textContent = placeholder.textContent; } // Handle new format attributes (data-cmp-attrs) - for both inline and external scripts const attrs = placeholder.getAttribute('data-cmp-attrs'); if (attrs) { const tempDiv = document.createElement('div'); tempDiv.innerHTML = '
<\/div>'; const tempAttrs = tempDiv.firstChild.attributes; for (let i = 0; i < tempAttrs.length; i++) { // For external scripts, allow defer/async. For inline scripts, skip them (not valid) if (src || (tempAttrs[i].name !== 'async' && tempAttrs[i].name !== 'defer')) { newScript.setAttribute(tempAttrs[i].name, tempAttrs[i].value); } } } // Copy other attributes from old OneTrust format for (let i = 0; i < placeholder.attributes.length; i++) { const attr = placeholder.attributes[i]; // Skip attributes we've already handled or don't want to copy if (!['class', 'data-src', 'data-type', 'data-cmp-src', 'data-cmp-attrs', 'data-cmp-processed', 'type', 'async', 'defer', 'src'].includes(attr.name)) { newScript.setAttribute(attr.name, attr.value); } } placeholder.parentNode.replaceChild(newScript, placeholder); // If external script, manually trigger window.onload handlers after it loads // This handles widgets that use window.onload for initialization if (src) { newScript.addEventListener('load', function() { // If page already loaded and script set a new onload handler, trigger it if (document.readyState === 'complete' && window.onload) { const originalOnload = window.onload; window.onload = null; // Clear temporarily to prevent loops originalOnload(); // Execute the handler } }); } }, delay); delay += 500; // 500ms delay between each script to allow full loading }); } cbsoptanon.onScriptsReady(function(cmp) { cmp.ot.targetingAllowed(function(allowed) { if (!allowed) { showPrivacyMessage(); } else { activateGatedScripts(); } }); cmp.ot.awaitInitialConsent(function(consent_model) { cmp.ot.addOnConsentChangedHandler(function() { cmp.ot.targetingAllowed(function(allowed) { if (allowed) { hidePrivacyMessage(); activateGatedScripts(); } else { showPrivacyMessage(); } }); }); }); });