["News that the Glazer family are considering a sale of Manchester United comes as a relief for millions of fans of the club angered by the decline of the Red Devils under the Americans tenure.","In a statement on Tuesday, United said: \"The Board will consider all strategic alternatives, including new investment into the club, a sale, or other transactions involving the company.\"","The Glazers have been unpopular with the fanbase at Old Trafford since the day Malcolm Glazer took charge of the club in 2005 with a \u00a3790 million ($934 million) takeover that leveraged huge debts upon the club.","Early in the Glazers' reign as a sign of protest, United fans wore the green and gold colours of Newton Heath, the club formed in 1878, that eventually became Manchester United 24 years later.","But as the Glazers largely remained Stateside and out of the spotlight, they rode out the waves of protest.","Initially, success on the field under the management of Alex Ferguson helped.","The Scot won five of his 13 Premier League titles in the Glazer era and added the club's third European Cup in 2008.","Ferguson even guided the club through the most financially challenging times with United's spending power limited by high interest debt repayments and regular dividends to the Glazers.","But since Ferguson's retirement in 2013, fortunes on the field have collapsed.","United have not won the Premier League in nine years and for the fourth time in 10 seasons have failed to even qualify for the Champions League.","That is despite assembling reportedly the most expensive squad ever in transfer fees and paying the highest wages in the Premier League.","- Ronaldo a symbol of waste -","Criticism of the Glazers' lack of investment in the early years has turned to questions over whether the club is competently run.","Just hours before news broke of a potential sale, Cristiano Ronaldo's acrimonious exit served as a symbol for the waste of the Glazer regime.","The highest paid player in the Premier League had been a peripheral figure under Erik ten Hag this season after United paid Juventus \u00a320 million for a then 36-year-old just over a year ago.","The Glazers were one of Ronaldo's many targets in an explosive television interview last week in which he claimed the owners \"don't care about the club\" or \"professional sport.\"","It was the attempt to fundamentally change the way European football is run that reawakened the antipathy towards the Glazers from United fans in April 2021.","The launch of the European Super League (ESL) quickly collapsed amid a backlash from supporters, governing bodies and even leading politicians.","United were among a group of 12 clubs that sought to breakaway in a bid to further maximise their revenues, while controlling costs.","Moreover, the closed league format much more closely reflected the US-style sports system the Glazers are used to as owners of 2021 NFL Superbowl champions the Tampa Bay Buccaneers.","The protest movement reached a crescendo when a match between United and Liverpool had to be abandoned in May 2021 after supporters stormed the Old Trafford pitch at a time when they were shut out of stadiums due to coronavirus restrictions.","But demonstrations have remained a common feature on matchdays ever since.","Rather than feeling the pulse of a fanbase they have long ignored, a change to the economic climate is most likely behind the Glazers' decision to sell either a stake or control of the club.","United's statement recognised the need for investment in \"stadium and infrastructure redevelopment\" as Old Trafford has aged in comparison to the world's best stadia.","Liverpool's American owners, Fenway Sports Group, also recently revealed their interest in selling up.","The record sale for a football club of Chelsea for \u00a32.5 billion ($3 billion) plus a further promised investment of \u00a31.75 billion by Todd Boehly's consortium showed the value of owning one of Europe's top clubs.","United's history and size of fanbase far outweighs that of Chelsea and should command a much bigger price.","The hope for many of the club's fans is now that someone will be willing to pay it to finally see the back of the Glazers for good.","kca\/nr"]