Return booleans
Results of running 2to3
UTF-8 issues
cmp is no longer available in Python3, use lambda instead