finish delegate methods