fixed __eq__ and __ne__