fix potential bug for data 0, false value