# Shuffler Creation

To create a Shuffler one will have to fill the following fields:&#x20;

`initialOwner`

`initialTimelock`

`asset`

`name`

`symbol`

`salt`

{% code overflow="wrap" %}
```solidity
function createShuffler(
        address initialOwner,
        uint256 initialTimelock,
        address asset,
        string memory name,
        string memory symbol,
        bytes32 salt
    ) external returns (IShuffler shuffler) {
        shuffler =
            IShuffler(address(new Shuffler{salt: salt}(initialOwner, MORPHO, initialTimelock, asset, name, symbol)));

        isShuffler[address(shuffler)] = true;

        emit EventsLib.CreateShuffler(
            address(shuffler), msg.sender, initialOwner, initialTimelock, asset, name, symbol, salt
        );
    }
```
{% endcode %}
