refactor for zeroCheck