updated triangle methods