A 98-year-old war veteran who has spent two decades fundraising on Edinburgh's streets has almost reached a million pounds.

After spending years on the Royal Mile, Tom Gilzean is now a fixture on Princes Street, where you can find him in his signature tartan trousers with his two charity cans every day, no matter the weather.

The money he has raised over the years has benefited several good causes, including veterans and the Royal Hospital for Sick Children in Edinburgh.

Tom said it all started when he met a sick little girl, and asked the children's hospital what he could do to help.

He said that it is through the generosity of the people who pass him in the streets that he has almost reached the £1m mark.

"I'm delighted, very delighted," he said. "It's taken me a long time to collect the money, but as long as I'm alive, I'll sit on Princes Street and collect when I can."

Over the years Tom has been recognised for his incredible dedication to charity.

He was awarded the British Empire Medal by the Queen in 2013, and was the eighth person to be honoured with the Edinburgh Award.

He followed in the footsteps of Sir Chris Hoy, JK Rowling and Ian Rankin - bit was the first recipient to be honoured for charity work.

"I love Edinburgh, people are very good to me, they look after me in every way," he said.

"When I was up the Royal Mile I got cups of tea - I even got a free lunch!"

After many years of being in the public eye, Tom has become quite the celebrity amongst the people of Edinburgh.

He said: "I just tried my best - I love all of the people because they've helped me so much to get the money.

"Where would I get a million pounds if I didn't come out on the streets and collect for charity?"

Tom thinks he will get to the million-pound mark in the next few weeks, and is expecting Edinburgh's Lord Provost to put the last penny in the tin.

At 98, and having dedicated so many years to his cause, some people might think that Tom would now retire from charity work and spend his time relaxing - but that is not the case.

"I'm going on for my second million, I never give up," he said.

"If I give up, I'm dead. No - I'll go on for a second million.

"I might not make it, but I'll try very hard."