porting UDT api