fix function signature, add get_geometry_area