A married man raped two young girls as they slept over at his house.
Joseph Holmes pounced on the victims aged 12 and 14 at the property in Rattray, Aberdeenshire, between January 1999 and December 2020.
The 64-year-old former lorry driver also sexually assaulted two more girls at the same time and place including in his attic.
The offences only came to light when one of the rape victims handed her mum a note of what happened to her and it sparked a full investigation with more victims coming forward.
Holmes pled guilty to raping the two victims as well as a series of sexual assaults on one of them and the two other girls at the High Court in Glasgow on Thursday.
He separately admitted using lewd, indecent and libidinous practices on the other rape victim.
The court heard a 14-year-old victim stayed over frequently at Holmes during the coronavirus pandemic.
During that time he exposed himself to her and forced her to perform a sex act on him and he did the same to her.
Holmes tried to rape the girl and forced himself on top of her as she slept in the early hours of December 2, 2020.
Prosecutor Michael McIntosh added: “She struggled with him, trying to punch and kick him.”
However, Holmes overcame the struggle and raped the girl.
Mr McIntosh said: “The girl recalls crying when he left [the room].
“The girl returned home and her mother noticed she became very upset.
“She left the room and returned with a note which said what Holmes had done to her.
“Her mother tried to explore what happened and she said he had done things to her for some time.
“She disclosed what happened that morning to her family and the police were contacted.”
The report sparked a wave of further females coming forward to report being victims at the hands of Holmes.
The court was earlier told Holmes struck in January 1999 when he led his first 12-year-old victim, into an attic and groped her.
She would also be touched in bed as she “pretended to be asleep.”
The girl was also forced to touch Holmes who took “any chance he got” to pounce on top of her.
Another victim recalled being “frightened and uncomfortable” in Holmes’ presence.
She was repeatedly groped in a bed by Holmes including as she also pretended to be asleep between the ages of 12 and 14.
The girl also said she had been raped by Holmes.
Prosecutor Michael McIntosh said: “On learning he had been arrested for sexual offences, she came forward to report to the police the abuse she experienced including being raped.”
Another victim, now aged 27, recalled being kissed on the lips by Holmes. She was also repeatedly groped over and under her clothing.
She went to the police to report the matter in June 2009 but Holmes was released as no one else had came forward at the time.
Holmes went on to expose himself to an 11-year-old girl who also stayed over at his property during the pandemic.
Sentence was deferred until the end of the month for background reports by judge Lord Armstrong.
He labelled the crimes as “grave” before putting Holmes on the sex offenders register and continuing his remand in custody meantime.