# PoolInitializer

### Functions[​](https://docs.uniswap.org/contracts/v3/reference/periphery/base/PoolInitializer#functions) <a href="#functions" id="functions"></a>

#### createAndInitializePoolIfNecessary[​](https://docs.uniswap.org/contracts/v3/reference/periphery/base/PoolInitializer#createandinitializepoolifnecessary) <a href="#createandinitializepoolifnecessary" id="createandinitializepoolifnecessary"></a>

```solidity
  function createAndInitializePoolIfNecessary(
    address token0,
    address token1,
    uint24 fee,
    uint160 sqrtPriceX96
  ) external returns (address pool)
```

Creates a new pool if it does not exist, then initializes if not initialized

This method can be bundled with others via IMulticall for the first action (e.g. mint) performed against a pool

**Parameters:**[**​**](https://docs.uniswap.org/contracts/v3/reference/periphery/base/PoolInitializer#parameters)

| Name           | Type    | Description                                                          |
| -------------- | ------- | -------------------------------------------------------------------- |
| `token0`       | address | The contract address of token0 of the pool                           |
| `token1`       | address | The contract address of token1 of the pool                           |
| `fee`          | uint24  | The fee amount of the DragonswapV2 pool for the specified token pair |
| `sqrtPriceX96` | uint160 | The initial square root price of the pool as a Q64.96 value          |

**Return Values:**[**​**](https://docs.uniswap.org/contracts/v3/reference/periphery/base/PoolInitializer#return-values)

| Name   | Type    | Description                                                                                                           |
| ------ | ------- | --------------------------------------------------------------------------------------------------------------------- |
| `pool` | address | Returns the pool address based on the pair of tokens and fee, will return the newly created pool address if necessary |
