base delegate