polygons implemented