```\nfunction initialize(address pauserAddress) public virtual initializer {\n \_\_ERC20\_init("pSTAKE Token", "PSTAKE");\n \_\_AccessControl\_init();\n \_\_Pausable\_init();\n \_setupRole(DEFAULT\_ADMIN\_ROLE, \_msgSender());\n \_setupRole(PAUSER\_ROLE, pauserAddress);\n // PSTAKE IS A SIMPLE ERC20 TOKEN HENCE 18 DECIMAL PLACES\n \_setupDecimals(18);\n // pre-allocate some tokens to an admin address which will air drop PSTAKE tokens\n // to each of holder contracts. This is only for testnet purpose. in Mainnet, we\n // will use a vesting contract to allocate tokens to admin in a certain schedule\n \_mint(\_msgSender(), 5000000000000000000000000);\n}\n```\n