updated __eq__