updated equality operator