Here's a reminder that talking to kids and explain a situation like one would do with an adult is way more effective than yelling at them.
So, I work at a martial arts after-school program. At the end of every class the instructors play a game with the kids, these games help teach teamwork, focus, techniques or just get the last of that energy out. One of the games is called over and under. We line them up give them a punching pad and they pass it over their heads then between their legs to the end of the line the person in the back runs to the front and starts it all over again. The goal is to be the first team to end up in the same order you started. Well, when I started working there one of the older kids got frustrated with the little kids, their lack of understanding and poor timing cost his team a win. He snapped at one of them and made her cry. After class I pulled him aside and explained calmly that he wasn't in trouble, and I wasn't mad at him, but he had to be more understanding with the younger kids' things are a little harder for them and they are still learning, he nodded and said he understood, he even looked a little embarrassed. Well recently we were playing different game and once again one of the little kids cost his team a win and low and behold instead of being angry and snapping at them again be just clapped, smiled and said, "Nice job (kids name)." And when one of then started to cry because they lost, he told them "It's okay we'll try again next time."
I've noticed that yelling just makes them afraid or angry and they're too busy being scared or mad to really grasp what you're saying. Children are just adults that need a little more direction. No adult likes to be scolded and its generally frowned upon to yell at each other so why is it okay to scold and yell at children? They are people too and can respond just as well to calm and gentle explanations.