Supports different body data type