```\nfunction setUTokensContract(address uAddress) public virtual override {\n require(hasRole(DEFAULT\_ADMIN\_ROLE, \_msgSender()), "LP9");\n \_uTokens = IUTokens(uAddress);\n emit SetUTokensContract(uAddress);\n}\n\n/\*\*\n \* @dev Set 'contract address', called from constructor\n \* @param sAddress: stoken contract address\n \*\n \* Emits a {SetSTokensContract} event with '\_contract' set to the stoken contract address.\n \*\n \*/\nfunction setSTokensContract(address sAddress) public virtual override {\n require(hasRole(DEFAULT\_ADMIN\_ROLE, \_msgSender()), "LP10");\n \_sTokens = ISTokens(sAddress);\n emit SetSTokensContract(sAddress);\n}\n\n/\*\*\n \* @dev Set 'contract address', called from constructor\n \* @param pstakeAddress: pStake contract address\n \*\n \* Emits a {SetPSTAKEContract} event with '\_contract' set to the stoken contract address.\n \*\n \*/\nfunction setPSTAKEContract(address pstakeAddress) public virtual override {\n require(hasRole(DEFAULT\_ADMIN\_ROLE, \_msgSender()), "LP11");\n \_pstakeTokens = IPSTAKE(pstakeAddress);\n emit SetPSTAKEContract(pstakeAddress);\n}\n```\n