Don't give the leash a lot of slack. Don't have a ton of leash hanging down where the dog can get at it because that will just be a temptation for him. Our puppy trainer suggested that you distract him with treats so he doesn't try to go for the leash.
Your dog should always be walking by your side. Not pulling ahead or falling behind but right by your side.
A good way to get this result is by given your dog a short leash when you walk them so he is forced to be by your side. If they start to jet forward walk the other way so they continue to follow. And soon enough they will have it down. Hope this helps worked with my silky and border terrier.
Keep the leash shorter and when your dog walks ahead let the leash out more and when your dog gets closer bring it in but you also want to swivel the leash around your head so you don't have to keep spinning around during the walk!