added sets, elements, and basic manipulation functions