added a set datastructure
added hover and select