add cardinality support