```\nfunction supplyTokenTo(uint256 \_amount, address to) override external {\n    uint256 shares = \_tokenToShares(\_amount);\n\n    \_mint(to, shares);\n\n    // NOTE: we have to deposit after calculating shares to mint\n    token.safeTransferFrom(msg.sender, address(this), \_amount);\n\n    \_depositInVault();\n\n    emit SuppliedTokenTo(msg.sender, shares, \_amount, to);\n}\n```\n