fix hasValue bug