added equals and hashcode for set implementation
updated IO test case