needed for remainder comparisons