I'd try a halter. They give you more control, but don't pull on the neck. When you've got his leash on him, take a few steps away from him and call him to you. When he comes, praise him, repeat it a few times, then try calling him to come with you while you are walking slowly. Every time he walks with you, pet him and make it a big deal. Increase the length of the little walks until you can keep him walking, maybe by talking to him while you are walking with him.