All of terminology done except the enumeration subconstraints