wow, I'm surprised this doesn't need parentheses, with the && and || right next to each other.