better mode support for api type