I recommend using a harness and starting with a regular leash, not the retractable ones. And start with the leash short enough where your puppy can only walk beside you. Once he understands that you are walking him and you are leading him, you can give him a little more leash, as long as its loose. If he starts pulling, take some of the leash length away. Eventually he will get it. That worked for my puppy and now at 7 mo, she can walk on a "lose leash" when it is long and she rarely pulls. I still haven't upgraded to a retractable leash as yet though...