function McFlyCrowdsale(
        uint256 _startTimeTLP1,
        uint256 _startTimeTLP2,
        address _wallet,
        address _wavesAgent,
        address _fundMintingAgent,
        address _teamWallet,
        address _bountyOnlineWallet,
        address _bountyOfflineWallet,
        address _advisoryWallet,
        address _reservedWallet
    ) {
        require(_startTimeTLP1 >= block.timestamp);
        require(_startTimeTLP2 > _startTimeTLP1);
        require(_wallet != 0x0);
        require(_wavesAgent != 0x0);
        require(_fundMintingAgent != 0x0);
        require(_teamWallet != 0x0);
        require(_bountyOnlineWallet != 0x0);
        require(_bountyOfflineWallet != 0x0);
        require(_advisoryWallet != 0x0);
        require(_reservedWallet != 0x0);

        token = new McFlyToken();

        startTimeTLP1 = _startTimeTLP1; 
        endTimeTLP1 = startTimeTLP1.add(daysTLP1);

        require(endTimeTLP1 < _startTimeTLP2);

        startTimeTLP2 = _startTimeTLP2; 
        endTimeTLP2 = startTimeTLP2.add(daysTLP2);

        wavesAgent = _wavesAgent;
        fundMintingAgent = _fundMintingAgent;

        wallet = _wallet;
        teamWallet = _teamWallet;
        bountyOnlineWallet = _bountyOnlineWallet;
        bountyOfflineWallet = _bountyOfflineWallet;
        advisoryWallet = _advisoryWallet;
        reservedWallet = _reservedWallet;

        totalETH = wavesTokens.mul(priceTLP1.mul(65).div(100)).div(1e18); 
        token.mint(wavesAgent, wavesTokens);
        token.allowTransfer(wavesAgent);
    }