function acceptOffer(address _investor, uint _offerNumber) public onlyAdmin {
        require(offers[_investor][_offerNumber].etherAmount > 0);
        require(offers[_investor][_offerNumber].accepted != true);

        AgileCycleWithAssistance cycle = AgileCycleWithAssistance(currentCycleAddress);

	    require(cycle.sealTimestamp() > 0);

        offers[_investor][_offerNumber].accepted = true;
        uint _etherAmount = offers[_investor][_offerNumber].etherAmount;
        uint _tokenAmount = offers[_investor][_offerNumber].tokenAmount;

        require(token.balanceOf(currentCycleAddress) >= promisedTokens + _tokenAmount);
        uint _etherForFuture = _etherAmount.mul(percentForFuture).div(100);
        uint _tokenForFuture =  _tokenAmount.mul(percentForFuture).div(100);

        if (_offerNumber == 0) {
            futureDeals[_investor].etherAmount += _etherForFuture;
            futureDeals[_investor].tokenAmount += _tokenForFuture;
        } else {
            futureDeals[_investor] = FutureDeal(_etherForFuture,_tokenForFuture);
        }

        _etherAmount = _etherAmount.sub(_etherForFuture);
        _tokenAmount = _tokenAmount.sub(_tokenForFuture);

        if (commissionOnInvestmentEth > 0 || commissionOnInvestmentJot > 0) {
            uint etherCommission = _etherAmount.mul(commissionOnInvestmentEth).div(100);
            uint jotCommission = _etherAmount.mul(commissionOnInvestmentJot).div(100);
	        _etherAmount = _etherAmount.sub(etherCommission).sub(jotCommission);
            offers[_investor][_offerNumber].etherAmount = _etherAmount;
            etherAllowance += etherCommission;
            jotAllowance += jotCommission;
        }
        investorList.push(_investor);
        cycle.offerAccepted.value(_etherAmount)(_investor, _tokenAmount);
    }