support multiple points, lines, and polygons