Implemented equals and updated add