Revert "use internal polymorphic compare"

This reverts commit 2ddc66ef7f0967e30971a1d3b884d2f59444da9f.

http://stackoverflow.com/a/20348513
Relying on the logic in poly compare is bad style after all.
Merge pull request #27 from mirleft/fix

Revert "use internal polymorphic compare"