Take the dogs walking separately. They perform much better when they are not in a "pack" together.
When the dog gets in front of you, simply turn and walk the opposite direction. The idea is to keep the dog's attention on you by changing directions frequently and letting the dog know that YOU are leading the "hunt" or walk, not the dog, so he must follow you. If he veers to the right, walk to the left. If he gets ahead or chases after a squirrel, turn and go the opposite direction. Bad behavior (pulling ) will get him nothing. Good behavior, walking nicely and heeling, will get him praise, treats or a chance to sniff and explore (real world rewards).
Again, I suggest "The Dog Listener."
Good luck.