Your lead should be held on the side opposite to where you want your dog to be. So, if you want your dog to be on the left, then the left hand should be holding treats and the leash is in your right hand. Remember that the lead isn’t there to control the dog, only to prevent him from getting away. The hand with the food does the cueing and controlling.
When you are walking and he starts to pull on lead, stop walking! But stop walking safely. Remember the position (like a game of tug of war); knees flexed, one foot in front of the other (not side by side) and lean back.
If the distractions aren’t too much just wait for him to ‘check-in’ with you (this could take several seconds to a minute, just be patient). Avoid saying anything to him (let him figure out what he should do). The ‘check-in’ behaviour you are looking for is simply a head turn back in your direction. When your dog looks at you (or even in your direction initially) say “YES!” and reward with a treat that is delivered by your left side (you can also use your Hand Touch cue to encourage him back). This means your dog returns to you for the treat. When he has returned to your side and taken the treat you can start walking again. Eventually, he will learn that pulling stops forward motion and he needs to return to you.
Once he is getting good at this, then the treat is delivered after he returns to your side and as you start to move forward. The reward, instead of food, can be the chance to go sniff or simply the opportunity to continue the walk.
Do allow him sniffing time on the walk (great enrichment for dogs) but you decide when it’s time to move on (“Let’s go”) or that he can’t sniff at that spot.