add shapefile support and example