Gossip & News

Bill and Melinda Gates’ Love Story Revisited: A Timeline


master mentalism tricks

[]

Bill Gates and Melinda Gates announced their plans to divorce in May 2021, which came as a shock to many after they shared 27 years of marriage.

“After a great deal of thought and a lot of work on our relationship, we have made the decision to end our marriage,” they shared in a statement on May 3. “Over the last 27 years, we have raised three incredible children and built a foundation that works all over the world to enable all people to lead healthy, productive lives. We continue to share a believer in that mission and will continue our work together at the foundation, but we no longer believe we can grow together as a couple in this next phase of our lives.”

The couple met in 1987 when Melinda started working at Microsoft, the company Bill founded. 

“She had other boyfriends, and I had Microsoft,” Bill said in the 2019 Netflix miniseries Inside Bill’s Brain. “We were like, ‘Hey we are not really serious about each other, are we? We are not going to demand each other’s time.’”

{ let bidders = [‘a9’, ‘ix’, ‘iris’]; // create a requestManager to keep track of bidder state to determine when to send ad server // request and what amazonSlots to request from the ad server var requestManager = { adserverRequestSent: false, }; //loop through bidder array and add the bidders to the request manager: bidders.forEach( function( bidder ) { requestManager[bidder] = false; } ); // return true if all bidders have returned function allBiddersBack() { var allBiddersBack = bidders // get the booleans from the object .map( function( bidder ) { return requestManager[bidder]; } ) // get rid of false values – indicates that the bidder has responded .filter( Boolean ) // if length is equal to bidders, all bidders are back .length === bidders.length; return allBiddersBack; } // handler for header bidder responses function headerBidderBack( bidder ) { // return early if request to adserver is already sent if ( requestManager.adserverRequestSent === true ) { return; } // flip bidder back flag if ( bidder === ‘a9’ ) { requestManager.a9 = true; console.log(‘second promise a9 ready’); } else if ( bidder === ‘ix’ ) { requestManager.ix = true; console.log(‘second promise ix ready’); } else if ( bidder === ‘iris’ ) { requestManager.iris = true; console.log(‘second promise iris ready’); } // if all bidders are back, send the request to the ad server if ( allBiddersBack() ) { resolve( url ); } } if ( typeof apstag == ‘object’ && apstag ) { apstag.fetchBids({ slots: [{ slotID: window.prerollTag[vHash], mediaType: ‘video’ }] }, function( bids ) { console.log( “AMI jwp amazon bid callback”, new Date().getTime(), bids ); window.jwpBids[vHash].amazon = true; if ( bids.length > 0 ) { //If we have received any bids back try { console.log(“AMI jwp amazon bid request ad”, bids[0].encodedQsParams); url = url + ‘&scp=’ + bids[0].encodedQsParams; } catch ( e ) { console.log(e); } } else { console.log(“AMI jwp amazon no bids”); } headerBidderBack(‘a9’); }); } else { headerBidderBack(‘a9’); } headertag.cmd.push( function() { headertag.retrieveVideoDemand( [{‘htSlotName’: ‘preroll’}], function( demand ) { console.log( “AMI jwp IX callback”, demand ); if ( ‘undefined’ !== typeof demand.preroll && demand.preroll.length ){ window.jwpBids[vHash].ixBids = demand.preroll[0].targeting.price; console.log( ‘AMI jwp IX Bids’, new Date().getTime(), demand.preroll[0].targeting ); var vastURL = new URL( url ); var vastParams = new URLSearchParams( vastURL.search ); if ( vastParams.has( ‘cust_params’ ) ) { var custParams = new URLSearchParams( vastParams.get( ‘cust_params’ ) ); } else { var custParams = new URLSearchParams(); } var keys = Object.keys( demand.preroll[0].targeting.price ); for ( var key of keys ) { custParams.set( key, demand.preroll[0].targeting.price[key][0]); } vastParams.set( ‘cust_params’, custParams.toString() ); vastURL.search = vastParams.toString(); url = vastURL.toString(); } headerBidderBack(‘ix’); } ); } ); // Get main item context data window.irisContext.getContext(jwplayer(el).getPlaylistItem().mediaid).then(function(data) { // Encode the context data console.log( ‘AMI jwp IrisTV Bids’, new Date().getTime(), data.context ); // Replace the server url with the context data (this is for simple ad requests), // If you have the serverUrl dynamically configured, then you will need to append the context data // under cust_params, so this is just for testing purpose if ( data.context && Object.keys( data.context ).length ) { var vastURL = new URL( url ); var vastParams = new URLSearchParams( vastURL.search ); if ( vastParams.has( ‘cust_params’ ) ) { var custParams = new URLSearchParams( vastParams.get( ‘cust_params’ ) ); } else { var custParams = new URLSearchParams(); } custParams.set( ‘iris_context’, data.context.join(‘,’)); vastParams.set( ‘cust_params’, decodeURIComponent( custParams.toString() ) ); vastURL.search = vastParams.toString(); url = vastURL.toString(); } headerBidderBack(‘iris’); }); setTimeout(function(){ resolve( url ); }, 10000); }); } var player_jwplayer_yUHkrrYE_zhNYySv2_div = jwplayer(el).setup(videoParams).on(“ready”, function(){ var el = decodeURIComponent( “jwplayer_yUHkrrYE_zhNYySv2_div” ); var playerInstance = jwplayer(el); ns_.StreamingAnalytics.JWPlayer( playerInstance, { publisherId: “6036076”, labelmapping: “ns_st_pu=”AMI”, c3=”Us Weekly”, ns_st_ge=”” + decodeURIComponent( “%2Anull” ) + “”, ns_st_ia=”” + decodeURIComponent( “%2Anull” ) + “”, ns_st_ce=”” + decodeURIComponent( “1” ) + “”, ns_st_ddt=”” + decodeURIComponent( “%2Anull” ) + “”, ns_st_tdt=”” + decodeURIComponent( “%2Anull” ) + “””, }); }).on(‘adsManager’, (e) => { var vHash = ‘ami’ + decodeURIComponent( ‘yUHkrrYE’ ); const { adsManager, videoElement } = e; const iasConfig = { anId: ‘928572’, campId: `${jwplayer().getWidth()}x${jwplayer().getHeight()}`, // This is dynamic based on player dimensions, but can be hard coded chanId: window.prerollTag[vHash], placementId: ‘Open Auction’, pubOrder: ‘Video’, pubId: ‘Direct’ }; if (googleImaVansAdapter) { googleImaVansAdapter.init(window.google, adsManager, videoElement, iasConfig); } }).on( ‘time’, function( e ) { var id = this.id; var pct = Math.round( e.position ); if ( ! window.amiPlayersData ) { window.amiPlayersData = {}; } if ( ! window.amiPlayersData[id] ) { window.amiPlayersData[id] = { m3: false, m10: false }; } if ( window.amiPlayersData[id][‘m3’] === false && pct >= 3 ) { window.amiPlayersData[id][‘m3’] = true; console.log( ‘3sec played: ‘, id ); window.dataLayer = window.dataLayer || []; dataLayer.push( {event: ‘JWPlayEvent’, jwTime: ‘3s played’} ); } if ( window.amiPlayersData[id][‘m10’] === false && pct >= 10 ) { window.amiPlayersData[id][‘m10’] = true; console.log( ’10sec played: ‘, id ); window.dataLayer = window.dataLayer || []; dataLayer.push( {event: ‘JWPlayEvent’, jwTime: ’10s played’} ); } }).on( ‘complete’, function( e ) { if ( window.amiPlayersData && window.amiPlayersData[ this.id ] ) { window.amiPlayersData[ this.id ][‘m3’] = false; window.amiPlayersData[ this.id ][‘m10’] = false; console.log( ‘clear played: ‘, this.id ); } }).once(“play”, function(){ var el = decodeURIComponent( “jwplayer_yUHkrrYE_zhNYySv2_div” ); var playerInstance = jwplayer(el); loadIrisPlugin(playerInstance, playerInstance.getConfig().plugins[“https://ovp.iris.tv/plugins/jwplayer/v2/iris-jwplayer8.adaptive.min.js”]) }).on(‘play’, (e) => { var el = decodeURIComponent( “jwplayer_yUHkrrYE_zhNYySv2_div” ); var vHash = “ami” + decodeURIComponent( “yUHkrrYE” ); var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex()); // skip if the video was paused and trying to resume if (jwplayer(el).getState() !== ‘idle’ && jwplayer(el).getState() !== ‘complete’) { return; } window.permutive.track(“VideoPlay”, { play_id: el, //this will stay constant for all of the events emitted during the same video play video: { duration: Math.round(jwInfo.duration), // in seconds name: jwInfo.title, video_id: decodeURIComponent( “yUHkrrYE” ), description: jwInfo.description, published_at: new Date(jwInfo.pubdate).toISOString() }, enriched_data:{ tvchannel: decodeURIComponent( “Us%20Weekly” ), //tv channel name language:”English”, //language of the content type: “video”, keywords: jwInfo.tags.split(“,”), //keywords for the page } }); console.log(“Permutive video play”); }).on(‘complete’, (e) => { var el = decodeURIComponent( “jwplayer_yUHkrrYE_zhNYySv2_div” ); var vHash = “ami” + decodeURIComponent( “yUHkrrYE” ); var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex()); // skip if the video was paused and trying to resume if (jwplayer(el).getState() !== ‘idle’ && jwplayer(el).getState() !== ‘complete’) { return; } window.permutive.track(“VideoComplete”, { play_id: el, //this will stay constant for all of the events emitted during the same video play video: { duration: Math.round(jwInfo.duration), // in seconds name: jwInfo.title, video_id: decodeURIComponent( “yUHkrrYE” ), description: jwInfo.description, published_at: new Date(jwInfo.pubdate).toISOString() }, enriched_data:{ tvchannel: decodeURIComponent( “Us%20Weekly” ), //tv channel name language: “English”, //language of the content type: “video”, keywords: jwInfo.tags.split(“,”), //keywords for the page } }); console.log(“Permutive video event:”, e); window.lock_25 = false; window.lock_50 = false; window.lock_75 = false; window.lock_100 = false; }).on(‘time’, (e) => { var el = decodeURIComponent( “jwplayer_yUHkrrYE_zhNYySv2_div” ); var vHash = “ami” + decodeURIComponent( “yUHkrrYE” ); var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex()); var progress = (e.currentTime/e.duration).toFixed(2); if ( (0.25 === progress && false === window.lock_25) || (0.5 === progress && false === window.lock_50) || (0.75 === progress && false === window.lock_75) || (100 === progress && false === window.lock_100) ) { window.permutive.track(“VideoProgress”, { play_id: el, //this will stay constant for all of the events emitted during the same video play progress: Number(progress), video: { duration: Math.round(jwInfo.duration), // in seconds name: jwInfo.title, video_id: decodeURIComponent( “yUHkrrYE” ), description: jwInfo.description, published_at: new Date(jwInfo.pubdate).toISOString() }, enriched_data:{ tvchannel: decodeURIComponent( “Us%20Weekly” ), //tv channel name language: “English”, //language of the content type: “video”, keywords: jwInfo.tags.split(“,”), //keywords for the page } }); if ( 0.25 === progress ) { window.lock_25 = true; } if ( 0.5 === progress ) { window.lock_50 = true; } if ( 0.75 === progress ) { window.lock_75 = true; } if ( 1 === progress ) { window.lock_100 = true; } console.log(“Permutive video play progress ” + progress); } }).on(‘mute’, (e) => { var el = decodeURIComponent( “jwplayer_yUHkrrYE_zhNYySv2_div” ); var vHash = “ami” + decodeURIComponent( “yUHkrrYE” ); var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex()); window.permutive.track(“VideoEvent”, { play_id: el, //this will stay constant for all of the events emitted during the same video play event: (e.mute) ? “sound off” : “sound on”, video: { duration: Math.round(jwInfo.duration), // in seconds name: jwInfo.title, video_id: decodeURIComponent( “yUHkrrYE” ), description: jwInfo.description, published_at: new Date(jwInfo.pubdate).toISOString() } }); console.log(“Permutive video event:”, e); }).on(‘fullscreen’, (e) => { var el = decodeURIComponent( “jwplayer_yUHkrrYE_zhNYySv2_div” ); var vHash = “ami” + decodeURIComponent( “yUHkrrYE” ); var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex()); window.permutive.track(“VideoEvent”, { play_id: el, //this will stay constant for all of the events emitted during the same video play event: (e.fullscreen) ? “fullscreen on” : “fullscreen off”, video: { duration: Math.round(jwInfo.duration), // in seconds name: jwInfo.title, video_id: decodeURIComponent( “yUHkrrYE” ), description: jwInfo.description, published_at: new Date(jwInfo.pubdate).toISOString() } }); console.log(“Permutive video event:”, e); }).on(‘ready’, (e) => { var el = decodeURIComponent( “jwplayer_yUHkrrYE_zhNYySv2_div” ); var vHash = “ami” + decodeURIComponent( “yUHkrrYE” ); var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex()); console.log(jwInfo); window.lock_25 = false; window.lock_50 = false; window.lock_75 = false; window.lock_100 = false; window.permutive.track(“VideoLoad”, { play_id: el, //this will stay constant for all of the events emitted during the same video play video: { duration: Math.round(jwInfo.duration), // in seconds name: jwInfo.title, video_id: decodeURIComponent( “yUHkrrYE” ), description: jwInfo.description, published_at: new Date(jwInfo.pubdate).toISOString() }, enriched_data:{ tvchannel: decodeURIComponent( “Us%20Weekly” ), //tv channel name language: “English”, //language of the content type: “video”, keywords: jwInfo.tags.split(“,”), //keywords for the page } }); console.log(“Permutive video load event”); }).on(‘adPlay’, (e) => { var el = decodeURIComponent( “jwplayer_yUHkrrYE_zhNYySv2_div” ); var vHash = “ami” + decodeURIComponent( “yUHkrrYE” ); window.adInfo = e; var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex()); window.adlock_25 = false; window.adlock_50 = false; window.adlock_75 = false; window.adlock_100 = false; window.permutive.track(“VideoAdPlay”, { play_id: el, //this will stay constant for all of the events emitted during the same video play ad: { duration: Math.round(window.adInfo.duration), creative_name: window.adInfo.adtitle, ad_id: window.adInfo.adId, title: window.adInfo.adtitle, video_type: “instream” //outstream }, video: { duration: Math.round(jwInfo.duration), // in seconds name: jwInfo.title, video_id: decodeURIComponent( “yUHkrrYE” ), description: jwInfo.description, published_at: new Date(jwInfo.pubdate).toISOString() }, enriched_data:{ tvchannel: decodeURIComponent( “Us%20Weekly” ), //tv channel name language: “English”, //language of the content type: “video”, keywords: jwInfo.tags.split(“,”), //keywords for the page } }); console.log(“Permutive video ad play”); }).on(‘adClick’, (e) => { var el = decodeURIComponent( “jwplayer_yUHkrrYE_zhNYySv2_div” ); var vHash = “ami” + decodeURIComponent( “yUHkrrYE” ); var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex()); window.permutive.track(“VideoAdClick”, { play_id: el, //this will stay constant for all of the events emitted during the same video play ad: { duration: Math.round(window.adInfo.duration), creative_name: window.adInfo.adtitle, ad_id: window.adInfo.adId, title: window.adInfo.adtitle, video_type: “instream” //outstream }, video: { duration: Math.round(jwInfo.duration), // in seconds name: jwInfo.title, video_id: decodeURIComponent( “yUHkrrYE” ), description: jwInfo.description, published_at: new Date(jwInfo.pubdate).toISOString() }, enriched_data:{ tvchannel: decodeURIComponent( “Us%20Weekly” ), //tv channel name language: “English”, //language of the content type: “video”, keywords: jwInfo.tags.split(“,”), //keywords for the page } }); console.log(“Permutive video ad click”); }).on(‘adTime’, (e) => { var el = decodeURIComponent( “jwplayer_yUHkrrYE_zhNYySv2_div” ); var vHash = “ami” + decodeURIComponent( “yUHkrrYE” ); var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex()); var progress = (e.position/e.duration).toFixed(2); if ( (0.25 >= progress && false === window.adlock_25) || (0.5 >= progress && false === window.adlock_50) || (0.75 >= progress && false === window.adlock_75) || (0.95 >= progress && false === window.adlock_100) ) { window.permutive.track(“VideoAdProgress”, { play_id: el, //this will stay constant for all of the events emitted during the same video play progress: Number(progress), ad: { duration: Math.round(window.adInfo.duration), creative_name: window.adInfo.adtitle, ad_id: window.adInfo.adId, title: window.adInfo.adtitle, video_type: “instream” //outstream }, video: { duration: Math.round(jwInfo.duration), // in seconds name: jwInfo.title, video_id: decodeURIComponent( “yUHkrrYE” ), description: jwInfo.description, published_at: new Date(jwInfo.pubdate).toISOString() }, enriched_data:{ tvchannel: decodeURIComponent( “Us%20Weekly” ), //tv channel name language: “English”, //language of the content type: “video”, keywords: jwInfo.tags.split(“,”), //keywords for the page } }); if ( 0.25 >= progress ) { window.adlock_25 = true; } if ( 0.5 >= progress ) { window.adlock_50 = true; } if ( 0.75 >= progress ) { window.adlock_75 = true; } if ( 0.95 >= progress ) { window.adlock_100 = true; } console.log(“Permutive video ad progress ” + progress); } }).setPlaylistItemCallback(function(item, index) { return waitForAmazon // Wait until Amazon is loaded. .then(() => performAsyncBidding( player_jwplayer_yUHkrrYE_zhNYySv2_div, item, index ), () => { console.log(“AMI JWP bidding FAILER”); }) // External bidding. .then(tag => { // Update the playlist item. console.log(“AMI jwp new headerbid”, tag); return Object.assign({}, item, { adschedule: [{ tag, offset: “pre” }] }); }).catch(function(e){ console.log(“AMI jwp bidding failed”, e); return item; }); // If bidding fails, use unmodified playlist item. });; clearInterval(checkJWReady); } }, 500); })(); ]]>

Eventually, after the romance got serious, Bill made a pro/con list for whether he should propose (really), and they decided to embark on a life together. Bill and Melinda married in 1994 at a Hawaiian destination wedding.

The two welcomed their first child, daughter Jennifer in 1996. Son Rory arrived in 1999 and daughter Phoebe followed in 2002.

Though the mother of three eventually stepped back from her job at Microsoft after nine years, she continued working with her husband. They launched the earliest version of the Bill and Melinda Gates Foundation in 1994, and the philanthropic organization — which focuses on global health, education, access to digital information via public libraries, and support for at-risk families — is still thriving.  

“Working together as well as raising a family together, there’s a certain intensity to that. But we’re very lucky because we mostly see things the same way, the goals are very much the same,” Bill said in a 2019 Facebook Live. 

The Texas native praised the Microsoft founder for sharing the workload with her, whether that meant dropping kids off at school or doing dishes. 

“I think people have a certain view of Bill, because he was a high-charging CEO running Microsoft,” the author told USA Today while promoting her book, The Moment of Lift: How Empowering Women Changes the World in 2019. “I think people must think, ‘Oh well, Melinda must not really have equality with Bill.’ Actually, I have total equality with Bill. But it took a while for us to get there.”

Daughter Jennifer, a second-year medical student at Stanford, acknowledged her parents’ split in a statement on Instagram. 

“It’s been a challenging stretch of time for our whole family,” she wrote in an Instagram Story at the time. “I’m still learning how to best support my own process and emotions as well as family members at this time, and am grateful for the space to do so. I won’t personally comment further on anything around the separation, but please know that your kind words and support mean the world to me.” 

Scroll through for a full timeline of Bill and Melinda’s romance:

Read The Full Article Here


trick photography
Miley Cyrus Shaves Fans Head Following Her Stage 3 Cancer Diagnosis in Touching Moment
Miley Cyrus Shaves Fans Head Following Her Stage 3 Cancer Diagnosis in Touching Moment
The Offsprings Kevin Noodles Wasserman Steps Back From Shows Amid Serious Health Issue
The Offsprings Kevin Noodles Wasserman Steps Back From Shows Amid Serious Health Issue
Roseanne Barr Responds to Chuck Lorres Claims About Miscredited Scripts, Sides With Ex Tom Arnold
Roseanne Barr Responds to Chuck Lorres Claims About Miscredited Scripts, Sides With Ex Tom Arnold
101 Of The Nicest Celebs People Have Ever Met, Including A Few Im Actually Shocked About
101 Of The Nicest Celebs People Have Ever Met, Including A Few Im Actually Shocked About
Lee Chang-dong: Am I worthy of telling their story?
Lee Chang-dong: Am I worthy of telling their story?
Josh Brolin Fans Have a New Reason to See Whalefall in Theaters Again
Josh Brolin Fans Have a New Reason to See Whalefall in Theaters Again
The Wall Between Us: Possession at 45
The Wall Between Us: Possession at 45
Princess Diaries & Toy Storys Sid Actor Sued for Alleged Elder Abuse & More
Princess Diaries & Toy Storys Sid Actor Sued for Alleged Elder Abuse & More
9-1-1s Oliver Stark Talks Lava Rescue, Athena Trapped & More
9-1-1s Oliver Stark Talks Lava Rescue, Athena Trapped & More
Quote Of The Day By Harrison Ford: I Can Tell You This: If Id Been Less Successful, Id… – TVLine
Quote Of The Day By Harrison Ford: I Can Tell You This: If Id Been Less Successful, Id… – TVLine
DWTS: Julia Stiles Got Michelle Williams Approval for Emotional Heath Ledger Tribute
DWTS: Julia Stiles Got Michelle Williams Approval for Emotional Heath Ledger Tribute
Glee Revival Gets Series Order At Disney+ And Hulu — Which Original Stars Could Return? – TVLine
Glee Revival Gets Series Order At Disney+ And Hulu — Which Original Stars Could Return? – TVLine
Panchiko Announce New Album Chimera, Share New Single
Panchiko Announce New Album Chimera, Share New Single
Westside Gunn Announces New Album Heelmatic
Westside Gunn Announces New Album Heelmatic
The Great And Unmatched: John Anderson Remembered by Blake Shelton, Tim McGraw & More
The Great And Unmatched: John Anderson Remembered by Blake Shelton, Tim McGraw & More
Iron Maiden Legend Nicko McBrain Turned Down Trump Golf Invite: [He] Should Be Put in Jail
Iron Maiden Legend Nicko McBrain Turned Down Trump Golf Invite: [He] Should Be Put in Jail
Interview with Rebecca Zanetti, Author of Shadow of Fall – NewInBooks
Interview with Rebecca Zanetti, Author of Shadow of Fall – NewInBooks
Interview with Rebecca Arden, Author of A Visitors Guide to Guarded Vampires – NewInBooks
Interview with Rebecca Arden, Author of A Visitors Guide to Guarded Vampires – NewInBooks
New Mystery and Thriller Books to Read | October 20 – NewInBooks
New Mystery and Thriller Books to Read | October 20 – NewInBooks
New Romance Books to Read | October 20 – NewInBooks
New Romance Books to Read | October 20 – NewInBooks
I Just Found Every Fall 2026 Trend at Nordstrom
I Just Found Every Fall 2026 Trend at Nordstrom
Looking Like an Autumn It Girl Is Easy—Just Wear This Jacket Trend
Looking Like an Autumn It Girl Is Easy—Just Wear This Jacket Trend
I Confirm This Under-Eye Concealer Is By Far the Best for Dark Circles
I Confirm This Under-Eye Concealer Is By Far the Best for Dark Circles
Wondering How to Make Leggings Look Chic This Autumn? Wear Them Like This
Wondering How to Make Leggings Look Chic This Autumn? Wear Them Like This
The Night Driver Lands at Cineverse After Screamfest
The Night Driver Lands at Cineverse After Screamfest
5 Horror Movies to Stream This Weekend (October 23–25)
5 Horror Movies to Stream This Weekend (October 23–25)
Slayground Trailer: Jeremy Saulnier Turns a Haunted Attraction Into a Real Crime Scene
Slayground Trailer: Jeremy Saulnier Turns a Haunted Attraction Into a Real Crime Scene
Clive Barkers Hellraiser Ideas Are Waiting in the Wings
Clive Barkers Hellraiser Ideas Are Waiting in the Wings