upgraded the API