Let’s start with what we know: The Browns are bad. They’ve been pretty bad since their 1999 resurrection, but never more so than this season, when they were historically bad. They played 16 games, and won none of them. 0-16. They scored the fewest points of any team in the NFL, and allowed the second most. Even if you take a step back from this failure of a season, the Browns don’t get any better to look at. Ten teams in NFL history have finished with 15 losses. One of them was the 2016 Browns, meaning that by failing to win a single game this year, not only did Cleveland record one of the worst campaigns in football history, but it also completed the worst two-year stretch of all time.

It’s incredibly difficult to go 0-16. Losing games is easy. Losing every game isn’t. It takes not only a constant stream of poor decision-making and execution, but all-around disastrous luck. And that’s exactly what Cleveland had. Injuries throughout the defense and along the offensive line thinned the Browns depth chart, and they faltered in every close game they played.

The Browns lost six one-score games this year, starting with a 21-18 defeat at home against Pittsburgh to open the season. A costly interception deep in Steelers territory and an inability to stop Pittsburgh’s final clock-chewing drive doomed DeShone Kizer’s debut. Two weeks later, they lost to the lowly Colts, 31-28, as another comeback attempt sputtered. Kizer threw two second-half interceptions in Indianapolis territory, and a third deep in his own on the game’s final drive. And the same happened again in Week 5, when the Browns lost a second-half lead to the Jets and never recovered in a 17-14 loss.

Even when trying to improve, the Browns managed to make themselves the punch line. On Halloween, just minutes before the 4 p.m. ET trade deadline, Cleveland reportedly failed to send second- and third-round picks in the 2018 draft to the Bengals for backup quarterback A.J. McCarron. First reports suggested the Browns were so elated over the agreement that they forgot to confirm the deal with the league office. Later investigations indicated that they’d sent the right paperwork to Cincinnati, only for the Bengals front office to fax the wrong documents to New York.

But the most gut-wrenching moment would come in Week 14, when Cleveland wasted a vintage Josh Gordon performance in a loss to the Packers. After holding a 14-point advantage early in the fourth quarter—their largest lead of the season—the porous Browns defense allowed Brett Hundley to slice them up not once, but twice. When DeShone Kizer attempted to lead a game-winning drive in overtime, he was intercepted. Six plays later, Hundley found Davante Adams, and the Packers scored again.

Despite trying week after week to finally notch a victory, their efforts earned the same final record the team would’ve had if it had forfeited every Sunday. When the Lions completed their 0-16 season, the Lions desperately tried to stop the losing, but they failed. When the Browns limped into the locker room Sunday, losers for a 16th and final time, it’s likely they felt the same. Their last effort ended on the Pittsburgh 27, when Corey Coleman dropped a wide-open ball on fourth-and-2, sealing Cleveland’s sixth one-score loss of the year.

In the end, Cleveland lost every game because that’s what it was built to do. After losing all but one game in 2016, the Browns made only minimal alterations to a bad roster. Instead of drafting a quarterback like Deshaun Watson, they settled on DeShone Kizer. Rather than giving Myles Garrett a defensive partner, they gave Haden away for nothing. Maybe if Gordon came back sooner, or Thomas had stayed healthy, or Haden had stayed around, or the trade for McCarron had gone through, they’d have finished at least one game as winners. But they didn’t. And the Browns didn’t. The legacy of this Browns team—like many before it, and possibly many to come—is failure. And based on what they showed this season, it will be some time until that changes.