add function delegate for next