It's the big reveal that Emmerdale fans have all been waiting for...
The secret about Vinny Dingle's true identity was finally revealed in last night's Emmerdale, and fans were in tears at the episode.
Emmerdale fans have watched as Vinny covered for Samson after he pawned his dad's wedding ring to pay for a school trip to France to see his girlfriend.
When Lydia found the receipt from the pawn shop, Sam was livid... and Vinny took the blame for the stunt knowing that it would be better for him to be thrown out of the Dingle house than Samson.
However, today's Emmerdale sees Sam throwing Vinny out of the house in a fit of rage, leading to Samson coming clean about the fact it was him who went to the pawnshop and not Vinny.
As the Dingles sat down to have it out with Samson over his betrayal, Vinny was glad to be off the hook, but it was clear there was something else bothering him.
All the talk of secrets and lies then lead Vinny to make a huge confession... that he isn't a true Dingle.
While Mandy tried to stop him from confessing the truth, Vinny was determined to come clean and admitted that Mandy wasn't his biological mum, but had raised him since he was 9 months old.
Mandy finally confessed that she was dating Vinny's dad when he did a disappearing act, leaving her with the choice of taking nine month old Vinny on as her own, or handing him over to social services - and she chose to become the mum that Vinny never had.
The whole scene was full of emotion, and fans loved every minute...
As Sam welcomed Vinny into the Dingle fold with a handshake, there were celebrations all round, especially for Vinny who finally belonged to a family after all this time.
But where will this lead him going forward? Could the mention of his long-lost dad be a hint to a future storyline?
Emmerdale airs weeknights at 7pm on ITV, with an extra episode at 8pm on Thursdays.
Get the latest updates, reviews and unmissable series to watch and more!
Thank you for signing up to Whattowatch. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.