implement n_sided_polygon in issue #7