```\nfunction claim(\n    address beneficiary // the address that will receive tokens\n  ) external validSaleParticipant(beneficiary) nonReentrant {\n    uint256 claimableAmount = getClaimableAmount(beneficiary);\n    uint256 purchasedAmount = getPurchasedAmount(beneficiary);\n\n    // effects\n    uint256 claimedAmount = super._executeClaim(beneficiary, purchasedAmount);\n\n    // interactions\n    super._settleClaim(beneficiary, claimedAmount);\n  }\n```\n