handle the HASH ref condition too
redundant check
redundant check
use || and not or
use || not or (and improve the conditional)
fix Moxie