add equals
update ordering