is this delegate really needed?