
When he barks at strangers when you're out, what do you do? How do you react? How much exercise do you give him? I would practice doing lots of 'sits' and 'downs' when you're in the house (in every different room), then in the garden, then when you're out. (Lots of dogs genuinely believe that "sit" is something that is only done in one particular place (training class!) and nowhere else!)
When he pulls on the lead change direction, sing out "This way!!" and
walk quickly! I see many people out walking their dogs
far too slowly. Step out briskly - get his little legs blurring! And take treats or a squeky toy or something to attract his attention, preferably
before he reacts to another dog or person.
:)