Added implementation tests
More tests
More tests, equality and hashcode