introduces delegate