add set data type support(unfinished)