adjust the API