I would use a pinch collar. Contrary to what some people think, if properly used by the handler, it is a great training tool. Make sure the collar is fit and placed properly at the higher part of the neck. Train your pup by first walking with it with a loose leash, the moment your pup pulls away or barks, you much immediately give it a pull (short, but strong pull). Your dog will soon get the message and soon after will not be necessary to correct as often. Note: You must ensure to not keep your leash with tension all the time. Only do a quick pull when necessary for correction. Otherwise, your pup won't know the difference.