implementing the api for cocktail