updated delegate