function createMarket(
        string question, uint32 timeout, uint32 opening_ts, address asker, uint256 nonce,
        address designated_reporter
    ) 
        onlyInitialized
    external payable {
        
        bytes32 question_id = keccak256(keccak256(template_id, opening_ts, question), this, timeout, asker, nonce);

        require(realitio_questions[question_id].bounty > 0, "Arbitration must have been requested (paid for)");
        require(realitio_questions[question_id].augur_market == IMarket(0x0), "The market must not have been created yet");

        
        _callAugurMarketCreate(question_id, question, designated_reporter);
    }