delegate methods improved