finished collective datatype