wrap the api