fix yield, add custom diameter