Use compare to DRY up the code and play better in the Objective-C world