return < 0 if first value should come before second value return > 0 if first value should come AFTEr second value 0 if the first and second value are equivalent
return < 0 if first value should come before second value return > 0 if first value should come AFTEr second value 0 if the first and second value are equivalent