Now supporting python3.4. Using @implementer instead of implements. Sorting parameter 'cmp' has been removed in order to use 'key' only. Added 'cmp' function, to cope for the absence in python3