The third and fourth seasons of Arrow didn’t live-up to the strength of the first two seasons, but the fifth season became a soft reboot for the CW drama. As the show was nearing its 100th episode, participating in another big crossover, Arrow tried to reconnect with what made the show work in the beginning. Rather than going with another super-powered big bad, the fifth season went back to having a villain grounded in reality by making it be someone that Oliver Queen (Stephen Amell) was responsible for creating.

Season 5 was also used to conclude Oliver’s 5-year-long origin story in the flashbacks. From introducing new team members to a complex antagonist in Prometheus (Josh Segarra), the fifth season became one of Arrow’s most well-received years since season two. With that said, these are the best and worst episodes of Arrow season five.

WORST: A Matter of Trust (Episode 3)

As Oliver was finally open to kicking off the next generation of Team Arrow, it was easier said than done. While A Matter of Trust is mostly about team building, it also introduces a new recurring foe in Derek Sampson (Cody Runnels), reuniting Amell and the former wrestler on-screen. For a season that was meant to be grounded, they still introduced a super-powered.

The episode also suffers from the way Wild Dog (Rick Gonzalez) was written. While Rene becomes much better as the season progresses, the beginning of season five wasn’t the greatest time for the newcomer.

BEST: Legacy (Episode 1)

This season premiere made it very clear that it was moving past things that didn’t work in the last two seasons to start a new chapter. Despite not being game for it at first, Felicity (Emily Bett Rickards) finally gets Oliver to re-start Team Arrow since he can’t protect Star City on his own.

Legacy also begins the final flashback chapter when he gets to Russia while in the present setting up one of the show’s most powerful villains of all time. This episode’s tone felt very much in line with season one and two, which only benefited the premiere.

WORST: The Sin-Eater (Episode 14)

As Arrow had introduced Dinah Drake (Juliana Harkavy) to become the next Black Canary a few episodes prior, the fourteenth episode gave us a team-up of female villains. We saw the return of Carrie Cutter/Cupid (Amy Gumenick), China White (Kelly Hu), and Liza Warner (Rutina Wesley) as they broke out of Iron Heights, causing trouble for our heroes.

What could have been a solid hour with multiple female villains instead gave the trio one boring motive: getting money. The idea of having three established baddies returning just to go after money is just lazy and uninspired.

BEST: Human Target (Episode 5)

While the character had a short-lived run on FOX, the Arrowverse introduced its version of the DC character Human Target (Wil Traval.) In the season’s fifth episode, Christopher Chance is introduced when Oliver tries to lure Tobias Church (Chad L. Coleman) out of hiding.

Chance disguises himself as Oliver who “dies” at the hands of Tobias’ assassin, making the foe think he had finally killed the Green Arrow. This episode really made a good case for how fun the Human Target character can be and the way they introduced him just fit in perfectly with the season.

WORST: Dangerous Liaisons (Episode 19)

Though they shared the same goal of stopping Prometheus, Felicity and Oliver had clashing methods. Lacking support from Team Arrow, Felicity finds new allies in the hacktivist Alena (Kacey Rohl) and the organization Helix, who help her in exchange for a few favors that in turn sets up one of the biggest enemies for season six.

All of this is easier said than done when most of Team Arrow is not on Felicity’s side. This pits her against her friends when Felicity helps Helix breaking Cayden out. Despite getting the tool, it’s still an extremely dramatic situation for an episode.

BEST: Kapiushon (Episode 17)

As it had become evident how different Adrian Chase was as a big bad, our hero had to be challenged in a new way. Adrian didn’t want to kill Oliver, but he made the Green Arrow wish for death.

Through a long process of torture, Adrian demands that Oliver reveal the secret that he hasn’t admitted to others and himself. Eventually, Oliver breaks and admits that he kills people because he enjoys it. This was all Adrian needed to hear as Oliver is later released and returns to his team to let them know that Team Arrow is over.

WORST: Underneath (Episode 20)

It was only a matter of time before the fifth season delivered a big Oliver and Felicity centered episode. That is exactly what happened with the twentieth episode, where the two of them get trapped in the bunker thanks to Adrian. The plot itself wasn’t the big problem as it was more about where Underneath was placed in the season.

When you get to your final three episodes of the season, it’s important to focus on the central plot itself rather than address something that could have been dealt with many episodes ago.

BEST: Invasion! (Episode 8)

During the big Invasion! crossover, Arrow hit its milestone episode with the show’s 100th installment that celebrated the Green Arrow drama’s past, present and future. As Oliver and several long-time Arrow characters get put into a shared hallucination by the Dominators, we see our heroes live their dream lives.

From the return of several favorite characters to Oliver’s emotional journey, it became an essential episode for our hero as he focused on letting go of his dark past, embracing the present and aiming for a brighter future. The 100th episode was as remarkable as we wanted it to be.

WORST: Spectre of the Gun (Episode 13)

While the fifth season spent a lot of time with Oliver as the mayor of Star City, the thirteenth episode’s attempt at hitting a topical issue was a mixed bag. Spectre of the Gun was all about gun control in Star City, with several characters coming from different sides on the topic.

The biggest issue here was its randomness, as it wasn’t status quo for Arrow to do episodes that addressed topical issues. Rather than using the season to slowly get into that theme, it was dropped on the viewers, hence why there haven’t been more episodes like it since.

BEST: Lian Yu (Episode 23)

This finale’s ultimate showdown took place where it all for Oliver, as Team Arrow battled Prometheus and his allies on Lian Yu. From several epic guest spots including Deathstroke (Manu Bennett), the finale lived up to the hype.

This is where it was made perfectly clear how brilliant a villain Adrian was as he revealed his final surprise to Oliver. While Oliver saved his son William, Adrian got Oliver away from the island where his entire team was still stuck at as Adrian blew Lian Yu up, ending the season on one of the biggest cliffhangers of all time.