label falls back to name if not explicit