Where does one even start? ‘Arrow’ delivered its best episode to date with ‘Three Ghosts,’ a midseason finale extravaganza that found Oliver Queen dealing with his, well, three ghosts. But that’s not all —by the end of the night two bodies hit the floor, one epic villain was revealed and Barry Allen began his transition into The Flash. Oh, and did I mention that Oliver isn’t wearing that terrible eye makeup anymore? Yeah, this one was a doozy.

The episode was called “Three Ghosts” for a damn good reason. The Arrow midseason finale found Oliver Queen (Stephen Amell) confronting ghosts from his past Christmas Carol-style, after Barry Allen (Grant Gustin) saved his life with a bit of rat poison. Read all about Oliver’s shocking past — including that murderous reveal — below!

Oliver’s Three Ghosts Reveal A Shocking Murder — And Tommy!

There’s just so much I still need to wrap my head around! Let’s start with tonight’s biggest shocker — the episode’s first death (there were many) revealed a side to Oliver that we never even knew existed; a side capable of valuing one woman’s life over another. Yes, you could argue that Oliver didn’t technically tell Dr. Ivo (Dylan Neal) to shoot Shado (Celina Jade) in the head, but when he gave Oliver the choice between Shado and Sara (Caity Lotz) and Oliver clearly ran over to save Sara first, I would argue that actions spoke louder than words. Oliver and his guilty conscience would agree, and that’s why Shado appeared as his ghost of Christmas past once Barry removed the “strong-acting blood coagulant” from Oliver’s system. She represented Oliver’s self-doubt, and also revealed his dark ties to the ghost of Christmas present, Slade (Manu Bennett).

I’m sure many of you had already figured out that Slade was still alive (Manu is a regular on the show, after all) but his dominance over Brother Blood and all-encompassing hatred toward Oliver came as a bit of a shock. We were wondering how Slade became a villain, and now we know — just like everything else in life, it was all about the girl. A newly serum-ized Slade found Shado’s corpse back on the island, and the ‘roided up beefcake vowed to avenge her death. And since Oliver and Sara are terrible at looking not guilty, I’d reckon he very quickly figured out that Oliver was the man he needed to talk down.

Which is exactly what he’s planning to do, back in the present day. It turns out that Brother Blood (Kevin Alejandro) isn’t the guy pulling the strings after all — after Oliver managed to defeat Cyrus Gold (Graham Shiels), Slade revealed himself and his sinister plan for an all-out war against Starling City and, by default, Oliver. (Or was it the other way around?)

“I know exactly who he is,” a very pissed off Slade explained to Blood. “He is my friend. Death will be a release from this life, and his sentence is yet to be carried out. I’m going to tear everything he cares about away from him, destroy those who choose to follow him, and corrupt those he loves. Once he has lost everyone and everything he values, I will drive an arrow through his eye.”

That’s pretty harsh, Tai. Thank God Tommy (Colin Donnell) returned (!!!) to give Oliver an epic pep talk about being a hero. But I’m getting ahead of myself, here. After Barry, Diggle (David Ramsey) and Felicity (Emily Bett Rikards) saved Oliver from certain death, anyone and everyone started going after Cyrus Gold, and pretty much all of them failed miserably. Lance’s (Paul Blackthorne) partner Lucas ended up dead, Roy (Colton Haynes) ended up with the serum crap in his system, and even Diggle managed to garner a scrape or two. (Hey, you can’t hurt the Scoobies.)

While all of this was happening, Oliver was being visited by his ghosts — first Shado, who warned him not to fight lest he lose everyone he loves, then Slade, who somehow got Oliver to physically fight himself, and finally Tommy, who showed up just in the nick of time, as Oliver was about to give up and let Cyrus kill him.

“You didn’t let me die, Ollie,” Tommy said. “You fought to save me. Because that’s what you do; what you have always done. You fight to survive. I know I called you a murderer, but you are not. You are a hero. You beat the island. You beat my father. So fight, Oliver. Get up, and fight back.”

Sniff. I really miss you, Tommy. And not only because of your pretty blue eyes. (Though they help.)

So Oliver defeated Cyrus — much to Slade’s chagrin — but the damage had already been done. Slade and Blood are building an army with their super-serum, and as Oliver pointed out, an army’s one and only purpose is war. And right now the ball is totally in Slade’s court, since he has a growing army of super-soliders and Oliver has, well, Diggle and Felicity.

Oh, and did I mention that Laurel (Katie Cassidy) is still on this show? Because she is. But let’s move on from her, because ZZZZZZZ.

The Flash Gets His Origin Story

Meanwhile, Barry Allen was just as exciting as Laurel is not. He also continued to be the audience’s voice, as he finally said what everyone in the universe has been thinking: “Not to tell you how to do your vigilante-ing, but the grease paint thing? It’s a poor identity concealer.” YES.

But getting rid of Oliver’s Maybelline via a shiny new mask wasn’t Barry’s only accomplishment. He also saved Oliver’s life (which Oliver was kind of a d–k about, bee-tee-dubs), tracked down Cyrus for the team using his sweet CSI skills, wooed Felicity away from Oliver (a little), and murdered us all with that golden, “aw, shucks” smile.

Barry essentially asked told Felicity point-blank that he knew she had some feelings for Oliver — murky as they may be — and Barry ain’t gonna be anybody’s sloppy seconds, no matter how cute they look in glasses. He was super sweet about the whole thing of course, and even told Felicity that he completely understood why she would swoon over a guy as dreamy as Oliver. Still — “if you ever decide that Oliver Queen isn’t the guy for you, if you decide that you want to go on a date with someone else, you should know that that guy — he’ll be on time,” he said. (Admit it team Ollicity — you’re wavering!)

Felicity was definitely impressed by Barry’s confidence and maturity, and I bet she’ll be even more impressed when Barry starts to run around super fast and violate the laws of physics, because, oh yeah, Barry is The Flash now. That particle accelerator thing (ugh, science) went off in Central City, and the resulting storm struck him with lightning and knocked him out cold (again, science), which you’d think would kill him. But since Barry was in his lab with colorful, science-y beakers and things like that, you just know that something crazy is going to happen. Because science.

What did you think of the episode, HollywoodLifers? Were you happy to see Tommy’s return? Were you surprised when Oliver didn’t save Shado? Are you as in love with Barry as I am? Should out your thoughts in the comments!