See alternate solution: no need to use the compare: method