Once Upon a Time ratings have been going down, but Sunday's episode provided a twist that just might give the series a boost.

In a soap opera-esque plot, it is revealed that Josh Dallas' prince character is, in fact, a twin. His brother was given by Rumpelstiltskin to the king, taken from their peasant parents who gave him up to save their farm.

Years later, one twin is living the prince life and working to defeat dragons and protect his kingdom while the other is a happy herder. Both sons, it turns out, are pretty nice guys.

But when the prince dies, the kingdom's future is in jeopardy. Coincidentally, the farm is in trouble again, so the shepherd son replaces his dead brother, a transaction brought to completion by Rumpelstiltskin. Much to the shepherd's dismay, he is forcibly betrothed to a haughty princess played by Anastasia Griffith.

That story line ends with their carriage going through the forest, with a concealed Snow White looking as if she plans to rob them.

Meanwhile, in Storybrooke, David Nolan (the shepherd-turned-prince) is very much in love with Mary Margaret Blanchard (his past wife, Snow White). She resists him because he is still married, but eventually they decide to meet up at the toll bridge where she found him. He gets lost on the way, and is pushed in the direction of Mr. Gold's antique shop by no other than Mayor Regina Mills. A small model windmill at the shop prompts a memory and when he meets Mary he tells her he wants to work on his marriage, much to her heartbreak.

So far in the series, Mayor Regina Mills, played brilliantly by actress Lana Parrilla, has been made to be the bad person, but Rumpelstiltskin is giving the Evil Queen a run for her wicked card. As Rumpelstiltskin, actor Robert Carlyle makes his intentions quite clear: he relishes providing short-term help to the desperate in exchange for favors. As Mr. Gold, Carlyle is far more subtle -- and an even bigger threat.