this is core (since 5.000!), but we might as well be explicit