it is generally good to avoid `not` in favor of `!` an `and` in favor of `&&`