I’d start with the basics. Will your dog sit and stay when you tell him too (or what ever commands you’ve taught him)? If he won’t, then he has no respect for you and sees nothing wrong with snarling at you. If you haven’t taught him anything then I believe that’s where you need to start. He needs to know that when you tell him to do something you expect him to do it. Do basic exercises that involve him having to obey you. Make it fun and enjoyable for him, short and sweet. But if he decides the he doesn’t want to obey you he should be held accountable. If you tell him to stay, he should stay and be corrected if he does not. Do this with everything. He should start to respect you and understand you are the boss. That is where I’d start, just to make your relationship better. For the snarling, I’d counteract the behavior by teaching a “drop it” or “out”. Give him something he likes and have something better in your hand to reward him with (that way he’ll be willing to drop it). Once you know he understands the command I’d start correcting him when he doesn’t drop it, but I’d still keep it fun for him! With a better relationship and the understanding of an out command you should be able to take things away from him without him snarling. But it all depends on your effort, consistency is key. If he is truly aggressively resource guarding, it might be more then you can handle, but if he is just being a brat he should be fine if you work hard. My advice is for the snarling. Everybody has their own opinions, that is mine. Some will tell you to never correct a dog, but that, in my opinion, does not address the root of the problem, which is most likely lack of respect. If you are just teaching a new behavior then positive reinforcement only works great. I would NEVER correct or punish a dog while they are learning, it is unfair and the dog doesn’t understand. Once the dog fully understands the behavior and just chooses not to, is when I would. But if you are modifying behavior, positive only rarely works. This is just my opinion. Hope you can get it figured out!