add support for sets