Overridden equals method

also removed unnecessary constructor
Added new implementations
Added new tests