all i have to say is do you do time outs? do you have a crate or a room he normally goes in? In you're situation soon as the dog put his mouth on me i would say "to bad" or any word of you're choosing and give him a time out, only has to be a coouple of minutes long. then if he reaffends when he comes out he goes in for longer, same with the barking straight into a time out. Saves you having to yell over him, or discipline any other way, its a calm punishment and the pup will soon learn he doesnt want to be doing that. i would also teach him leave it and try saying leave it initially then if he doesnt respond comes the "to bad" and his time out, he'll soon learn the pattern