Might be easier to read if this were split up in to an if statement, rather than an and-or statement