added a SortedSet implementation