delegate method add