I have a miniature yorkshire terrior that I have owned for 5 days. He is 13 months old. The person we got him from had anxiety and could not cope with him. He is well behaved at home with the family members that live here (mum, dad and 2 small children). However, he barks, growls and sometimes snaps at all other humans, dogs, passing cars and literally any other thing that moves when he is out. This happens when both on and off the lead. He generally comes across a very aggressive and threatened dog with anyone that he doesnt know. He also doesnt like it when anyone else comes into the house and barks at anything he can hear from outside. Is there anything we can do to change this?