implementing cocktail types