Just a small thing, but if the result of a digitalRead is not HIGH, why bother testing to see if it is LOW?