moved to set-based representation