generate datatype.