!isset on a zero length string for hash gives false, we need to check definition AND length