overrided equals and toString in core layer