reorganize the internal request and add number type