equals overriding fix