My while loops only cover the the number of times a particular mode has been set (eg: +qoao RusselB tim2 navada nobody)
+q is set once for RusselB
+o is set twice, once for tim2, and once for nobody
+a is set once for navada

That's the only thing my while loops do. They ensure that all occurances of a single mode are covered, rather than just the first one.