added more granular delegate methods