delegates output parameters add chain sub remove