Whats been working really good with Joel is I praise him constantly during the walk every time he's facing forward and/or not pulling. And he walks perfectly now, atleast when it's just me and him,lol
But At first I would ignore the pulling or whatever negative he's doing and when he is walking good I say "good boy, walk" so now he knows if he's about to pull or gets destracted I tell him "walk" and he knows it means to face forward. Also when he would be looking at a dog and getting excited, I would wait and when he looks away I would praise him, so now when we walk he'll look at something and look away without even pulling. I think it's easier for them to learn whats good first and they'll choose it over the wrong stuff rather then first telling them what not to do. That also works on other things too. Thats what works for Joely atleast.