added model.repeat(), support dual polygons