Add Equals method and more test coverage