Once Upon a Time revealed Rapunzel's (Meegan Warner) cursed identity and it completely changed the game.

It turns out that Rapunzel was actually the very young version of Lady Tremaine (Gabrielle Anwar) — meaning that her cursed identity is also Victoria Belfrey.

In flashbacks, Gothel (Emma Booth) found a young Rapunzel traipsing through her garden one night in search of food for her dying husband Marcus (Matty Finochio) and their two daughters, Drizella and Anastasia. When Rapunzel confessed she'd do anything to make sure that her family would have a better life, Gothel locked her in the infamous tower in the hope of proving that Rapunzel would have the true heart of the guardian — the one person able to take the Dark One's power without killing him or turning evil themselves.

Rapunzel eventually used her hair to escape from the tower and make it back to her family. Six years had passed before she was able to return to them though and her daughters were nearly grown. Marcus had moved on by marrying Cecilia (Cindy Luna) and adopted her daughter, Ella (Alejandra Perez). Rapunzel was then forced to try and reconnect with her daughters as she watched another woman take her place in the family.

Meegan Warner, <em>Once Upon a Time</em>Meegan Warner, Once Upon a Time

Mother Gothel arrived once more with another test for Rapunzel. She offered the distraught mother a way to get rid of Cecilia and make it easier to reclaim her place as matriarch of the family. Rapunzel initially refused to take the bait, but when Drizella — who was too young when Rapunzel initially left to have any warm and fuzzies about her return — refused to accept Rapunzel back into her heart, Rapunzel caved and used Gothel's Wonderland mushroom to send Cecilia off running.

That could have made Rapunzel's happy ending, but all magic comes with a cost. Later, Rapunzel and Marcus took all three of the girls to play on a frozen pond. The thin ice cracked and both Ella and Anastasia went tumbling through the ice. Marcus jumped in to save them but was only able to save Ella from the frozen depths. Rapunzel fetched her own daughter and took her frozen body to Mother Gothel who trapped the girl's last breath to allow Rapunzel time to reawaken her. Instead of a thank-you though, Rapunzel locked Gothel herself in the tower where she'd eventually meet Hook (Colin O'Donoghue) — and you know how the story goes from there.

That's an awesome backstory! But what does it mean for everyone in the non-magical Hyperion Heights still trying to figure out what's going on?

For one thing, we now have a deeper insight as to why Victoria and Ivy (Adelaide Kaine) have such an icy relationship. Ivy, the Hyperion Heights version of Drizella, still feels bitter about her mother leaving the family when the girls were so young and Victoria favored Anastasia because Anastasia was the only one to welcome back Rapunzel as if nothing had ever happened.

In the more practical sense, Victoria teamed up with Weaver (Robert Carlyle) to get out of jail and was able to use her plight as a deceived mother to win Lucy's (Alison Fernandez) sympathy. Once Lucy was on her side, Victoria dashed Lucy's dream of her own family reunion with a video of Jacinda (Dania Ramirez) and Nick (Nathan Parsons) kissing, making it seem like there was no chance for Jacinda and Henry (Andrew J. West) to ever get back together. She conned Lucy into giving up her belief and then woke comatose Anastasia with Lucy's tears. Again, all magic comes with a cost, so once Lucy's belief was used to wake Anastasia, Lucy fell victim to some sort of sleeping curse in Jacinda's arms.

Is it possible for Anastasia and Lucy to exist at the same time or will one mother have to give up a beloved daughter for the other? We'll have to wait for those answers and more when the witches face off in next Friday's winter finale.

Once Upon a Time's winter finale airs next Friday at 8/7c.