removed __compare magic method, and added operator< instead