```\nfunction mint(address to, uint256 _tokenId)\n    external\n    payable\n    whenNotPaused\n    requireState(DrawState.Closed)\n{\n    uint256 received = msg.value;\n\n    require(to != address(0), "DCBW721: Address cannot be 0");\n    require(\n        received == _mintPrice,\n        "DCBW721: Ether sent mismatch with mint price"\n    );\n\n    validateTokenId(_tokenId);\n\n    _safeMint(to, _tokenId);\n\n    _forwardFunds(received);\n    _updateReserves(_reserves.add(received.mul(_reservesRate).div(1000)));\n\n    emit Minted(to, _tokenId);\n}\n```\n