added equals and equals operators and unit-tests for it