cmp is a builtin, how foolish of me to override it