Start again. Begin to walk in such a way that the dog is at an angle beside you or is behind you. As the dog catches up, drop the food behind you (or next to your pant leg). Once the dog has eaten the food and is coming back toward you, start walking away from him again. Try for more steps before dropping. Timing is everything! Don't let the dog get in front of you. If he does, pivot away, wait till he catches up BUT is next to you or slightly behind you (or his nose is at your pant seam), and drop the food.
Now it's your job to increase the number of steps before dropping the food behind you. Never drop food if your dog has gotten in front of you. Work towards walking more steps before rewarding. You can vary this and reinforce while he is next to you if you wish, or toss the treat way behind you so the dog has to hunt for it and then reinforce him for catching back up to you.
As your dog gets better and you can now walk quite a distance without forging and pulling, don't fail to reward intermittently. For your dog to walk without pulling he has to believe (because you rewarded him) that there is a better chance of good things near you than in the wide world. Use the long line if you have to control your dog and are not taking a walk. Remember, if you never let the leash get tight, your dog won't learn that he can pull you. What he doesn't know won't hurt him or you!