add the API function