notes for set implementation