add delegate method