Fixed equals and hashcode bugs
Fixed confusing method names and bugs. Also equals methods