Bring it to me (other dog trainers available), it takes less than half an hour if you know what you are doing, I train owners, dogs get it really quickly, they just have to know what you want, and what is acceptable.
Don't use food it will cloud the issue, they can always decided one day they have had an enough food, and something else is more interesting, you have to be the focus, which is why hand commands must be used, it is their responsibility to focus on you.
dogs always look for job opportunities, at the moment the dog thinks it a scout, you have to let know you do not want it to fulfil that self appointed role,
It all ready knows your failings, you don't have smell vision, it has observed you putting your feet where no self respecting owner of a working nose would go, it's compensating for your failings.
Use an slightly(only) longer than normal lead, hold the lead by the handle in one hand at hip hight(with the inside of your wrist just above the hip bone) , never ever put your hand through that loop, it is for hanging up the lead nothing else, hands through loops lead to broken bones. run the other hand down the lead, and hold against the front of your thigh, the remained of the lead should drape down and come back up to the dog's collar so a loose loop.
Start in the sit position, as you move off give the command, 'with me" (and click the fingers of the hand on the lower part of the lead each time)if the dog's nose passes your knee, stop instantly, turn 180 degrees, "with me" and off you go, opposite direction, repeat until the penny drops, that if nose passes knee, no progress will be made, dogs like progress.
If you decide to do this, you have to be 100% consistent, no allowing the dog to pull ever again,
You also have to make sure that you walk every single inch of the surrounding square mile, dogs need a smell mind map of their home area, they crave it, so be an inspiring leader and fulfil that need,
Use your commands, not the dog's name, If I said Morrigu, Morrigu, Morrigu, Morrigu, Morrigu, Morrigu, Morrigu,Morrigu, Morrigu,Morrigu, Morrigu,Morrigu, Morrigu,Morrigu, Morrigu,Morrigu, Morrigu,Morrigu, Morrigu,Morrigu, Morrigu,Morrigu, Morrigu, you will start blanking me.
make sure anyone handling the dog is using the same commands, agree them in advance, they must easily slip off the tongue,
I don't repeat a command, they heard it, demand immediate execution of command, I don't need to say anything as they soon get the hand commands,
A dog must never walk in front of you, as it is you who should decide which route to take, how any encounters with other humans or animals should go, you who clears the adders from the route, and no one wants to walk looking up a dog's bum hole.
You may look like a loon for the first ten mins, as you barely manage to get a hundred yards from your door, but the penny drops fast, and stays dropped if you are totally consistent.
I always feel really sorry for people with dogs pulling them as it can't be an enjoyable way to walk.
All my dogs walk behind me, without leads, I only click for new learner dogs if a nose passes my knee.