accounted for empty and negative counts