working on set operator
enhance Set struct