better triangle / poitn based shape creation