Working for multiple geometries